Guides
Sume guides: the API, Formats, agents, models, media tools and pricing, each answer dated and sourced.

Google Ads image size 1200x628 and Sume's multiple-of-16 rule
Google's recommended Demand Gen landscape image is 1200x628, but 628 is not a multiple of 16. Request 1200x640 from Sume, then crop 6 px top and bottom.

Demand Gen image max file size: 5 MB, JPG or PNG
Google lists Demand Gen images as .jpg or .png at up to 5 MB (logos 150 KB). Set output_format to jpeg or png on Sume and skip webp for these uploads.

Demand Gen vertical to landscape video: make a native 16:9
Google says Demand Gen will soon turn vertical video into landscape. If you want control over that crop, generate a native 16:9 version and compare.

TikTok Symphony with Seedance 2.5: 30-second AI video ads
TikTok Symphony now generates up to 30 seconds with Seedance 2.5, in select markets. The same 30-second length is available by API on Sume as seedance-2.5.

TikTok Symphony Agent: the same flow through one Sume API run
Symphony Agent turns a product image and a reference video into a brief, storyboard and video. sume-recreate does the reference-to-video part in one API run.

TikTok Symphony Avatar virtual try-on: two Sume Formats
TikTok's upgraded Symphony Avatar joins voiceover, demos and virtual try-on. On Sume, sume-virtual-try-on and sume-product-usage-demo are two callable Formats.

Smart+ Catalog Ads creative: feed Auto-Crawl product videos
TikTok's Catalog Auto-Crawl finds product images and videos on public landing pages. Put videos there: generate one per product from its URL with a Sume Format.

TikTok for Business MCP with Claude: add Sume for video
TikTok for Business MCP lets an agent manage ads; Sume's hosted MCP makes the video file. Connect both in one Claude session and gate paid calls.

Pinterest MCP with Claude: make the 2:3 pin with Sume
Pinterest MCP reads campaign and keyword data for an agent. Pair it with Sume's hosted MCP to generate the 2:3 pin image in the same Claude session.

Business Agent for YouTube ads: what Sume makes, what it doesn't
Google's Business Agent answers shopper questions inside YouTube ads. Sume does not build that agent; it makes the product video the ad runs.

Black Friday homepage hero image for Shopify: one set, many sizes
Shopify's BFCM checklist says to put seasonal motifs in the hero image and extend it across channels. Render one reference to each channel's ratio with Sume.

Demand Gen 4:5 image size 960x1200: request it directly
Google lists 960x1200 as the recommended 4:5 Demand Gen image. Both edges are multiples of 16, so a GPT Image 2.5 custom image_size can ask for it exactly.

Demand Gen square 1200x1200: image vs logo file limits
Demand Gen lists 1200x1200 for both the square image and the logo, with different file caps. Request that size from Sume and pick jpeg or png to match.

Demand Gen 4:5 video 1080x1350: the API has 3:4, not 4:5
Google recommends 1080x1350 for 4:5 Demand Gen video, but Sume's video aspect_ratio list has 3:4 and no 4:5. Use the Slideshow Format or a crop step.

OpenAI 429 slow_down vs 503 server_is_overloaded, and Sume
OpenAI now splits 429 slow_down (traffic ramping too fast) from 503 server_is_overloaded. Here is how each maps to Sume's 429 scope and 503 retry rules.

Ramp up API traffic gradually: pace Sume submits to the write budget
OpenAI now returns a slow_down 429 when traffic grows too fast. On Sume, pace paid submits to your plan's write budget and read ratelimit-remaining.

Retry a 503 overload on a paid generation without a double charge
A 503 overload is safe to retry on Sume if you reuse the same idempotency key. Credit is reserved at submit and released if the job fails.

Gemini 3.5 Transcribe Live pricing and Sume's async STT job
Google lists Gemini 3.5 Transcribe Live at about $0.009 per minute for streaming audio. Sume's STT is an upload-and-poll job priced per audio minute.

Gemini 3.5 Transcribe pricing per minute and the Sume STT rate
Google lists Gemini 3.5 Transcribe at about $0.005 per minute. Sume STT is billed per audio minute and reserves 1 minute when you send no duration.

GPT-Live 1 pricing per second vs Sume's per-job audio billing
GPT-Live 1 voice sessions cost $0.05 per minute billed per second. Sume bills TTS per character and STT per audio minute, each reserved at submit.

Seedance 2.5 80-credit minimum per generation vs Sume's reserve
Runway lists Seedance 2.5 with an 80 credit minimum per generation. Sume reserves provider list x 1.25 at submit; here is a 4-second clip by resolution.

Seedance 2.5 reference video cost: per input second vs Sume
Runway bills Seedance 2.5 reference video per input second. Sume reserves one provider list x 1.25 amount per job; check supported_input_references.

Magnific video upscaler per-frame price vs Sume per-second
Runway bills its Magnific video upscaler per output frame; Sume's video upscale is priced per input second, with a 5 second default reserve and a 30 second cap.

Magnific precision upscaler credits per image vs Sume
Runway lists the Magnific precision upscaler at 25 credits per image, 150 above 4096px. Sume's image upscale is one per-job rate with a reserved output size.

Muse Image API: how to check what Sume's image catalog lists
Runway lists a muse_image model at 1 credit per image. For Sume, read the live image catalog instead of assuming; endpoint pricing lines are what you pay.

GPT Image 2.5 reference image cost: Runway credit vs Sume tokens
Runway charges 1 credit per GPT Image 2.5 reference image, once per request. Sume prices reference images as input image tokens inside the endpoint price.

Runway product_ugc recipe price vs Sume avatar video rate
Runway's product_ugc recipe starts at 192 credits for 4 seconds at 720p. Sume's avatar video with a product is a per-second rate by quality tier.

Lyria 3 Clip Preview 30-second price vs Sume Music fixed price
Google lists Lyria 3 Clip Preview (30s) at a per-song price. Sume Music charges one fixed price per accepted generation, whatever length the prompt asks for.

MiniMax H3 regeneration to 2K re-bills the original inputs
MiniMax bills a 768P-to-2K H3 regeneration per output second and bills the original task's inputs again. Sume reserves list x 1.25 on submit.

MiniMax H3 Max input video: billed per second, by resolution
MiniMax bills H3 Max input video by duration, at a rate set by output resolution. Sume lists video references for H3 Max and reserves list x 1.25.

MiniMax H3 Max reference images: 2 free, then per image
MiniMax includes the first 2 images free on H3 Max (5 on H3) and charges per extra image. On Sume, check the catalog for accepted reference types.

ElevenLabs per-key concurrency caps vs Sume's plan limit
ElevenLabs lets enterprise service account keys carry TTS, music and dubbing concurrency limits. Sume has one plan-based limit and no per-key setting.

Eleven v4 TTS on Runway: 2.2 credits per 1,000 chars, then 5
Runway prices eleven_v4 at 2.2 credits per 1,000 characters until October 12, 2026 PT, then 5. Check a long script's cost on Sume before submit.

Do API price changes affect jobs already submitted? Sume
On Sume, the estimate is reserved when the request is accepted, then captured on success or refunded on failure. Here is how to read it in Usage.

Agent loops on Sume: tool calls spend writes, polls spend reads
An MCP tool call spends the write budget once for the run it creates; a jobs_status poll spends none. Reads have their own, much larger budget.

curl 8.22 RFC 9421 signatures vs the Sume webhook signature
curl 8.22.0 adds experimental RFC 9421 HTTP Message Signatures. A Sume webhook is not one: it is an HMAC over timestamp.body in a sume-v1 header.

Standard Webhooks headers vs Sume sume-v1: a header map
Sume does not send webhook-id, webhook-timestamp or webhook-signature. It sends x-sume-webhook-* headers with a sume-v1 hex signature. Use verifyWebhook.

SNS 1 MiB messages and Sume run webhook fan-out
Sume run webhook bodies are capped at 1 MiB, and SNS now allows 1 MiB messages with MaximumMessageSize. Ack the webhook first, then publish.

Durable Object waitUntil keep-alive and a Sume job poll
Pending I/O now keeps a Durable Object alive without a client, but a Sume video job is better tracked by job id, status_url polling or a webhook.

Cloudflare Worker 64 MiB limit and the Sume SDK bundle
Cloudflare now checks only a 64 MiB uncompressed Worker bundle. @sume-com/sdk has no runtime dependencies and runs on Workers; measure with a dry run.

Python Workers ASGI: a FastAPI Sume webhook receiver
Python Workers now accept ASGI frameworks. A FastAPI Sume receiver keeps the same rules there: raw body, constant-time HMAC compare, replay window, fast 2xx.

webcrypto_modern_algorithms flag: verifying a Sume webhook
Sume's verifyWebhook runs on plain WebCrypto in Workers. The docs list no compatibility flag for it, so webcrypto_modern_algorithms is not a step to add.

Supabase middleware pipeline: verify a Sume webhook first
Put Sume's verifyWebhook in the first step of a Supabase middleware pipeline: return 401 on a bad signature and handlers only see verified events.

GitHub Actions dropped Node 20: calling Sume needs no Node
Node 20 is gone from GitHub Actions runners. Sume's CLI is a native binary and the API is plain HTTPS, so a workflow step can call it with no Node version.

Cloudflare Workflow schedules: one Sume Idempotency-Key per tick
A scheduled Cloudflare Workflow that submits a Sume job should derive the Idempotency-Key from the tick, so a replayed step returns the same job.

x402 vs Sume's 402: a prepaid-balance error, not a payment prompt
Sume returns HTTP 402 with the code insufficient_credits when the balance is too low. The fix is adding funds, not sending a payment header.

Hookdeck 15-minute timeout and Sume's 10-second webhook attempt
Hookdeck's longer destination timeout does not change Sume's fixed 10-second attempt. Ack fast at the relay URL and give your handler its own time budget.

Webhook 410 Gone and 3xx: what Sume does with each
Sume has no special 410 handling and does not follow redirects. Any non-2xx, including 410 or 301, burns one of ten attempts. Here is the fix for each case.