
Output of the text-to-video example below: muse-video, 10 seconds, 16:9
Create a token
Add a token in Token management with these settings:
You do not need a Meta account or a dedicated video group.
Pricing
Muse videos are billed per video. The price does not depend on the duration you pick within a model, the aspect ratio, or whether you send images:
How charges work:
- You are charged when the task is created, and failed tasks are refunded in full.
- Requests rejected at submission with a parameter error are not charged.
- Each resubmission creates a new task and is charged again, so keep a mapping between your own job ID and the task
id.
Choose between video models
As of October 30, 2026, Muse has the lowest price on LaoZhang API for a 10-second clip at 720p or higher; see Models and pricing for every model. Pick by task:- Muse: a fixed price per video, one continuous 20- or 30-second clip, or continuing an existing video.
- MiniMax H3: 2K output, reference video, or reference audio. For short 768P clips of about 5 seconds, H3’s per-second price is lower.
- Seedance 2.0: 1080p, or footage of real people or virtual humans.
- Wan: 1080P output, or editing an existing video.
How it works
1
Create a task
Call
POST /v1/videos with at least model and prompt. The endpoint is asynchronous: it returns a task id within seconds instead of waiting for the video. Save it.2
Poll the status
Call
GET /v1/videos/{id} every 15 seconds and read status; each call returns right away. Clips up to 10 seconds usually finish in 2–3 minutes and can take more than 5 at busy times; 20- and 30-second clips take longer.3
Download the result
When
status is completed, download the MP4 from video_url. The download needs no Authorization header, and the link stays valid for 7 days.Set up
The cURL examples usejq to read fields from responses (brew install jq on macOS). Set your key and base URL first:
Generate a video from text
seconds: leave it out andmuse-videomakes a 10-second clip.aspect_ratio: the shape of the clip; you can sendsizein pixels instead, such as720x1280.
Animate from a first frame or first and last frames
Passimage to set the opening shot, and add last_frame to set the closing shot as well. Each image can be a public URL or a data:image/...;base64, data URL:
input_reference and the last frame in last_frame:
Content-Type: application/json when you upload with -F. Each image can be up to 10 MB.
Generate from reference images
Send 1–4 images inreference_images. The model carries their subject and style into the video without using any of them as the first frame:
Make 20s and 30s clips or continue a video
muse-video-20s and muse-video-30s generate one continuous 20- or 30-second clip. Call them the same way as muse-video; seconds can be left out.
To keep going from an existing clip, pass video_url:
- Only
muse-video-20sandmuse-video-30sacceptvideo_url; they add 10 and 20 seconds after the source clip. - The source must be a publicly downloadable https MP4 link, no longer than 10 seconds.
- The result includes the source clip, so a 5-second source continued with
muse-video-20sbecomes a 15-second video. - A
video_urlreturned by LaoZhang API works as a source.
Poll and download
Get the task
status is in_progress and progress gives a rough percentage:
video_url:
status: "failed" and the reason in error.message. Its charge has already been refunded:
Download the video
GET /v1/videos/{id}/content with your Authorization header; it returns the MP4 file.
Minimal Python client
Requiresrequests (pip install requests):
API reference
Request fields
Output size by aspect ratio:
The frame rate is always 24 fps;
resolution and fps do not change the output.
Task status
Errors
The first three come back as HTTP 400 at submission: no task is created and nothing is charged. The rest arrive as a failed task, already refunded.
FAQ
Do 5-second and 10-second clips cost the same?
Yes.muse-video costs $0.30 for 5, 8, or 10 seconds. For a longer continuous shot, use muse-video-20s ($0.55) or muse-video-30s ($0.80).
Can I get 1080p video?
No. Muse outputs 1280×720 in landscape and 720×1280 in portrait; other shapes are listed under Request fields. Sendingresolution: "1080p" is accepted, but the output size does not change.
Do the videos have sound? Can I turn it off?
Every clip has a soundtrack, with music and effects shaped by your prompt. There is no option to turn it off; strip the audio track after downloading if you do not need it.Can I resubmit after a timeout or failure?
Check the task first. A client-side timeout does not mean the task failed, so keep polling the sameid; resubmitting creates a new task and charges again. Only when status is failed should you fix the request and create a new task. Failed tasks are already refunded, and a task still unfinished after 40 minutes is marked failed and refunded automatically.
How long are video links kept?
7 days. After that the link expires and the task cannot be downloaded again, so save the file once the task completes.Related docs
- MiniMax H3 video API
- Seedance 2.0 video API
- Wan 2.7 and Wan 3.0 video API
- Models and pricing
- Usage logs
- Meta Model API models: Muse Spark, Muse Image, and others, with no video generation model (checked October 30, 2026)