Reproduce the same AI voiceover later: model id, voice, settings
To redo a narration line months later you need the model id, voice, language, format and settings. Sume's completed TTS job records them. A short routine.

To recreate a narration line later you need five things: the model id, the voice, the language, the output format and any settings you sent. Sume records all of them on a completed text-to-speech job, so the routine is to read them off the job and store them with the audio, not to rely on memory or a prompt file.
Why a model name is not enough
Vendors update models in place. Cartesia's documentation lists sonic-3.6 as a rolling id, sonic-3.6-2026-08-27 as a frozen dated snapshot, and sonic-preview as a preview id. A rolling id can change what it sounds like when the vendor ships an update, while a dated snapshot stays fixed. If a client asks for the same read of a line next spring, only the dated form gives you a fair chance of matching it.
| Id | Kind | Use it when |
|---|---|---|
| sonic-3.6 | Rolling | You want improvements automatically |
| sonic-3.6-2026-08-27 | Frozen snapshot | You need the same sound later |
| sonic-preview | Preview | You are testing ahead of release |
What Sume stores on the job
Per the Jobs and results page, a completed text_to_speech job records how its audio was made: model_id for the engine, voice as { "mode": "id", "id": "…" }, language, output_format, and the settings it was synthesized with, generation_config and speed. Each setting is null when the request did not send it. The docs say to read these from the job to make the next line sound the same.
The fields tell you what was requested. They are the parameters of the call, not a guarantee that two runs will be bit-identical, so keep the original audio file as the master and treat regeneration as a fallback.
curl https://api.sume.com/v1/jobs/job_123 \
-H "Authorization: Bearer $SUME_API_KEY"
curl https://api.sume.com/v1/jobs/job_123/result \
-H "Authorization: Bearer $SUME_API_KEY"A routine that takes a minute per project
When a voiceover is approved, do these four things once.
- Copy the job id and the model, voice, language, format, config and speed fields into your project notes.
- Download the finished audio from its
media.sume.comURL and keep it as the master. - Note whether the model id was a rolling or a dated form.
- Write down the script text exactly as sent, including any pronunciation edits.
When the next line must match
For a follow-up line in the same project, send the same voice and settings, and the same model id unless you intend to change it. Where the voice is part of the brand, keep it constant across lines and change only the text. Compare the new clip against the master by ear before you cut it into a timeline.
Sources
Related posts
More in Developers
- defer_loading and tool search for Sume's MCP tools
Set defer_loading: true on the Sume MCP tool so OpenAI tool search loads definitions on demand, then use tools_list and tools_schema for details.
- Wire an OpenAI mcp_approval_response to a Sume spend cap
When a person approves an mcp_approval_request, reuse the approved dollar amount as max_spend_usd on the Sume call so the approval and the cap match.
- require_approval never with tool_names for Sume read tools
Use the object form of require_approval to skip approval only for Sume read tools like account_me, and keep every paid tool on the approval path.
- Restyle burned-in captions without transcribing twice
Pass source_caption_id instead of video_url to re-burn a video under a new Sume caption style. Word timings are reused, so no second speech-to-text runs.
Written by Sume