Documentation Index Fetch the complete documentation index at: https://docs.creatify.ai/llms.txt
Use this file to discover all available pages before exploring further.
🚀 Step 1: Generate a List of Video Previews (Async)
Use this endpoint to generate multiple video previews asynchronously before committing to a final render.
Endpoint
POST /api/link_to_videos/preview_list_async/
Purpose
This allows users to create preivews with multiple visual styles and choose the best one to render.
⚠️ Costs 1 credit per 30s per preview.
Example Request
Example Response
curl --request POST \
--url https://api.creatify.ai/api/link_to_videos/preview_list_async/ \
--header 'Content-Type: application/json' \
--header 'X-API-ID: <your-api-id>' \
--header 'X-API-KEY: <your-api-key>' \
--data '{
"target_platform": "Instagram",
"target_audience": "Young Adults",
"language": "en",
"video_length": 30,
"aspect_ratio": "9x16",
"script_style": "DIY",
"visual_styles": [
"GreenScreenEffectTemplate",
"SimpleAvatarOverlayTemplate",
"DynamicProductTemplate",
"FullScreenTemplate",
"QuickTransitionTemplate",
"EnhancedVanillaTemplate",
"DynamicGreenScreenEffect",
"FeatureHighlightTemplate",
"AvatarBubbleTemplate"
],
"link": "1d28aebc-3c23-43f7-8ce1-f5e522387ab4",
"model_version": "aurora_v1_fast",
"webhook_url": "https://webhook.site/d94ac4fd-2384-4c21-b35d-2feb4f698cbc"
}'
See all 27 lines
✏️ Step 2: Get preview generation result
🔄 Webhook Callback Example
If you provide a webhook_url, Creatify will notify your backend of the preview generation result:
{
"id" : "20b5d452-89f4-4245-9480-10defaa8fb4d" ,
"status" : "pending" ,
"failed_reason" : null ,
"previews" : [
{
"media_job" : "43e2b17c-e272-453a-96d4-c047acd2ab0e" ,
"visual_style" : "FullScreenTemplate" ,
"url" : "https://app.creatify.ai/preview?layout=videos/20250521/bdc461ad-cc18-449c-b4b2-43cc12db0013.json" ,
"aspect_ratio" : "9x16"
},
{
"media_job" : "cd08733a-5067-4643-9237-346998c5849c" ,
"visual_style" : "EnhancedVanillaTemplate" ,
"url" : "https://app.creatify.ai/preview?layout=videos/20250521/5ce154f9-6954-4c58-bc17-e33bb077e2f5.json" ,
"aspect_ratio" : "9x16"
},
{
"media_job" : "02cdc0a9-17dc-44dc-9560-e8fd0b2f78a1" ,
"visual_style" : "FeatureHighlightTemplate" ,
"url" : "https://app.creatify.ai/preview?layout=videos/20250521/c3341e4a-531d-48f1-b426-87e45f0badd2.json" ,
"aspect_ratio" : "9x16"
},
{
"media_job" : "8323b4bc-d5c3-4976-9e04-f86c0cea7ee8" ,
"visual_style" : "SimpleAvatarOverlayTemplate" ,
"url" : "https://app.creatify.ai/preview?layout=videos/20250521/61b40cc5-2cfb-4afb-81fe-0698ad796eb4.json" ,
"aspect_ratio" : "9x16"
},
{
"media_job" : "50036921-ffbe-4b3f-ad1d-ef367847db7d" ,
"visual_style" : "QuickTransitionTemplate" ,
"url" : "https://app.creatify.ai/preview?layout=videos/20250521/ae100137-e12f-4f0f-86d9-4b54e041ac4d.json" ,
"aspect_ratio" : "9x16"
},
{
"media_job" : "188f92ac-6281-41e5-ac4b-94d0af4b2493" ,
"visual_style" : "GreenScreenEffectTemplate" ,
"url" : "https://app.creatify.ai/preview?layout=videos/20250521/13cda7fd-e54f-44d3-acc3-5cc6c34beba7.json" ,
"aspect_ratio" : "9x16"
},
{
"media_job" : "198080fa-6369-4724-829f-2e57bb8538b8" ,
"visual_style" : "DynamicProductTemplate" ,
"url" : "https://app.creatify.ai/preview?layout=videos/20250521/41601095-6549-4898-89ab-b62879dbf88d.json" ,
"aspect_ratio" : "9x16"
},
{
"media_job" : "0c6a5fda-e58a-442c-9681-a431b6195203" ,
"visual_style" : "DynamicGreenScreenEffect" ,
"url" : "https://app.creatify.ai/preview?layout=videos/20250521/1f39ca8e-bdf8-4423-81c1-1629fcaeabbd.json" ,
"aspect_ratio" : "9x16"
},
{
"media_job" : "d2110d2d-b2b5-4f0a-99dd-7d0ee07b8b13" ,
"visual_style" : "AvatarBubbleTemplate" ,
"url" : "https://app.creatify.ai/preview?layout=videos/20250521/a67532d0-0764-40c3-b1f4-36d645b935f5.json" ,
"aspect_ratio" : "9x16"
}
]
}
See all 61 lines
🔄 Poll API to get Result without Webhook
If you did not provide a webhook_url, you will have to pool Creatify API to the preview generation result:
Example Request
Example Response
curl --request GET \
--url https://api.creatify.ai/api/link_to_videos/20b5d452-89f4-4245-9480-10defaa8fb4d/ \
--header 'X-API-ID: <your-api-id>' \
--header 'X-API-KEY: <your-api-key>'
ℹ️ You can embed the preview URLs using <iframe> tags in your UI to display them.
🎮 Step 3: Render One of the Previews
After selecting the best preview, use this endpoint to render the final video from it.
Endpoint
POST /api/link_to_videos/{id}/render_single_preview/
Purpose
Commit to rendering a final video using a specific preview.
⚠️ Costs 4 credits per 30s.
Example Request
Example Response
curl --request POST \
--url https://api.creatify.ai/api/link_to_videos/20b5d452-89f4-4245-9480-10defaa8fb4d/render_single_preview/ \
--header 'Content-Type: application/json' \
--header 'X-API-ID: <your-api-id>' \
--header 'X-API-KEY: <your-api-key>' \
--data '{
"media_job": "0c6a5fda-e58a-442c-9681-a431b6195203"
}'
📡 Step 4: Get Render result
🔄 Webhook Callback Example
If you provide a webhook_url, Creatify will notify your backend of the render result:
{
"id" : "20b5d452-89f4-4245-9480-10defaa8fb4d" ,
"status" : "done" ,
"failed_reason" : null ,
"video_output" : "https://s3.us-west-2.amazonaws.com/remotionlambda-uswest2-30tewi8y5c/renders/phnafddwja/output.mp4" ,
"video_thumbnail" : "https://dpbavq092lwjh.cloudfront.net/amzptv/0c6a5fda-e58a-442c-9681-a431b6195203-1747847145/thumbnail.jpg"
}
🔄 Poll API to get Result without Webhook
If you did not provide a webhook_url, you will have to pool Creatify API to the render result:
Example Request
Example Response
curl --request GET \
--url https://api.creatify.ai/api/link_to_videos/20b5d452-89f4-4245-9480-10defaa8fb4d/ \
--header 'X-API-ID: <your-api-id>' \
--header 'X-API-KEY: <your-api-key>'
Use override_avatar and override_voice to manually select avatar and voice
Previews let your users pick and compare before rendering
Preview URLs can be embedded in your product for a seamless experience
Webhooks let your backend stay in sync with preview/render status