Replace Audio in Template
Replace audio tracks in your video templates using HeyGen's Template API
Note:
- This guide and the associated API endpoints refer to HeyGen API V2, which correspond to the Legacy AI Studio. These endpoints will be deprecated soon as HeyGen has transitioned to the new AI Studio and updated API versions. It’s recommended to start migrating your workflows to the latest APIs for continued support and feature compatibility.
- A newer Retrieve Template Details (V3) API is available under the New AI Studio, offering enhanced functionality and updated variable mappings. Refer to the Generate Video from Template (V3) section for details.
In this guide, we will learn how to replace audio within a template and generate a video.
Audio Properties:
- url: URL for the audio file.
- asset_id: Asset ID.
Note:
url and asset_id can be retrieved from the Upload Asset endpoint.
Creating Template through the Interface
To create templates, visit HeyGen Template page and click on Create Template.
You can use the "API Variable" menu to assign a variable to a sound element in your timeline.
You can also assign a variable to your audio script. To do this, select your audio with 'Upload Audio' in the Script section, then assign a variable with the 'API Variable' menu.
Get a List of Your Templates
For instructions on listing your templates that you have created in the HeyGen interface and retrieving the template_id, see Get a List of Templates.
Retrieve Template Elements
To retrieve template elements you will need to submit an API request as follows. In the response, you’ll receive details of all variables defined in the template, in this case, the audio element details, which can later be modified when creating videos.
curl --location 'https://api.heygen.com/v2/template/<template_id>' \
--header 'accept: application/json' \
--header 'x-api-key: <your-api-key>'{
"error": null,
"data": {
"variables": {
"bg_music": {
"name": "bg_music",
"type": "audio",
"properties": {
"url": "https://files.heygen.ai/...",
"asset_id": null
}
},
"my_script": {
"name": "my_script",
"type": "audio",
"properties": {
"url": "https://resource.heygen.ai/...",
"asset_id": null
}
}
}
}
}For a full list of parameters and complete response details, see detailed API Reference: Retrieve Template Details.
Modify Template Elements and Generate Video
To modify template elements and generate videos, you need to submit an API request as follows. In the request body, specify the elements you want to change by providing the appropriate object within the variables section.
curl --location 'https://api.heygen.com/v2/template/<template_id>/generate' \
--header 'X-Api-Key: <your-api-key>' \
--header 'Content-Type: application/json' \
--data '{
"caption": false,
"title": "New Video",
"variables": {
"bg_music": {
"name": "bg_music",
"type": "audio",
"properties": {
"url": "<url>",
"asset_id": null
}
},
"my_script": {
"name": "my_script",
"type": "audio",
"properties": {
"url": null,
"asset_id": "<asset_id>"
}
}
}
}'{
"error": null,
"data": {
"video_id": "<video_id>"
}
}To explore how different variable types can be modified when generating a new video, see detailed API Reference: Generate Video from Template
You will receive a video_id after your request. To check the video's status and retrieve further details, you can use the Retrieve Video Status/Details API endpoint. You can view complete status response examples on the right-side Response panel of the API Reference page - open the Examples dropdown to view responses for different video statuses. You can select any example to preview the corresponding response body.
Status Descriptions
pending
The video is queued and waiting to start rendering.
waiting
The video is in waiting state.
processing
The video is currently rendering.
completed
The video has successfully rendered and is ready for download.
failed
The video could not be rendered due to an error (for example, if the duration exceeds plan limits).
Template Scene Guidelines
As for background audio, each audio must at least align with and contain one scene. Basically, scenes scale with contained script, background audios scale with contained scenes, and all visual elements (linearly) scale with whichever scene they are in. Here are some examples:
Note:
Failure to follow to these guidelines will result in an "
Start/End of audio 1 does not align with scene" error.
Conclusion
In this guide, we've walked you through the process of replacing audio within a template video using HeyGen's Template API.
Updated 13 days ago
