Honestly, the bulk create feature in Canva is the only reason I haven't thrown my laptop out the window when it comes to Pinterest. It's janky but it works once you understand the data flow.
You need a Canva Pro account, Google Sheets (or Excel), and a Pinterest business account. Pick five or six templates - I usually go for 40 because why not. Each template needs one image, one title, one subtitle. That mapping is critical. Each thing you want to swap gets its own column in Sheets. So if a template has two images and one text, that's three columns. Write the placeholder text as "title", "subtitle" etc. just so you know what's what.
Now the Sheets part. Three columns: image, title, subtitle. Each row = one batch of however many templates you chose. Fill the text first. For images, you need to paste them into the cell - right-click > paste into cell. Don't just stick them in the cell as a link. Paste them. This matters.
Once the sheet is full, export as an Excel workbook (xlsx). Go back to Canva, open the Bulk Create app in the apps section. Import that Excel file. It will ask you to map columns to the elements on each template. Do that - image column to the image slot, title to title, etc. Hit create. It takes a while, but for each row you get 5-6 pins (one per template). So 10 rows = 50-60 pins. Export all as PNGs.
Now the annoying bit: those images need to live online somewhere public. GitHub, Box, whatever - Google Drive works but the URL format is a pain so Google it. Set sharing to public.
Go to Pinterest settings, find bulk upload, click the CSV option and download their template. Open that in Sheets. Fill in: unique URLs for each pin (use UTM parameters to avoid duplicates), different titles and descriptions, and the media column gets the public image URL from your hosting. Download as CSV (not xlsx). Upload to Pinterest bulk upload.
Sometimes it straight up fails. Try a different browser, log out and in. That's the extent of the troubleshooting.
No one's made a proper video on the Pinterest side of this, so you're on your own there. Learn UTM parameters - Pinterest will flag you if all your URLs are the same. Use discretion. It works for me, but I'm not making promises. DM if you get stuck, I'll try to help.