Skip to main content

Tools Reference

ToolPurpose
render_videoCreate a video from a JSON specification
get_render_statusCheck render progress and get output URL
create_templateSave a reusable video template
list_templatesList all saved templates
get_templateRetrieve a template's structure
render_templateRender a video from a template
delete_templateRemove a template

render_video

Create a video, image, or audio file from a JSON specification.

ParameterTypeRequiredDescription
timelineTimelineYesTimeline with tracks and clips
outputOutputYesFormat and resolution settings
mergeMergeField[]NoMerge field replacements
callbackstringNoWebhook URL for completion

Prompt: "Create a 10-second video with 'Hello World' centered on screen"

Response: { "id": "d2b46ed6-...", "message": "Render Successfully Queued" }


get_render_status

Check render progress and get the output URL when complete.

ParameterTypeRequiredDescription
idstringYesRender ID from render_video or render_template
includeDatabooleanNoInclude original edit data in response (useful for debugging)

Prompt: "Check the status of render d2b46ed6-..."

Response: { "id": "...", "status": "done", "url": "https://cdn.shotstack.io/.../video.mp4" }

Status values: queuedfetchingrenderingsavingdone (or failed)


create_template

Save a reusable video template with merge field placeholders.

ParameterTypeRequiredDescription
namestringYesTemplate name
templateEditYesEdit specification with {{PLACEHOLDER}} syntax

Prompt: "Create a template called 'greeting' with a NAME placeholder"

Response: { "id": "ca84c7c5-...", "message": "Template Successfully Created" }


list_templates

Retrieve all saved templates.

Prompt: "List all my templates"

Response: { "templates": [{ "id": "...", "name": "greeting", "created": "..." }] }


get_template

Retrieve a template's full structure.

ParameterTypeRequiredDescription
idstringYesTemplate ID

Prompt: "Show me the greeting template"


render_template

Render a video from a saved template with merge field replacements.

ParameterTypeRequiredDescription
idstringYesTemplate ID
mergeMergeField[]No[{ "find": "NAME", "replace": "Alice" }]

Prompt: "Render the greeting template with NAME set to 'Alice'"


delete_template

Permanently delete a template.

ParameterTypeRequiredDescription
idstringYesTemplate ID

Prompt: "Delete the greeting template"


Quick Reference

Track layering: Track 0 = top layer (foreground). Last track = bottom layer (background).

Asset types: video, image, audio, rich-text, svg, rich-caption, text-to-speech, text-to-image, image-to-video

Output formats: mp4, gif, mp3, jpg, png

Resolutions: preview, mobile, sd, hd, 1080, 4k

Aspect ratios: 16:9, 9:16, 1:1, 4:5, 4:3


Common Errors

ErrorSolution
Font not foundDon't specify font.family, or use Shotstack CDN fonts
Invalid URLEnsure URL is public HTTPS
Render failedSimplify the request and retry
Template not foundUse list_templates to get valid IDs