Skip to main content
Create a video with Motion from one prompt, then poll for the finished export. To connect an AI agent instead, see AI Agents (MCP).

1. Create an API key

Create an API key in the app at motion.so, under Settings → API → API keys. API keys start with motion_. Keep the key secret. It authenticates as the user who created it, and jobs created with the key are owned by that user. AI agents usually connect to the MCP server by authorizing in the browser (no key needed). This key also works as an MCP fallback credential — set it as the connector’s bearer token.

2. Check credits

API jobs require Motion credits on the API key owner’s account. Purchase credits and configure auto top-ups in the Motion web app at motion.so. Flex packs and standard manual top-ups cost $6 per 200 credits (3¢ per credit). See Credits for subscriptions and saved billing terms. Credit purchases and auto top-up settings are not available through the API. Actual usage varies by video length, engine, effort, generated media, and follow-up edits. If the account does not have enough credits, job creation or execution can fail with an insufficient credits error.

3. Create a job

Example response for a GVA job:
status_url is the authenticated API polling URL. It is not a Motion app page. Use chat_url when a human needs to open the Motion chat for this run.

4. Poll job status

Example response for a GVA job:
The video API does not expose a separate public download endpoint. Keep polling the same status URL. Once the downloadable MP4 is ready, the response includes output.download_url. The response can also include sources, an additive array of source assets currently used in the composition:
sources can include licensed libraries, article media, web/image search results, connector assets, uploads, generated assets, or unknown local sources. Internal storage paths, filenames, and GCS URIs are not exposed.

Optional inputs

Only prompt is required. You can add:
  • engine: gva, or motion if your account has Legacy access. Omit it to use the default returned by engine discovery.
  • effort: Motion light, medium (default), or high. GVA supports standard (default) or extended with the GVA engine.
  • template: an identifier from the selected engine’s template catalog.
  • aspect_ratio: 16:9, 9:16, 1:1, 4:5, or 21:9.
  • duration: <10s, 10-30s, 30s-1min, or 1-5min.
  • design_system_id: a Pro/Max preset DESIGN.md, such as mosaic, stripe, apple, linear, or notion.
  • design_md: Pro/Max custom DESIGN.md content, either as a string or as { "filename": "DESIGN.md", "content": "..." }.
  • style_reference_url: a YouTube URL to analyze as a style reference.
  • attachments: up to 100 publicly accessible signed URLs.

Revise or resume a job

Create a follow-up against the same job_id when the job is completed or awaiting_user_input.
Follow-ups are accepted when the job is completed or awaiting_user_input. Reply to a pending question, or add credits and continue the same credit-paused job. New jobs use your account’s configured default engine. Eligible Legacy accounts can choose Motion with medium effort. Set engine: "motion" to choose Motion explicitly. Engine access and compatibility.