Slideshows
Create slideshow and carousel workflows.
POST /slideshows
Creates a slideshow or carousel workflow.
Authentication is required.
Requires generations:write.
Credits are slide_count * CREDITS_PER_SLIDE.
curl -X POST https://videotok.app/api/v1/slideshows \
-H "Authorization: Bearer vt_live_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: slideshow-001" \
-d '{
"prompt": "A carousel about sustainable fashion trends for 2026.",
"slide_count": 6,
"aspect_ratio": "4:5",
"product_image_urls": ["https://example.com/product.png"],
"brand_kit_id": 42,
"avatar_id": "avatar_123",
"language": "English",
"generate_text_overlays": false
}'
Fields
| Field | Type | Notes |
|---|---|---|
prompt | string | User instruction. |
title | string | Optional internal title. |
slide_count | number | One of 3, 4, 5, 6, 8, 9, 10. |
aspect_ratio | string | 9:16, 1:1, or 4:5. |
product_image_urls | string[] | Up to 10 images. |
avatar_id | string | Optional avatar from assets. |
avatar_image_url | string | Optional direct avatar image URL. |
brand_kit_id | number | Optional brand kit. |
custom_reference_inspiration_id | uuid | Optional saved inspiration. |
language | string | Default is English. |
product_context | string | Optional product or brand notes. |
generate_text_overlays | boolean | true generates editable overlay text. false creates slides without generated overlay text. Default is false. |
idempotency_key | string | Body fallback when no Idempotency-Key header is sent. |
Response
{
"object": "slideshow_generation",
"status": "queued",
"slideshow_id": "2f6931c4-8e96-4b44-8a68-9384bb5ce2c1",
"video_id": 1234,
"title": "Slide 15/05/26",
"slide_count": 6,
"credits_deducted": 2100,
"remaining_credits": 47900
}
GET /slideshows/{id}
Returns the slideshow record and status.
Requires generations:read or generations:write.
curl https://videotok.app/api/v1/slideshows/2f6931c4-8e96-4b44-8a68-9384bb5ce2c1 \
-H "Authorization: Bearer vt_live_..."