For AI agents
Coding agents (Claude Code, Codex, Cursor and similar) make Opus Motion videos for a project with the agent guide: https://opusmotion.com/agents.md.
- The guide's steps: read the project, ask the person a few questions, compare templates (each one has a timelapse, its scenes and its fields), make a draft with
POST https://opusmotion.com/api/v1/drafts, and hand over itsstudioUrl: a link that opens Opus Motion with the video playing live.PATCHwith the draft'seditTokenchanges it, and the link stays the same. - Plain HTTPS and JSON: no key and no account. Or the MCP server (https://opusmotion.com/mcp): every tool, with stills of the draft returned as images. The person exports the MP4 from the studio.
- The studio is filled through the API, not by driving the site with a browser. When the API refuses, the person is told.
- More: llms.txt · this page in Markdown · developer docs · OpenAPI
Ask Reel: premium launches video template
A 20-second launch film for an AI app, a search engine or a data app: your ask box is born and grows, a real question is typed, your answer streams in with its sources and two data cards that count up, everything pulls back into a phone, and your logo locks in.
- Price: $15 per export, paid once per video and per format; exporting needs an Opus Motion account
- Length: 19.9 seconds
- Formats: 16:9, 9:16 (each one designed for its screen)
- What you can change: 41 texts, 2 images, 4 colors, the music
- Category: Launches
Examples with real brands
- Perplexity, 16:9: watch the video
- Perplexity, 9:16: watch the video
Make it yours
Paste your website and the template comes out with your logo, colors and words: https://opusmotion.com/studio/t94-ask-reel?mode=yours. To open it already filled from a website, add &site=yourdomain.com.
Fields, for AI agents
An agent fills these with POST https://opusmotion.com/api/v1/drafts (guide: https://opusmotion.com/agents.md). $15 per export, paid once per video and per format (16:9 and 9:16 are separate exports), or included in an Opus Motion Pass (15 premium exports a month for $49). Exporting needs an Opus Motion account; payment happens in the studio.
Scenes: Your ask box is born, the question is typed and sent (0–3.7667 s); The question, centred (3.7667–4.7667 s); The answer with its sources and two counting cards (4.7667–10.9333 s); Two snaps back into the phone (10.9333–15.7667 s); Your mark is born, your logo wipes in (15.7667–18.0667 s); Black (18.0667–19.8667 s).
brandName(text, 2–24 characters): Brand name. How your brand writes its name. It is drawn as a logotype if you upload no logo. The brand's own: never the demo's. Scene "Your mark is born, your logo wipes in" at 15.87 s: 16:9 · 9:16.logo(image, free, shown whole): Your logo (the horizontal wordmark): an SVG, or a PNG with a transparent background. Your full logo, horizontal, light for a dark background. Shown whole, at any proportion: nothing is cropped. The brand's own: never the demo's. Scene "Your mark is born, your logo wipes in" at 16.67 s: 16:9 · 9:16.logoMark(image, 1:1, shown whole): Your logo (the horizontal wordmark): an SVG, or a PNG with a transparent background. The symbol alone: it is born and grows before the logo, and sits in the phone's header. Shown whole inside a 1:1 box: nothing is cropped. Optional. The brand's own: never the demo's. Scene "Your mark is born, your logo wipes in" at 15.87 s: 16:9 · 9:16.placeholder(text, 2–24 characters): Empty box text. What your search or chat box says before anything is typed. Demo's line, for tone and length only: "Ask anything…". Scene "Your ask box is born, the question is typed and sent" at 0.6 s: 16:9 · 9:16.query(text, 6–40 characters): The question (typed). A real question for your product. It is typed in 1.5 s and stays as a bubble. Demo's line, for tone and length only: "Wemby's NBA debut vs Flagg's". Scene "Your ask box is born, the question is typed and sent" at 1.37 s: 16:9 · 9:16.status(text, 2–18 characters): Status while it works. What your app shows while it works. Demo's line, for tone and length only: "Searching…". Scene "The answer with its sources and two counting cards" at 4.77 s: 16:9 · 9:16.answer(text, 120–360 characters): The answer (sources in square brackets). The answer, written live: two or three sentences. Each [source] in square brackets comes out as a citation pill. Eight lines at most. Demo's line, for tone and length only: "Victor Wembanyama's debut (Oct 25, 2023) was the bigger scoring night: 15 points, 5 rebounds and 2 assists in 23 minutes, in a 126–119 loss to Dallas. [basketball-reference] Cooper Flagg's debut (Oct 22, 2025) came against Wembanyama's Spurs: 10 points and 10 rebounds in 32 minutes of a 125–92 loss. [basketball-reference]". Scene "The answer with its sources and two counting cards" at 5.95 s: 16:9 · 9:16.card1Title(text, 2–22 characters): Card 1: title (in colour). The card's heading, in your light brand colour: who or what card 1 is about. Demo's line, for tone and length only: "Victor Wembanyama". Scene "The answer with its sources and two counting cards" at 7.07 s: 16:9 · 9:16.card1Sub(text, 2–26 characters): Card 1: subtitle. Under the title: what the figures are (an event, a period). Demo's line, for tone and length only: "NBA debut (2023-10-25)". Scene "The answer with its sources and two counting cards" at 7.07 s: 16:9 · 9:16.card1Initials(text, 1–3 characters): Card 1: initials in the circle. Up to three letters in the circle. Demo's line, for tone and length only: "VW". Scene "The answer with its sources and two counting cards" at 7.07 s: 16:9 · 9:16.card1Team(text, 1–4 characters): Card 1: tag in the circle. A short tag in the circle, under the initials (a team, a ticker, a code). Demo's line, for tone and length only: "SAS". Scene "The answer with its sources and two counting cards" at 7.07 s: 16:9 · 9:16.card1Name(text, 2–16 characters): Card 1: short name. The short name on the card's first row. Demo's line, for tone and length only: "V. Wembanyama". Scene "The answer with its sources and two counting cards" at 7.42 s: 16:9 · 9:16.card1Meta(text, 1–10 characters): Card 1: detail beside the name. A short detail beside the name (minutes, a size, a plan). Demo's line, for tone and length only: "23 min". Scene "The answer with its sources and two counting cards" at 7.42 s: 16:9 · 9:16.card1Badge(text, 1–12 characters): Card 1: result on the right. The result at the right of the first row (a score, a change). Demo's line, for tone and length only: "L 119–126". Scene "The answer with its sources and two counting cards" at 7.42 s: 16:9 · 9:16.card1Value1(text, 1–5 characters): Card 1: figure 1 (counts up from 0). A number: it counts up from zero. With decimals, it counts with the same decimals. Demo's line, for tone and length only: "15". Scene "The answer with its sources and two counting cards" at 7.42 s: 16:9 · 9:16.card1Label1(text, 1–5 characters): Card 1: unit 1. The unit beside figure 1. Demo's line, for tone and length only: "pts". Scene "The answer with its sources and two counting cards" at 7.42 s: 16:9 · 9:16.card1Value2(text, 1–5 characters): Card 1: figure 2 (counts up from 0). A number: it counts up from zero. With decimals, it counts with the same decimals. Demo's line, for tone and length only: "5". Scene "The answer with its sources and two counting cards" at 7.42 s: 16:9 · 9:16.card1Label2(text, 1–5 characters): Card 1: unit 2. The unit beside figure 2. Demo's line, for tone and length only: "reb". Scene "The answer with its sources and two counting cards" at 7.42 s: 16:9 · 9:16.card1Value3(text, 1–5 characters): Card 1: figure 3 (counts up from 0). A number: it counts up from zero. With decimals, it counts with the same decimals. Demo's line, for tone and length only: "2". Scene "The answer with its sources and two counting cards" at 7.42 s: 16:9 · 9:16.card1Label3(text, 1–5 characters): Card 1: unit 3. The unit beside figure 3. Demo's line, for tone and length only: "ast". Scene "The answer with its sources and two counting cards" at 7.42 s: 16:9 · 9:16.card1Line(text, 2–30 characters): Card 1: detail line. A line of detail under the figures. Demo's line, for tone and length only: "6/9 FG · 2 stl · 1 blk". Scene "The answer with its sources and two counting cards" at 7.67 s: 16:9 · 9:16.card1Date(text, 2–28 characters): Card 1: date and context. When and against what, at the foot of the card. Demo's line, for tone and length only: "Oct 25, 2023 · vs DAL". Scene "The answer with its sources and two counting cards" at 7.67 s: 16:9 · 9:16.card2Title(text, 2–22 characters): Card 2: title (in colour). The card's heading, in your light brand colour: who or what card 2 is about. Demo's line, for tone and length only: "Cooper Flagg". Scene "The answer with its sources and two counting cards" at 8.3 s: 16:9 · 9:16.card2Sub(text, 2–26 characters): Card 2: subtitle. Under the title: what the figures are (an event, a period). Demo's line, for tone and length only: "NBA debut (2025-10-22)". Scene "The answer with its sources and two counting cards" at 8.3 s: 16:9 · 9:16.card2Initials(text, 1–3 characters): Card 2: initials in the circle. Up to three letters in the circle. Demo's line, for tone and length only: "CF". Scene "The answer with its sources and two counting cards" at 8.3 s: 16:9 · 9:16.card2Team(text, 1–4 characters): Card 2: tag in the circle. A short tag in the circle, under the initials (a team, a ticker, a code). Demo's line, for tone and length only: "DAL". Scene "The answer with its sources and two counting cards" at 8.3 s: 16:9 · 9:16.card2Name(text, 2–16 characters): Card 2: short name. The short name on the card's first row. Demo's line, for tone and length only: "C. Flagg". Scene "The answer with its sources and two counting cards" at 8.65 s: 16:9 · 9:16.card2Meta(text, 1–10 characters): Card 2: detail beside the name. A short detail beside the name (minutes, a size, a plan). Demo's line, for tone and length only: "32 min". Scene "The answer with its sources and two counting cards" at 8.65 s: 16:9 · 9:16.card2Badge(text, 1–12 characters): Card 2: result on the right. The result at the right of the first row (a score, a change). Demo's line, for tone and length only: "L 92–125". Scene "The answer with its sources and two counting cards" at 8.65 s: 16:9 · 9:16.card2Value1(text, 1–5 characters): Card 2: figure 1 (counts up from 0). A number: it counts up from zero. With decimals, it counts with the same decimals. Demo's line, for tone and length only: "10". Scene "The answer with its sources and two counting cards" at 8.65 s: 16:9 · 9:16.card2Label1(text, 1–5 characters): Card 2: unit 1. The unit beside figure 1. Demo's line, for tone and length only: "pts". Scene "The answer with its sources and two counting cards" at 8.65 s: 16:9 · 9:16.card2Value2(text, 1–5 characters): Card 2: figure 2 (counts up from 0). A number: it counts up from zero. With decimals, it counts with the same decimals. Demo's line, for tone and length only: "10". Scene "The answer with its sources and two counting cards" at 8.65 s: 16:9 · 9:16.card2Label2(text, 1–5 characters): Card 2: unit 2. The unit beside figure 2. Demo's line, for tone and length only: "reb". Scene "The answer with its sources and two counting cards" at 8.65 s: 16:9 · 9:16.card2Value3(text, 1–5 characters): Card 2: figure 3 (counts up from 0). A number: it counts up from zero. With decimals, it counts with the same decimals. Demo's line, for tone and length only: "0". Scene "The answer with its sources and two counting cards" at 8.65 s: 16:9 · 9:16.card2Label3(text, 1–5 characters): Card 2: unit 3. The unit beside figure 3. Demo's line, for tone and length only: "ast". Scene "The answer with its sources and two counting cards" at 8.65 s: 16:9 · 9:16.card2Line(text, 2–30 characters): Card 2: detail line. A line of detail under the figures. Demo's line, for tone and length only: "4/13 FG · 1 stl · 0 blk". Scene "The answer with its sources and two counting cards" at 8.9 s: 16:9 · 9:16.card2Date(text, 2–28 characters): Card 2: date and context. When and against what, at the foot of the card. Demo's line, for tone and length only: "Oct 22, 2025 · vs SAS". Scene "The answer with its sources and two counting cards" at 8.9 s: 16:9 · 9:16.source1Domain(text, 2–24 characters): Source 1: site. The first source's site or domain, as it shows in the sources row. Demo's line, for tone and length only: "basketball-reference". Scene "The answer with its sources and two counting cards" at 9.45 s: 16:9 · 9:16.source1Title(text, 4–44 characters): Source 1: title. The first source's page title, as the page titles itself. A long one goes on two lines. Demo's line, for tone and length only: "Victor Wembanyama 2023-24 Game Log". Scene "The answer with its sources and two counting cards" at 9.45 s: 16:9 · 9:16.source2Domain(text, 2–24 characters): Source 2: site. The second source's site or domain. Demo's line, for tone and length only: "basketball-reference". Scene "The answer with its sources and two counting cards" at 9.45 s: 16:9 · 9:16.source2Title(text, 4–44 characters): Source 2: title. The second source's page title. Demo's line, for tone and length only: "Cooper Flagg 2025-26 Game Log". Scene "The answer with its sources and two counting cards" at 9.45 s: 16:9 · 9:16.siteUrl(text, 3–22 characters): Your site. Your product's own domain, in the action row under the answer. Demo's line, for tone and length only: "perplexity.ai". Scene "The answer with its sources and two counting cards" at 10.05 s: 16:9 · 9:16.followUp(text, 2–22 characters): Follow-up bar text. What your follow-up bar says, in the phone. Demo's line, for tone and length only: "Ask follow-up". Scene "Two snaps back into the phone" at 10.93 s: 16:9 · 9:16.bgColor(color, #RRGGBB): Background (dark). Your app's dark canvas.inkColor(color, #RRGGBB): Text. The text colour, light on the dark background.accentColor(color, #RRGGBB): Brand colour (light: names, streaming tail, glow). The light tone of your brand: the card titles, the tail of the streaming text and the light on your logo.deepColor(color, #RRGGBB): Brand colour (deep: mosaic, circles). The deep tone of your brand: the mosaic the box is born from and the cards' circles.