API & Integration -> Quick Start
Generate a voiceover video
This example show how to auto-generate a voiceover video based on a provided text using RenderScript.
Step 1Define the voice-over
Specify an audio element. Provide the speech text through the
sourceproperty. Using the
providerproperty, you can specify which third-party service to generate the voice-over with. In this case, we'll use Elevenlabs using the
eleven_multilingual_v2model and the specified voice ID.
curl -X POST https://api.creatomate.com/v2/renders \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_API_KEY_HERE" \ -d '{ "output_format": "mp4", "elements": [ { "type": "audio", "source": "This text is read aloud!", "provider": "elevenlabs model_id=eleven_multilingual_v2 voice_id=XrExE9yKIg1WjnnlVkGX stability=0.75" } ] }'
Step 2Insert a text element to hold the captions
In case you want to add subtitles to accompanying the voiceover, define a text element. This is just a placeholder for now, in the next step, we'll attach the text element to the voiceover element.
curl -X POST https://api.creatomate.com/v2/renders \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_API_KEY_HERE" \ -d '{ "output_format": "mp4", "elements": [ { "type": "audio", "provider": "elevenlabs model_id=eleven_multilingual_v2 voice_id=XrExE9yKIg1WjnnlVkGX stability=0.75", "source": "This text is read aloud!" }, { "type": "text", "width": "86.66%", "height": "37.71%", "x_alignment": "50%", "y_alignment": "50%", "fill_color": "#ffffff", "stroke_color": "#333333", "stroke_width": "1.05 vmin", "font_family": "Montserrat", "font_weight": "700", "font_size": "8 vmin", "background_x_padding": "26%", "background_y_padding": "7%", "background_border_radius": "28%", "text": "This is a placeholder text" } ] }'
Step 3Attach the text to the video element
To attach the text element to the voiceover, provide the audio element with a unique name and make the text element refer to that element using the
transcript_sourceproperty. You can choose the subtitle effect using
transcript_effect.
curl -X POST https://api.creatomate.com/v2/renders \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_API_KEY_HERE" \ -d '{ "output_format": "mp4", "elements": [ { "name": "Voiceover-1", "type": "audio", "provider": "elevenlabs model_id=eleven_multilingual_v2 voice_id=XrExE9yKIg1WjnnlVkGX stability=0.75", "source": "This text is read aloud!" }, { "type": "text", "width": "86.66%", "height": "37.71%", "x_alignment": "50%", "y_alignment": "50%", "fill_color": "#ffffff", "stroke_color": "#333333", "stroke_width": "1.05 vmin", "font_family": "Montserrat", "font_weight": "700", "font_size": "8 vmin", "background_x_padding": "26%", "background_y_padding": "7%", "background_border_radius": "28%", "transcript_source": "Voiceover-1", "transcript_effect": "highlight" } ] }'