Pinterest bulk upload: 200 Pins per CSV with Sume media URLs
Pinterest bulk creation takes up to 200 images or videos per upload from a CSV with Title, Media URL and board. Fill the Media URL column from Sume renders.

Pinterest's bulk tool takes up to 200 images or videos per upload from a CSV. Title, Media URL and Pinterest board are required, and the Media URL must be a publicly available link to the file itself. Sume renders return durable media.sume.com URLs, so they can fill that column once the jobs finish.
Which CSV columns matter?
The bulk upload page splits the columns into required and optional.
| Column | Required? | Note |
|---|---|---|
| Title | Yes | 100 characters maximum |
| Media URL | Yes | Public link to the file itself, such as MP4, PNG or JPEG |
| Pinterest board | Yes | Target board |
| Thumbnail | Video only | Timestamp, seconds or public image URL |
| Description, Link, Publish date, Keywords | No | Description 500 characters maximum |
How do I write the CSV from finished jobs?
This sample builds the CSV from a list of results. The URLs are placeholders for the video_url values your finished Sume jobs return.
import csv, sys
jobs = [("Summer clip", "https://media.sume.com/artifacts/artf_demo/a.mp4"),
("Autumn clip", "https://media.sume.com/artifacts/artf_demo/b.mp4")]
w = csv.writer(sys.stdout)
w.writerow(["Title", "Media URL", "Pinterest board", "Thumbnail"])
for title, url in jobs[:200]:
w.writerow([title[:100], url, "My board", "00:01"])Why do Sume URLs fit the rule?
The Sume docs say media URLs from completed jobs are durable media.sume.com HTTPS URLs that do not expire, so the link stays valid for as long as Pinterest needs to fetch it. Verify one by opening it in a signed-out browser before you upload the whole batch.
Sources
Related posts
More in Integrations
- Pub/Sub push ack codes and a Sume webhook relay with a signature check
Pub/Sub treats only 102, 200, 201, 202 and 204 as acks. Verify Sume's sume-v1 signature at the edge, publish, return 2xx, and let Pub/Sub retry the workers.
- Shopify storefront MCP moved to /api/ucp/mcp: update the URL, add Sume
Shopify's storefront MCP now lives at https://{shop}/api/ucp/mcp, not /api/mcp. Update your agent, then add Sume at mcp.sume.com/mcp for product video.
- Shopify UCP needs an agent profile per call: where a Sume clip fits
Shopify's UCP storefront MCP needs an agent profile on every request. A product clip belongs after get_product, as an async Sume job the agent collects later.
- Slack image block with a Sume URL: PNG or JPEG, alt text required
Slack's image block takes a public image_url up to 3000 characters and lists png, jpg, jpeg and gif. Generate a png with Sume, then post it with alt_text.
Written by Sume