One voiceover, two ratios: render 9:16 and 1:1 from one audio file
Reuse one voiceover for a 1080x1920 and a 1080x1080 cut in Sume Timeline. Two renders at $0.10 per output minute each; only output width and height change.

Send two Timeline renders with the same audio and video arrays and different output.width and output.height: 1080x1920 for 9:16 and 1080x1080 for 1:1. Each render is billed on its own at $0.10 per output minute, rounded up, so a 45-second ad costs $0.10 per ratio and $0.20 for the pair. Nothing about the voiceover has to be redone, because the audio spine is a URL and each request reads it separately.
This is useful when a campaign needs a vertical placement and a square one with the same script. The only decision per ratio is how the source footage fits the new frame, which is the fit option.
What changes between the two requests
Timeline output defaults to 1080x1920 when you omit the size. output.width and output.height must be even integers from 256 to 2160, and output.fps is 24, 25, 30 or 60, or can be left out to match the sources. For the square cut, set both to 1080. The Idempotency-Key header is required on render, so give each ratio its own key.
Each video slot also takes a fit: cover crops to fill, contain letterboxes, stretch distorts, and blur fills the empty area with a blurred copy of the clip. Footage shot vertically loses its top and bottom in a square cover crop, so check the framing of the subject.
| Item | 9:16 render | 1:1 render |
|---|---|---|
| output.width x output.height | 1080 x 1920 (the default) | 1080 x 1080 |
| Audio spine | Same media.sume.com URL | Same media.sume.com URL |
| Idempotency-Key | Its own key | Its own key |
| Price at 45 s of audio | $0.10 (1 output minute) | $0.10 (1 output minute) |
| Price at 61 s of audio | $0.20 (2 output minutes) | $0.20 (2 output minutes) |
The two requests in JavaScript
The script below sends both renders one after the other and prints the job ids. It reads the key from SUME_API_KEY, and it assumes the voiceover and clip are already Sume-hosted. Both calls return a job to poll at /v1/jobs/:id/status, then fetch from /v1/jobs/:id/result.
const url = "https://api.sume.com/v1/timeline-1.0/render";
const base = {
audio: {
url: "https://media.sume.com/artifacts/artf_demo/voice.wav",
duration_seconds: 45,
},
video: [{
source_url: "https://media.sume.com/artifacts/artf_demo/scene.mp4",
start: 0,
duration: 45,
fit: "blur",
}],
};
async function render(key, width, height) {
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SUME_API_KEY}`,
"Content-Type": "application/json",
"Idempotency-Key": key,
},
body: JSON.stringify({ ...base, output: { width, height } }),
});
return res.json();
}
async function main() {
console.log(await render("ad-916-001", 1080, 1920));
console.log(await render("ad-11-001", 1080, 1080));
}
main();Planning the pair first
The plan endpoint takes the same body as render, needs no idempotency key, and returns duration_seconds, segment_count, billable_minutes and estimated_cost_usd_micros. For a 45-second audio spine the plan reports one billable minute, which is 100,000 micros, or $0.10, per ratio. Run it once for each size if you want the total before you spend anything.
Remember that the price follows the length of the output, not the pixel count. A 1080x1080 render does not cost less than a 1080x1920 one; the only reason to choose a size is where the video will run.
Checking the framing
When a job completes, pull a still from each output with video frames or video inspect and look at where the subject sits. If the square crop cuts a face, switch that slot to contain or blur, then render again under a new key. Re-rendering is a fresh job at the same rate, so check both ratios on the first pass before sending anything to an ad platform.
If the ratio you need is not one of these two, the Google Ads help page states that video ratios between 16:9, 9:16 and 1:1 are accepted, so a 4:5 cut at 1080x1350 is also an option; see the related post on in-between ratios.
Cost across a campaign
A campaign with ten scripts and two ratios is twenty renders. At 60 seconds or less each, that is 20 x $0.10 = $2.00 in Timeline minutes. At 61 to 120 seconds each, it is 20 x $0.20 = $4.00. These totals count only Timeline, not the cost of generating the voiceover or the clips, which are priced separately.
When the clip is the wrong shape
If the source footage is 16:9, a 9:16 cover crop keeps only a narrow centre strip: at 1080x1920 from a 1920x1080 source the visible width is 607.5 of 1920 source pixels, about 31.6%. For a square crop it is 1080 of 1920, 56.3%. If the subject moves out of the strip, use blur or choose a different clip.
Sources
Related posts
More in Use cases
- How do I make one intro bumper and reuse it in every course lesson?
Make a 5-second bumper once ($0.83 with a sting), then add it to 24 eight-minute lessons at $0.82 each: $20.51 for the course on Sume.
- How to make a pep talk audio track with music: voice, bed and render
A 90-second pep talk with a music bed is one TTS job, one Music Router job and one render: about $0.39 on Sume. Suno Speech beta does it in one pass.
- Pick clip lengths from a voice-over script: one sentence per clip
Turn a voice-over into clips: measure each voiced sentence, round up, and pick the models whose duration window contains it. Windows for six Sume models.
- How do I turn one podcast episode into five quote clips for social?
Transcribe the episode in 10-minute chunks, split five quotes out, put the cover still under each and burn captions: $1.80 for a 28-minute episode on Sume.
Written by Sume