Read voice-over lines in their voice and link each to its line (costs credits)
The film's narration (doc.voiceOver): lines on the timeline, each anchored to a moment (fromPanelId, offsetS seconds after it starts, never before: a title read goes on the first moment at 0 and plays as the film starts), on every path that reaches it or only on path (decision id -> option id). Each line named in line_ids, else every line with words and no sound yet, is read by ElevenLabs text-to-speech (eleven_multilingual_v2) in its voice (voiceId, else the narrator's, else the default storyteller), brought to -20 LUFS, added to the film's sounds (kind voice) and linked to its line. The player plays a line at its level (0-2) times the voiceOver layer (mix), and the music, ambience and effects dip under it. Free by hand: {op: "addVoiceOverLine", line: {id, fromPanelId, text, offsetS?, voiceId?, path?, level?, soundId?}} (a soundId of your own upload plays as it is), updateVoiceOverLine {id, patch} (new words or another voice unlink a read sound), removeVoiceOverLine {id}, setNarrator {voiceId | null}. Costs credits: audio_voice_100char per 100 characters (see /v1/pricing). Quote first with dry_run: true: credits, each line's characters, credits and voice, and voices, the voice ids on offer. Without dry_run it answers 202 { task_id }: poll GET /v1/tasks/{id}. Each line is charged once its sound is on the storyboard, through your token so its daily cap applies. Paid tier only (402 audio_requires_purchase on trial credits). A storyboard whose owner approves agent spending answers 403 except for the quote.
Request
- Base URL: https://nanostudiopro.com/api
- URL: https://nanostudiopro.com/api/v1/storyboards/{id}/voice-over
- Auth: HTTP bearer
Request body
Response
The quote (dry_run)
Changes
No recorded changes to this operation across all 3 revisions of this API.