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_enginestringNoAI Engine powering the video. v24 is standard and default, v25 is experimental and more accurate.
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 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

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.

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" }
      }
    }
  }
}

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.

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" }
        }
      }
    }
  }
}

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