Turn a newsletter issue into a 60-second video: five stills, one voice

Convert one newsletter issue into a 60-second vertical video: one still per section, a 900-character voice-over, one render and captions. Cost per issue.

3 min readSume
All posts

Give each of five sections a still, narrate a 900-character summary, and render it on Timeline 1.0 at about $0.38 per issue with captions, which is $19.74 for a weekly year. The video replaces nothing in the issue; it is a recap that points back to it.

Split the issue first

Take the section headings as scene titles and write one or two sentences for each. Keep the narration to the total character budget you chose: Sume's text to speech bills per character at $0.0475 per 1,000.

Cost per issue

Stills use GPT Image 2.5 at low quality, 1024 by 1024.

Sume list price, read 2026-10-08
ItemQtySubtotal
Stills, GPT Image 2.5 low5$0.036875
Voice-over, 900 characters1$0.04275
Timeline render, 60 s1$0.10
Captions1$0.20
Total per issue$0.379625

Timing the slots

The slot starts must be strictly increasing, and video[0].start must be 0. Twelve seconds per section gives five slots across 60 seconds.

import json

sections = ["intro", "story", "tool", "chart", "link"]
SEG = 12
video = []
for i, name in enumerate(sections):
    slot = {"source_url": f"https://media.sume.com/artifacts/artf_demo/{name}.png",
            "start": i * SEG, "duration": SEG}
    if i:
        slot["transition"] = {"type": "slideup", "duration": 0.4}
    video.append(slot)

body = {"audio": {"url": "https://media.sume.com/artifacts/artf_demo/issue.wav",
                  "duration_seconds": SEG * len(sections)}, "video": video}
print(len(video), body["audio"]["duration_seconds"])

Keep the claims in the text

Charts and numbers from the issue should be drawn from your own data, not generated, since an image model can render a plausible but wrong chart. Use generated stills for mood and keep figures in captions you wrote.

Keeping it a recap

The video should drive readers to the issue, not replace it. End on a still that shows the issue title and the link in your own text, and put the link in the post that carries the video. If the issue is long, narrate only the three most useful items; a 900-character script is a starting point, not a guarantee of 60 seconds. Measure the spoken length of your first voice-over and set the Timeline duration to match it; a longer script would force you to cut slots or speed up the voice.

Related posts

More in Use cases

All Use cases posts

Written by Sume