URL to Video
FreshPurpose
Convert any webpage URL into a professional video ad using the Creatify API. This SOP covers the full pipeline: creating a link, generating previews, selecting a preview, and rendering the final video.
Prerequisites
- Authenticated API access (Authentication SOP)
- A publicly accessible URL to convert
- Sufficient credits (minimum 5/30s for create, or 1/30s preview + 4/30s render)
Procedure
Step 1: Create a Link Object
Creatify scrapes the URL to extract product information, images, and text.
curl --request POST \
--url https://api.creatify.ai/api/links/ \
--header "Content-Type: application/json" \
--header "X-API-ID: $CREATIFY_API_ID" \
--header "X-API-KEY: $CREATIFY_API_KEY" \
--data '{
"url": "https://www.example.com/product-page"
}'Response:
{
"id": "link-uuid-123",
"url": "https://www.example.com/product-page",
"title": "Amazing Product",
"description": "The best product for your needs...",
"media": [
"https://example.com/image1.jpg",
"https://example.com/image2.jpg"
]
}TIP
You can also create a link with custom parameters using POST /api/links/with_params/. This allows you to override the scraped title, description, and media.
Step 2: Create a URL-to-Video Task
curl --request POST \
--url https://api.creatify.ai/api/url_to_videos/ \
--header "Content-Type: application/json" \
--header "X-API-ID: $CREATIFY_API_ID" \
--header "X-API-KEY: $CREATIFY_API_KEY" \
--data '{
"link_id": "link-uuid-123",
"aspect_ratio": "9:16"
}'Response:
{
"id": "utv-task-uuid-456",
"status": "pending",
"link_id": "link-uuid-123",
"aspect_ratio": "9:16"
}Step 3: Poll for Completion
curl --request GET \
--url https://api.creatify.ai/api/url_to_videos/utv-task-uuid-456/ \
--header "X-API-ID: $CREATIFY_API_ID" \
--header "X-API-KEY: $CREATIFY_API_KEY"Poll every 5-10 seconds until status changes to done or failed.
Completed response:
{
"id": "utv-task-uuid-456",
"status": "done",
"output": "https://cdn.creatify.ai/videos/preview-output.mp4",
"previews": [
{
"id": "preview-1",
"output": "https://cdn.creatify.ai/videos/preview-1.mp4"
},
{
"id": "preview-2",
"output": "https://cdn.creatify.ai/videos/preview-2.mp4"
}
]
}Step 4: Generate Preview List (Async)
For multiple preview options, use the async preview list endpoint:
curl --request POST \
--url https://api.creatify.ai/api/url_to_videos/utv-task-uuid-456/preview_list/ \
--header "X-API-ID: $CREATIFY_API_ID" \
--header "X-API-KEY: $CREATIFY_API_KEY"Step 5: Render Final Video
Once you have reviewed the preview and are satisfied, render the final high-quality version:
curl --request POST \
--url https://api.creatify.ai/api/url_to_videos/utv-task-uuid-456/render/ \
--header "X-API-ID: $CREATIFY_API_ID" \
--header "X-API-KEY: $CREATIFY_API_KEY"Step 6: Poll Render Status and Download
Poll the same task ID until the render is complete, then download from the output URL.
curl --request GET \
--url https://api.creatify.ai/api/url_to_videos/utv-task-uuid-456/ \
--header "X-API-ID: $CREATIFY_API_ID" \
--header "X-API-KEY: $CREATIFY_API_KEY"Credit Cost
| Operation | Credits |
|---|---|
| Create link | 0 |
| Create URL-to-video | 5 per 30s |
| Generate preview | 1 per 30s |
| Render final video | 4 per 30s |
WARNING
Preview + Render = 5 credits/30s total (same as Create). The advantage is you can review before committing to the render.
Verification Checklist
- [ ] Link object created with valid scraped data (title, description, media)
- [ ] Video task returns
pendingstatus on creation - [ ] Polling returns
donestatus within expected time - [ ] Preview video is playable and matches expected content
- [ ] Rendered video is higher quality than preview
- [ ] Output URL is accessible and returns valid MP4
Common Errors
| Error | Cause | Fix |
|---|---|---|
| Link creation returns empty media | URL not publicly accessible or blocks scrapers | Use a different URL or provide media manually via with_params |
Task stuck in processing | Very long video or server load | Wait longer; timeout after 10 minutes |
failed status | Various generation errors | Check failed_reason field in response |
See Also
- URL to Video Pipeline Workflow -- Full Mermaid sequence diagram
- Preview and Render Flow -- The preview-render pattern explained
- Batch Production -- Generate multiple videos at scale