Overview
Make video with one API call
diffusr makes ad videos, images and music. Call it from code, or let your AI agent do it. This page is the map.
What you can make
Section titled “What you can make”| Tool | Makes |
|---|---|
make_video |
A video clip from a prompt, with optional pictures and voice clips |
make_image |
An image from a prompt |
edit_image |
A changed copy of a picture |
recast |
The same clip with a different person or place |
make_music |
A song, about a minute |
creator_video |
A video of a creator saying your script (gated preview) |
run_template |
A ready-made recipe as one job: product ad, video template, talking head, podcast |
Every tool is a REST route and an MCP tool with the same name, the same JSON and the same results.
The loop every call follows
Section titled “The loop every call follows”- Price it, free. Add
"dry_run": true. Nothing is made, nothing is spent. The answer has the price in credits (1 credit = $0.01) and holds for an hour. - Start it. Send the same call without
dry_run, with anIdempotency-Keyheader so a retry never pays twice. You get a jobidat once. - Wait or be told. Poll
GET /results/{id}every 15 to 30 seconds, or passcallback_urland we send one signed event when it ends. - Take the file. When
statusisSUCCEEDED,output.urlis the file.
You are charged when the result is delivered, never more than the price you saw. A failed job costs nothing.
curl -X POST https://app.diffusr.ai/api/v2/make_video \ -H "Authorization: Bearer $DIFFUSR_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: $(uuidgen)" \ -d '{ "prompt": "A woman turns to camera on a sunny street, smiles", "model": "seedance-2-0-fast", "resolution": "720p", "duration_sec": 5, "aspect_ratio": "9:16", "dry_run": true}'import { Diffusr } from "diffusr";
const d = new Diffusr(); // reads DIFFUSR_KEYconst job = await d.makeVideo({ prompt: "A woman turns to camera on a sunny street, smiles", model: "seedance-2-0-fast", resolution: "720p", duration_sec: 5, aspect_ratio: "9:16", dry_run: true,});console.log(job); // the price, nothing was madefrom diffusr import Diffusr
d = Diffusr() # reads DIFFUSR_KEYjob = d.make_video( prompt="A woman turns to camera on a sunny street, smiles", model="seedance-2-0-fast", resolution="720p", duration_sec=5, aspect_ratio="9:16", dry_run=True,)print(job) # the price, nothing was madedfsr_live_...runs for real and spends credits.dfsr_test_...is free: real prices, fake results, nothing charged. Build with this one. See Test keys.
Make keys on the Developers page in the app: https://app.diffusr.ai/developers
Where to go next
Section titled “Where to go next”- Quickstart: key, price, start, result, in five minutes.
- Prices: per second and per image, next to other services.
- Callbacks, Errors, Limits, Uploads and media, Templates.
- All routes: one page per route.
- MCP and skills: connect an AI agent.
For AI agents
Section titled “For AI agents”Every page here has a plain Markdown twin: add .md to the address (/docs/quickstart.md). The index is llms.txt; everything in one file is llms-full.txt; the OpenAPI 3.1 spec is https://app.diffusr.ai/api/v2/openapi.json.