Create a video with Motion

Changed on
post/sessions

Request

Request body

promptstring required
aspect_ratio'16:9' | '9:16' | '1:1' | '4:5' | '21:9'

Target video aspect ratio.

duration'<10s' | '10-30s' | '30s-1min' | '1-5min'

Target video duration bucket.

design_system_id'mosaic' | 'apple' | 'claude' | 'cursor' | 'linear' | 'vercel' | 'stripe' | 'figma' | 'notion' | 'spotify' | 'supabase' | 'raycast' | 'framer' | 'resend' | 'mintlify' | 'sentry' | 'tesla' | 'nike' | 'shopify' | 'airbnb' | 'posthog'

Pro/Max built-in DESIGN.md preset to apply.

style_reference_urlstring uri

Optional YouTube style reference URL.

enginestring

Video engine. New jobs default to gva. Motion Legacy requires eligible account access. Use GET /engines for available choices. Mode-only requests select Motion and require Legacy access.

effort'standard' | 'extended' | 'light' | 'medium' | 'high'

GVA: standard (default) or extended. Motion: light, medium (default), or high. Legacy GVA light/medium map to standard; high maps to extended. Follow-ups retain the current effort when omitted.

mode'light' | 'medium' | 'high'

Alias for effort. Mode-only creation selects Motion. Must resolve to the same effort if both are supplied. For GVA, light/medium map to standard and high maps to extended.

templatestring

Identifier from the selected engine template catalog. Set at creation; requires Pro or Max.

Response

Job accepted

job_idstring required
status'queued' required
status_urlstring uri required

Authenticated public API polling URL for GET /sessions/{job_id}. This is not a Motion app page.

chat_urlstring uri nullable

Motion app chat URL for a human to open, inspect, or continue the run. Null only for legacy flows where no chat is available.

enginestring nullable

Null when engine details are unavailable to this account.

effort'standard' | 'extended' | 'light' | 'medium' | 'high' | 'null' nullable

Null when engine details are unavailable to this account.

templatestring nullable

Changes

    • breaking

      the response property became nullable for the status

    • breaking

      the response property became nullable for the status

    • warning

      added the new undefined enum value to the response property for the response status

    • breaking

      removed the enum value gva of the request property

    • breaking

      removed the enum value kai of the request property

    • breaking

      removed the enum value mira of the request property

    • breaking

      removed the enum value motion of the request property

    • breaking

      removed the enum value rio of the request property

    • info

      removed the gva enum value from the response property for the response status

    • info

      removed the mira enum value from the response property for the response status

    • info

      removed the motion enum value from the response property for the response status