/video/text2videoText to Video
Generate a clip from a prompt in styles like anime, realistic, pixel or 90s.
2–5 credits / sAdd AI video generation to your product
Generate videos from text, animate images, apply viral templates and create talking avatars — all over a simple REST API. Send a request, get a task ID, collect the video by polling or webhook.
# Create a text-to-video task curl -X POST https://api.domoai.com/v1/video/text2video \ -H "Authorization: Bearer $DOMOAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "prompt": "A girl on a rooftop at sunset, wind in her hair", "model": "t2v-2.4-faster", "style": "japanese_anime", "seconds": 5, "aspect_ratio": "9:16" }' # → { "code": 0, "data": { "task_id": "…" } }
# pip install requests
import os, time, requests
API = "https://api.domoai.com/v1"
H = {"Authorization": f"Bearer {os.environ['DOMOAI_API_KEY']}"}
r = requests.post(f"{API}/video/text2video", headers=H, json={
"prompt": "A girl on a rooftop at sunset, wind in her hair",
"model": "t2v-2.4-faster",
"style": "japanese_anime",
"seconds": 5,
"aspect_ratio": "9:16",
})
task_id = r.json()["data"]["task_id"]
while True:
t = requests.get(f"{API}/tasks/{task_id}", headers=H).json()["data"]
if t["status"] in ("SUCCESS", "FAILED", "CANCELED"):
break
time.sleep(5)
print(t["status"], t.get("output_videos"))
// Node 18+ (built-in fetch)
const API = "https://api.domoai.com/v1";
const headers = {
"Authorization": `Bearer ${process.env.DOMOAI_API_KEY}`,
"Content-Type": "application/json",
};
const res = await fetch(`${API}/video/text2video`, {
method: "POST",
headers,
body: JSON.stringify({
prompt: "A girl on a rooftop at sunset, wind in her hair",
model: "t2v-2.4-faster",
style: "japanese_anime",
seconds: 5,
aspect_ratio: "9:16",
}),
});
const { data: { task_id } } = await res.json();
console.log("task:", task_id);
Base URL: https://api.domoai.com/v1
/video/text2videoGenerate a clip from a prompt in styles like anime, realistic, pixel or 90s.
2–5 credits / s/video/image2videoAnimate a still image or character design, with an optional motion prompt.
2–5 credits / s/video/template2videoApply viral templates — hug, 360 view, zoom, crane up, groove dance and more.
2 credits / s/video/talking-avatarMake a face in an image or video speak your audio — up to 60 seconds.
3 credits / svideo to videoRestyle footage with anime and illustration models. See the official docs for the endpoint.
5 credits / s/tasks/{task_id}Check status and collect output video URLs when a task finishes.
FreeIn the DomoAI Enterprise dashboard, open API Keys and create one. It’s shown only once — store it in a secrets manager.
Top up in Dashboard → Billing. Credits cost $0.02 each and never expire.
POST to an endpoint with Authorization: Bearer <key>. You get back a task_id.
Poll GET /tasks/{task_id} or receive a webhook, then download the video.
All requests are JSON. Images, video and audio are sent as bytes_base64_encoded or a domoai_uri.
| Parameter | Type | Required | Details |
|---|---|---|---|
prompt | string | Yes | 1–2,000 characters |
seconds | integer | Yes | 1–10 |
model | string | No | t2v-2.4-faster (default) or t2v-2.4-advanced |
style | string | No | japanese_anime, realistic, pixel, cartoon_game, flat_color_anime, 90s_style |
aspect_ratio | string | No | 16:9, 9:16, 1:1 (default), 4:3, 3:4 |
callback_url | string (URI) | No | Webhook for task updates, up to 2,083 characters |
| Parameter | Type | Required | Details |
|---|---|---|---|
model | string | Yes | animate-2.4-faster or animate-2.4-advanced |
image | object | Yes | { "bytes_base64_encoded": "…" } or { "domoai_uri": "…" } |
seconds | integer | Yes | 1–10 |
prompt | string | No | Up to 2,000 characters |
aspect_ratio | string | No | Auto-detected from the image if omitted |
callback_url | string (URI) | No | Webhook for task updates |
| Parameter | Type | Required | Details |
|---|---|---|---|
template | string | Yes | hug, kiss, french_kiss, kissing_screen, groove_dance, 360_view, zoom_in, zoom_out, crane_up, looping_animation |
images | array | Yes | One image object (base64 or domoai_uri) |
seconds | integer | Yes | 1–10 |
prompt | string | No | Up to 2,000 characters |
aspect_ratio | string | No | 16:9, 9:16, 1:1, 4:3, 3:4 |
callback_url | string (URI) | No | Webhook for task updates |
| Parameter | Type | Required | Details |
|---|---|---|---|
audio | object | Yes | Speech to sync (base64 or domoai_uri) |
image / video | object | One of | The face to animate — send an image or a video |
seconds | integer | Yes | 1–60 |
model | string | No | talking-avatar-v1 (default) |
prompt | string | No | Up to 2,000 characters |
aspect_ratio | string | No | Auto-detected if omitted |
callback_url | string (URI) | No | Webhook for task updates |
Every generation runs asynchronously. Creating a task returns a task_id immediately.
Call GET /tasks/{task_id} every few seconds until the status is final. Simple and great for scripts, prototypes and batch jobs.
Add a callback_url when you create the task and DomoAI will send status updates to your server — no polling loop needed.
Important: output video URLs expire after 8 hours. Download each finished video to your own storage right away.
{
"code": 0,
"data": {
"task_id": "<TASK_ID>",
"status": "SUCCESS",
"category": "TEXT_TO_VIDEO",
"seconds": 5,
"output_videos": [
{ "url": "<VIDEO_URL>", "width": 1024, "height": 1024 }
],
"credits": 10,
"inputs": {
"model": "t2v-2.4-faster",
"prompt": "<YOUR_PROMPT>",
"seconds": 5,
"aspect_ratio": "1:1"
},
"created_at": "<TIMESTAMP>"
}
}
1 credit = $0.02. Credits never expire. You’re charged by output duration and model.
| Endpoint · model | Credits / s | USD / s | 5 s clip |
|---|---|---|---|
| Text / Image to Video · faster | 2 | $0.04 | $0.20 |
| Text / Image to Video · advanced | 5 | $0.10 | $0.50 |
| Template to Video · all templates | 2 | $0.04 | $0.20 |
| Talking Avatar · v1 | 3 | $0.06 | $0.30 |
| Video to Video · anime & illustration | 5 | $0.10 | $0.50 |
| Status | Meaning | What to do |
|---|---|---|
401 | Invalid, missing or revoked API key | Check the Authorization: Bearer header and that the key is still active |
402 | Not enough credits | Top up in Dashboard → Billing, then retry |
403 | Organization banned (code 4002) | Contact DomoAI support — review the usage policy |
422 | Validation error | Check field names and ranges — e.g. seconds must be 1–10 (1–60 for talking avatar) |
FAILED | Task finished without output | Log the task, adjust the input or prompt, and retry with backoff |
“Turn your selfie into anime” features inside photo and social apps.

Generate daily Shorts and Reels from a prompt queue or spreadsheet.

One-tap hug, 360 view or dance effects for your users’ photos.
Turn text-to-speech replies into talking-head videos for onboarding and help.
The DomoAI Enterprise API is a REST API for generating videos with DomoAI’s models from your own app or backend — text to video, image to video, templates, talking avatars and video-to-video restyling.
Create an API key in the DomoAI Enterprise dashboard and send it in every request as Authorization: Bearer YOUR_API_KEY. The key is shown only once, so store it securely on your server.
Credits cost $0.02 each and never expire. Faster text and image models use 2 credits per second ($0.04), advanced models and video-to-video use 5 ($0.10), templates use 2, and talking avatar uses 3 ($0.06).
Text, image and template videos can be 1–10 seconds per task. Talking avatar tasks can be 1–60 seconds.
Polling GET /tasks/{task_id} is simplest for scripts and prototypes. For production, pass a callback_url so DomoAI notifies your server when a task changes status.
Output URLs expire after 8 hours, so download each finished video to your own storage as soon as the task succeeds.
domoapi.com is an independent guide. Endpoints, limits and prices are summarized from the official DomoAI Enterprise API docs (checked October 2026) — always confirm there before shipping.
Create a key, top up credits from $0.02 each, and make your first API call in minutes.