Muse Video API
Generate a video from a prompt or up to nine reference images with Muse Video API. Retrieve one MP4 clip with sound at 720p, approximately 10 seconds long, through the task API.
Service Highlights
- Official Discounts
- Pay-as-you-go
- Fast & Low Latency
No generations yet.
Muse Video API Pricing
Transparent pricing with no hidden fees. Pay only for what you use.
| Variant | GoldCurrent price | Platinum | Diamond | Official | Your savings |
|---|---|---|---|---|---|
muse-video-ext | 0.24Credits(~$0.024)/gen | 0.228Credits(~$0.0228)/gen | 0.216Credits(~$0.0216)/gen | 0.3Credits(~$0.03)/gen | 20% |
* Actual costs are subject to final output.
Build with Muse Video API
Generate a video from a prompt or up to nine reference images with Muse Video API. Retrieve one MP4 clip with sound at 720p, approximately 10 seconds long, through the task API.
What Muse Video API supports
Generation modes, inputs and output specifications for your application.
Text to video with Muse Video API
Reference images with Muse Video API
Seven aspect ratios for Muse Video
720p video with sound from the Muse Video Model
Use muse-video-ext in your requests
Asynchronous tasks with Muse Video API
Muse Video API pricing
Retrieve and save Muse Video results
What you can create with Muse Video API
Plan each brief around the content you want to produce and review the delivered result.
Storyboards with Muse Video API
Product stories with Muse Video
Campaign clips with Muse Video API
Reference-led scenes with muse-video-ext
Social video with Muse Video
Video tools powered by Muse Video API
How to get a Muse Video API key and start building
Set up your key, prepare your brief and organize your results.
Get your Muse Video API key
Sign in to APIMart and create a key in API Keys. Keep the key on your server, outside browser code and public repositories.
Prepare a focused creative brief
Describe the intended result and its context. Keep the brief with your request so you can compare revisions.
Review and integrate the output
Check the output against your brief before using it. Keep your selected assets organized for the next stage of production.
Muse Video API examples and integration
Submit muse-video-ext to /v1/videos/generations, save the task ID and query GET /v1/tasks/{task_id} for the result.
- 1
Authenticate Muse Video API requests
Store your API key on the server and send it as Authorization: Bearer <key>. Create one Idempotency-Key for each new generation operation.
- 2
Submit a muse-video-ext task
POST to /v1/videos/generations with model and prompt. The default response provides data[0].task_id; preserve the same key and body when retrying an interrupted submission.
- 3
Retrieve the Muse Video result
Query GET /v1/tasks/{task_id} until completed or failed. Read data.result.videos[0].url[0] on success, or data.error.message on failure; a local wait timeout is not task failure.
See the Muse Video API reference for request and response details.
IDEMPOTENCY_KEY="${IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.apimart.ai/v1/videos/generations \
-H "Authorization: Bearer $APIMART_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-d '{
"model": "muse-video-ext",
"prompt": "Waves gently wash over a beach at sunset, the camera pans slowly, natural ocean sound, no text",
"n": 1,
"aspect_ratio": "16:9",
"duration": 10,
"resolution": "720p"
}'import os
import time
import requests
import uuid
API_BASE = "https://api.apimart.ai"
headers = {"Authorization": f"Bearer {os.environ['APIMART_API_KEY']}"}
idempotency_key = os.environ.get("IDEMPOTENCY_KEY") or str(uuid.uuid4())
headers["Idempotency-Key"] = idempotency_key
print("Idempotency-Key:", idempotency_key)
# 1. Submit the generation task
payload = {
"model": "muse-video-ext",
"prompt": "Waves gently wash over a beach at sunset, the camera pans slowly, natural ocean sound, no text",
"n": 1,
"aspect_ratio": "16:9",
"duration": 10,
"resolution": "720p"
}
resp = requests.post(f"{API_BASE}/v1/videos/generations", headers=headers, json=payload, timeout=60)
resp.raise_for_status()
task_id = resp.json()["data"][0]["task_id"]
print("Task ID:", task_id)
# 2. Poll the task until it finishes
for _ in range(75):
task_resp = requests.get(f"{API_BASE}/v1/tasks/{task_id}", headers=headers, timeout=30)
task_resp.raise_for_status()
task = task_resp.json()["data"]
if task["status"] == "completed":
print(task["result"]["videos"][0]["url"][0])
break
if task["status"] == "failed":
raise RuntimeError(task.get("error", {}).get("message", "generation failed"))
time.sleep(8)
else:
raise TimeoutError(f"task {task_id} did not finish in time; continue GET polling with this task ID")IDEMPOTENCY_KEY="${IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.apimart.ai/v1/videos/generations \
-H "Authorization: Bearer $APIMART_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-d '{
"model": "muse-video-ext",
"prompt": "The fox in the reference image slowly raises its head, a breeze moves its fur, the camera gently pushes in",
"n": 1,
"duration": 10,
"resolution": "720p",
"image_urls": [
"https://example.com/reference.png"
]
}'TASK_ID="task_xxx" # replace with the task_id returned by the POST request
curl "https://api.apimart.ai/v1/tasks/$TASK_ID" \
-H "Authorization: Bearer $APIMART_API_KEY"Muse Video API parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
model | string | Required | Default: — | Required model identifier: muse-video-ext. |
prompt | string | Required | Default: — | A nonempty text prompt after trimming whitespace; required with or without references. Chinese and English are supported. |
image_urls | string[] | Optional | Default: — | Up to nine accessible image URLs, Data URIs or base64 strings; original images total at most 11 MiB. Omit when there are no references. |
aspect_ratio | string | Optional | Default: — | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2 or 2:3. For Auto, omit this field; do not send "auto". Without references the default is 16:9; with references it follows their aspect ratio. |
n | integer | Optional | Default: 1 | Only the number 1 is supported. One request produces one result. |
duration | integer | string | Optional | Default: 10 | Fixed request duration: 10, "10" or "10s"; the numeric value 10 is recommended. Actual video duration may vary. |
resolution | string | Optional | Default: 720p | Only 720p is supported. Send the lowercase value 720p or omit the field. |
nsfw_check | boolean | Optional | Default: false | Enable platform content screening before submission. Successful submission does not guarantee that every moderation check has passed. |
Explore the Muse APIs
Choose the Muse page for the type of content your project needs.
Muse Video API FAQ
What is Muse Video API?
Muse Video API supports text-to-video and reference-image video generation through APIMart. The muse-video-ext model returns one MP4 video with sound at 720p, approximately 10 seconds long.
Which model ID does Muse Video API use?
Use muse-video-ext, including -ext, as the model value in your request.
How do I get a Muse Video API key?
Sign in to APIMart and create an API key in API Keys. Keep it on your server and send Authorization: Bearer <key> when submitting and querying tasks.
How many reference images does Muse Video support?
Use zero to nine reference images, with a combined original size of at most 11 MiB. Send them in image_urls as accessible URLs, Data URIs or base64; a prompt is required even with references.
Which aspect ratios does Muse Video API support?
Supported ratios are 1:1, 16:9, 9:16, 4:3, 3:4, 3:2 and 2:3. Auto means omitting aspect_ratio: with references the composition follows them, while text-only requests default to 16:9.
Can I change Muse Video duration, resolution or audio?
The supported settings are approximately 10 seconds, 720p and sound enabled. Use duration: 10 and resolution: "720p" or their defaults; audio: false is rejected. Actual playback duration comes from the delivered file.
Does Muse Video API support first frames, last frames or extensions?
There are no dedicated first-frame, last-frame, reference-video, reference-audio or extension controls. Supply reference images through image_urls and describe the intended scene in the prompt.
What if a Muse Video API task takes longer than the page wait?
Keep its task ID and query it again later. A browser timeout or stopped polling does not cancel the server task; do not create another generation request automatically.
How is Muse Video API pricing calculated?
Review the live pricing for your account before generating. Final task cost and your account statement determine the charge. Each request is billed per video clip, not per second.
Can I keep the results from Muse Video?
Download or archive the delivered files if you need to keep them. If expires_at is returned, save them before that time; an expired link should not trigger another paid generation automatically.
Related Models
Explore more models in the same category.

Pixverse V6 Max
PixVerse V6 Max is an advanced AI video generation model that transforms text and images into cinematic videos up to 15 seconds long at 1080p. With realistic visuals, expressive characters, and optional synchronized audio, it offers precise creative control for multi-shot storytelling, advertising, and music videos.
0.32Credits/s~$0.032/sSave 20%
Kling V4
Kling 4.0 is an advanced AI video generation model that brings creative ideas to life with realistic motion, dynamic camera work, and precise visual control. With support for continuous videos up to 30 seconds and multiple reference inputs, it helps creators craft cinematic stories with greater flexibility.
1.4Credits/s~$0.14/sSave 20%
ViduQ 4 Preview
Vidu Q4 Preview is ShengShu's image-to-video and reference-to-video model. Animate one first frame or combine up to 15 reference images and 3 audio clips into 3–16 second videos at up to 4K, with audio generated by default.
0.912Credits/s~$0.0912/sSave 20%
Wan 3.0 Video Prime
Wan 3.0 Prime is the Prime version of Alibaba Cloud's all-in-one Wan 3.0 video model, with general, first-and-last-frame and file or webpage modes and 2–30 second output.
2.057Credits/s~$0.2057/sSave 20%