post
https://api.autoreelapp.com/api/v1/create_video
Initiate a new AI-generated video using a set of public image URLs. Each image will be processed into a video clip and combined together into one video.
Recent Requests
Log in to see full request history
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…
Authentication
Authorization: <YOUR_API_KEY>
Request Body Fields
| Field | Type | Required | Description |
|---|---|---|---|
image_inputs | array of ImageInput[] | Yes | List of input images. Each must include a public image_url. Optionally includes camera_motion. |
orientation | string | No | landscape (default) or portrait |
resolution | string | No | 720p (default) or 1080p |
audio_url | string | No | Public URL to optional background audio (≤ 15 MB) |
ai_engine | string | No | AI Engine powering the video. v24 is standard and default, v25 is experimental and more accurate. |
project | string | No | UUID of a project returned by /create_project or /get_projects. Omit it to link the video to your API key's default project. |
branding | object | optional | Apply an intro and/or outro template to this video. Both slots optional - see the `Branding` object below for its shape, and List templates to discover available template ids and fields. |
ImageInput[] object
ImageInput[] object| Field | Type | Required | Description |
|---|---|---|---|
image_url | string | Yes | Publicly accessible image URL (≤ 10 MB) |
camera_motion | string | No |
Note: |
vfx | object | No | VFX effect configuration. See VFX object definition below. |
vfx object
vfx object| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | VFX effect to apply. One of: day-to-twilight, catch-the-sunshine, virtual-staging, pencil-sketch, spin-ceiling-fan, static-ceiling-fan, sway-trees, house-drop, construction, starry-night, shadows, word-drop, lifestyle |
config | object | No | Type-specific parameters. Only applies to word-drop and lifestyle. |
config for word-drop
config for word-drop| Field | Type | Required | Default | Description |
|---|---|---|---|---|
text | string | Yes | — | Max 16 characters (measured after stripping unsupported chars — emoji/non-Latin script get dropped) |
color | string | No | "gold" | gold or silver |
config for lifestyle
config for lifestyle| Field | Type | Default | Description |
|---|---|---|---|
people | string | "auto" | One of: auto, single, couple, elderly |
ethnicity | string | "auto" | One of: auto, white, black, hispanic, east_asian, south_asian |
All other types are non-parameterized — pass only {"type": "day-to-twilight"} with no config.
Branding object
Branding object| Field | Type | Required | Description |
|---|---|---|---|
| intro | object | No | TemplateSlot applied to the intro (first ~3s). See below. |
| outro | object | No | TemplateSlot applied to the outro (3s end card appended after the last clip). See below. |
TemplateSlot object
TemplateSlot object| Field | Type | Required | Description |
|---|---|---|---|
| template | string | Yes | Template id from List templates. Must match this slot's placement (intro/outro). |
| config | object | No | Field values keyed by field key. See Intro Templates / Outro Templates for each template's keys, and the object structure examples there. |
Example Request Body
{
"image_inputs": [
{
"image_url": "https://example.com/image.jpg",
"camera_motion": "push-in",
"vfx": {
"type": "word-drop",
"config": {
"text": "FOR SALE",
"color": "gold"
}
}
}
],
"orientation": "landscape",
"resolution": "720p",
"audio_url": "https://example.com/audio.mp3",
"ai_engine": "v25",
"project": "b1f2c3d4-5678-4abc-9def-0123456789ab",
"branding": {
"intro": {
"template": "gold-frame",
"config": {
"title": { "value": "Just Listed" },
"subtitle": { "value": "$650,000" }
}
},
"outro": {
"template": "classic",
"config": {
"outro_text": { "value": "Jane Doe\n(415) 555-0137" },
"brand_logo": { "url": "https://example.com/logo.png" }
}
}
}
}
Response
Returns a video object.
| Field | Type | Description |
|---|---|---|
uuid | string | Unique ID for the video job |
project | string | UUID of the project this video was linked to. |
status | string | One of queued, in_progress, complete, error |
video_url | string | Final video URL |
video_clips | array | List of generated clips for each image input |
orientation | string | landscape or portrait |
resolution | string | 720p or 1080p |
ai_engine | string | v24 or v25 |
branding | object | Present only if branding was requested. Tracks the separate branded render - see Branding (response) object below. |
Branding (response)
| Field | Type | Description |
|---|---|---|
status | string | Status of the branded render. One of queued, in_progress, complete, or error. This is independent of the top-level video status. |
video_url | string | URL of the branded video. Empty until status is complete. The branded render typically finishes a few minutes after the top-level video_url is available. Poll GET /get_video to retrieve the updated URL. |
templates | object | Echoes the intro/outro template configuration provided in the request. Has the same structure as the branding request parameter. |
Example
{
"uuid": "a2d456e3-f9ef-4b63-87d3-dcf6c93e4d24",
"project": "b1f2c3d4-5678-4abc-9def-0123456789ab",
"status": "queued",
"video_url": "",
"video_clips": [],
"resolution": "720p",
"orientation": "landscape",
"ai_engine": "v25",
"branding": {
"status": "queued",
"video_url": "",
"templates": {
"intro": {
"template": "gold-frame",
"config": {
"title": { "value": "Just Listed" },
"subtitle": { "value": "$650,000" }
}
},
"outro": {
"template": "classic",
"config": {
"outro_text": { "value": "Jane Doe\n(415) 555-0137" },
"brand_logo": { "url": "https://example.com/logo.png" }
}
}
}
}
}
404The project UUID you sent doesn't exist, or belongs to a different account. Only returned if you explicitly passed a project.
