Create a new video job

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
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Authentication

Authorization: <YOUR_API_KEY>


Request Body Fields

FieldTypeRequiredDescription
image_inputsarray of ImageInput[]YesList of input images. Each must include a public image_url. Optionally includes camera_motion.
orientationstringNolandscape (default) or portrait
resolutionstringNo720p (default) or 1080p
audio_urlstringNoPublic URL to optional background audio (≤ 15 MB)
ai_enginestringNo[deprecated] defaults to v25 AI engine
projectstringNoUUID of a project returned by /create_project or /get_projects. Omit it to link the video to your API key's default project.
brandingobjectoptionalApply an intro and/or outro template, and/or a speed_ramp pacing effect, to this video. All fields optional - see the `Branding` object below for its shape, and List templates to discover available template ids and fields.

ImageInput[] object

FieldTypeRequiredDescription
image_urlstringYesPublicly accessible image URL (≤ 10 MB)
camera_motionstringNo

push-in, push-out, orbit-left, orbit-right, or auto.

Note: orbit-left and orbit-right are only available with v25.

vfxobjectNoVFX effect configuration. See VFX object definition below.

vfx object

FieldTypeRequiredDescription
typestringYesVFX 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
configobjectNoType-specific parameters. Only applies to word-drop and lifestyle.
config for word-drop
FieldTypeRequiredDefaultDescription
textstringYesMax 16 characters (measured after stripping unsupported chars — emoji/non-Latin script get dropped)
colorstringNo"gold"gold or silver
config for lifestyle
FieldTypeDefaultDescription
peoplestring"auto"One of: auto, single, couple, elderly
ethnicitystring"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

FieldTypeRequiredDescription
introobjectNoTemplateSlot applied to the intro (first ~3s). See below.
outroobjectNoTemplateSlot applied to the outro (3s end card appended after the last clip). See below.
speed_rampbooleanNoApplies the cinematic accelerate/decelerate pacing effect across clip pairs.

TemplateSlot object

FieldTypeRequiredDescription
templatestringYesTemplate id from List templates. Must match this slot's placement (intro/outro).
configobjectNoField 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" }
      }
    },
    "speed_ramp": true
  }
}

Response

Returns a video object.

FieldTypeDescription
uuidstringUnique ID for the video job
projectstringUUID of the project this video was linked to.
statusstringOne of queued, in_progress, complete, error
video_urlstringFinal video URL
video_clipsarrayList of generated clips for each image input
orientationstringlandscape or portrait
resolutionstring720p or 1080p
ai_enginestringv24 or v25
brandingobjectPresent only if branding was requested. Tracks the separate branded render - see Branding (response) object below.

Branding (response)

FieldTypeDescription
statusstringStatus of the branded render. One of queued, in_progress, complete, or error. This is independent of the top-level video status.
video_urlstringURL 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.
templatesobjectEchoes the intro/outro template configuration provided in the request. Has the same structure as the branding request parameter.
speed_rampbooleanWhether speed_ramp actually took effect on this branded video.

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" }
        }
      }
    },
		"speed_ramp": true
  }
}
Body Params
image_inputs
array of objects
required

List of input images

image_inputs*
string
enum
Defaults to landscape
Allowed:
string
enum
Defaults to 720p
Allowed:
uri

Publicly accessible URL of the audio (≤ 10 MB)

string
enum
Defaults to v24
Allowed:
uuid

UUID of a project returned by /create_project or /get_projects. Optional; omit it to link the video to your API key's default project.

Responses

404

The project UUID you sent doesn't exist, or belongs to a different account. Only returned if you explicitly passed a project.

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json