Runway Vary Ad gives 4 variations; Sume tests ads in a bulk queue
Runway's Vary Ad edits one ad image and returns 4 variations per generation. On Sume each variation is a bulk item with its own direction, cap and result key.

Runway's Vary Ad app takes an existing ad image plus a written direction and returns 4 variations per generation; it runs on Nano Banana Pro and needs credits. On Sume you get the same test set by queueing one Format run per direction in a bulk request, so you choose exactly which headline, background or palette each variation tests. The trade is that you write each direction yourself instead of receiving four from one prompt.
Vary Ad in one table
| Question | Runway Vary Ad | Sume bulk queue |
|---|---|---|
| Input | One ad image, plus Directions text | Per item: attachments (up to 30 images) and instruction |
| Variations per run | 4 per generation | One run per item, 1 to 100 items |
| Control per variation | One direction for the generation | Its own instruction, spend cap and webhook per item |
| Model | Nano Banana Pro | Chosen by the Format's tools |
| Result | Variations in the app canvas | Receipt per run with output in your schema |
Examples on Runway's page
The page shows directions such as changing a headline to Now Available and swapping the background to a clean white studio, updating the palette to cool blues and whites, and replacing the product with a sports shaker bottle while keeping layout and typography. They are short and direct, which is also the right shape for a Sume item instruction.
Give every variation a named result
Bind an output schema so each run returns the same key, then read variants by the item order of the queue. Strict schemas need every object to set additionalProperties to false and list all properties as required.
{
"concurrency": 4,
"items": [
{
"instruction": "Change the headline to 'Now Available'. Keep layout.",
"attachments": [{ "type": "input_image", "image_url": "https://cdn.example.com/ad.png" }],
"output_schema": {
"name": "acme/ad-variant/v1",
"strict": true,
"schema": {
"type": "object",
"additionalProperties": false,
"required": ["variant"],
"properties": { "variant": { "$ref": "SumeMediaFile#" } }
}
},
"primary_output_key": "variant",
"generation_spend_cap_usd": 3
}
]
}Where this fits
- Exploring looks in a chat: Vary Ad is the quicker start.
- A recurring test grid fed by a spreadsheet: a Sume bulk queue, with one Idempotency-Key per batch.
- Remember that completed on a queue means all items are terminal, so check counts.failed.
Sources
Related posts
More in Comparisons
- Runway wan3 at 5, 10, 20 credits a second vs Sume Wan 3.0
Runway's API prices wan3 at 5, 10 and 20 credits per second, which is $0.05, $0.10 and $0.20. Sume's Wan 3.0 is $0.0625, $0.125 and $0.25. What the 25% buys.
- Runway Workflow as an endpoint vs a Sume Format over the API
Runway publishes a Workflow as an API endpoint from the Web App; Sume serves a saved Format at /v1/formats/{handle}/{slug}/runs. Setup and billing differ.
- Runway workspace workflows vs Sume Format grants for partners
Runway Agent runs workflows shared with you but will not edit them. Sume shares a Format with another workspace by grant, and the caller pays. The rules.
- Seedance 2.5, Wan 3.0 and Omni Flash: where each one is sold
Runway lists seedance2_5, wan3 and gemini_omni_flash_1.1 as API ids, Luma hosts Seedance 2.5, and Sume routes all three. How to compare.
Written by Sume