Meta
Muse Video 1.0
muse-video-1.0/text-to-video
A video generation model launched by Meta Superintelligence Labs, supporting text-to-video and image-to-video. Each video is a fixed 10 seconds at 720p with built-in audio; image-to-video can use 1 to 9 reference images to guide the visuals, making it suitable for visualizing social media assets and storyboard concepts.
Try muse-video-1.0/text-to-video
Input
Showcases
View all showcasesOutput
videoPricing
muse-video-1.0/text-to-video per video
| Unit Price | $0.0336 |
|---|
Positioning Overview
This is a text-to-video model: input a prompt and it generates a video. Each video is fixed at 10 seconds, 720p, and comes with its own audio. You can specify the aspect ratio; the default is 16:9, with 9:16, 1:1, 4:3, 3:4, 3:2, and 2:3 also available, suiting landscape, portrait, square, and other display scenarios. Prompts can be up to 5,000 characters and are used to describe the subject, action, camera movement, and desired audio. It is aimed at content creators, social media operators, and video concept designers, and is suitable for quickly turning text ideas into video assets usable as storyboards, mood clips, or short-video material.
Core Highlights
- Flexible aspect ratio choices — Seven aspect ratios are provided, with 16:9 as the default, covering common display needs such as landscape, portrait, square, 4:3, and 3:2.
- Prompts can describe camera movement — Input text can include subject, action, and camera movement information, making it easy to organize visual narrative and camerawork within a single generation.
- Fixed 10 seconds, with built-in audio — Each call returns a 10-second, 720p video, with picture and audio generated together, so no separate audio track is needed.
Capability Description
Text-to-video: Provide a prompt to generate the corresponding video. Prompts can be up to 5,000 characters and can describe the subject, action, camera movement, and audio. Output is fixed at 10 seconds, 720p, and includes audio.
Aspect ratio control: Specify the aspect ratio via the aspect_ratio parameter. Options are 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, and 2:3, with 16:9 as the default. Adjust the frame to match the placement.
Use Cases
- Vertical short-video material for social media — Operators use prompts to describe the visual subject and camera movement, specify a 9:16 ratio, and generate a vertical video clip for publishing or editing on short-video platforms.
- Video concept and storyboard visualization — Directors or storyboard artists use a text description of camera action to generate a corresponding video clip as a visual reference for storyboard preview or concept communication.
- Landscape content placement preview — Creators generate video clips in the default 16:9 ratio for creative previews of landscape display scenarios, or as visual tests before final production.
- Square placeholder video production — Designers generate videos in 1:1 or 4:3 ratio for feeds or square ad slots, quickly obtaining motion assets that match the placement.
Limitations and Selection Advice
Currently only text-to-video generation is available; image input is not supported. Duration is fixed at 10 seconds and resolution is fixed at 720p and cannot be adjusted. Prompts can be up to 5,000 characters; longer prompts cannot be submitted. Only one aspect ratio can be selected per request, and only from the listed ratios. Generated videos are driven solely by the text prompt, with no additional material control such as first frame, last frame, or reference images. Fast motion and physical behavior may be inaccurate.
What's new
View changelog →- New model New model: Muse Video 1.0 Image-to-Video
- New model New model: Muse Video 1.0 Text-to-Video
Frequently asked questions
View all FAQs →-
How long a video can this model generate?
Each clip is fixed at 10 seconds. The duration is not adjustable; writing "longer duration" in the prompt will not take effect. If you need longer content, generate it in 10-second segments and stitch them together yourself.
-
Can the output resolution and aspect ratio be changed?
The resolution is fixed at 720p and cannot be adjusted. Specify the aspect ratio with aspect_ratio: for image-to-video, the options are auto, 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3, with the default being auto (which follows the aspect ratio of the reference image); for text-to-video, the latter 7 ratios are available, with the default being 16:9.
-
How many reference images can I upload at most?
1 to 9 images, passed in as http or https links. Reference images are used to guide the visuals and are not guaranteed to become a pixel-identical first frame; if you want a particular image to dominate the composition, point to it explicitly in the prompt (for example, "use the person in the first image as the main subject"), and the remaining images will only supplement the style or elements.
-
How should I write the prompt so the image moves correctly?
Write in the four-part order of “how the subject corresponds to the reference image → subject action → camera movement → sound,” with one specific sentence per part. For example, first write “Use the red sports car in image 1 as the subject,” then write “the wheels turn and the body slowly moves forward,” then write “the camera follows from a low side angle,” and finally write “low engine hum and tire-screeching sounds.” Put camera movement in its own sentence; do not mix it with subject action in the same sentence.
Create a generation task
https://api.hiapi.ai/v1/tasks Headers
AuthorizationstringRequiredAccount API key. Required on every request. Example: Bearer YOUR_HIAPI_API_KEY. Get your API key
Content-TypestringOptionalThe request body is always parsed as JSON; when sent, only application/json (optionally with charset) is accepted — any other value returns 415. Example: application/json.
Idempotency-KeystringOptionalIdempotency key, up to 255 bytes. Retries with the same key from the same account create the task only once; replays return the original taskId.
On network timeouts or client retries, the same key creates the task only once — no double charges (scope: the API key's account). Use a business-unique identifier as the key (e.g. "order-42"); replays return the original taskId, and keys expire 24 hours after the first request. See the Unified Async API overview for the full scenario matrix.
Body
modelstringRequiredCurrent fixed value: muse-video-1.0/text-to-video
routestringOptionalCurrent fixed value: default
inputobjectRequired
Business parameters for muse-video-1.0/text-to-video and route default — see the parameter table below.
promptstringRequiredminLength 1maxLength 5000pattern \SText prompt that describes the subject, action, camera movement, and sound in natural language. The generated videos are all 10 seconds long, 720p, and come with sound.
aspect_ratiostringOptionalDefault: "16:9"Specifies the aspect ratio of the generated video as a string; the default is 16:9.
16:99:161:14:33:43:22:3callbackobjectOptional
Terminal-state notification config. When omitted, no callback is delivered — poll the task yourself. See the callback note below.
Provide callback.url when creating a task and HiAPI POSTs to your service once the task reaches a terminal state — no polling needed. The callback payload mirrors the task detail structure; signature verification, delivery retries and idempotency are documented on the Unified Async API overview page.
urlstringRequiredRequired when callback is present. A POST is sent to this URL once the task reaches a terminal state; must be a valid http(s) URL.
whenstringOptionalDefault: "final"Only final is supported today — notified on both success and fail.
finalstoragestringOptionalDefault: "temp"Artifact storage tier: temp (default, retained about 7 days) or persistent (long-term, billed by size). Insufficient balance or exceeding the storage cap silently downgrades to temp; the effective tier is shown in the task detail response.
temppersistentRequest examples
# Submit an async task; returns a taskId immediately (no waiting for generation)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "muse-video-1.0/text-to-video",
"input": {
"prompt": "…",
"aspect_ratio": "16:9"
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "muse-video-1.0/text-to-video",
input: {
"prompt": "…",
"aspect_ratio": "16:9"
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "muse-video-1.0/text-to-video",
"input": {
"prompt": "…",
"aspect_ratio": "16:9"
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Get task detail
https://api.hiapi.ai/v1/tasks/:id Response fields
taskIdstringRequiredTask ID, always prefixed with tk-hiapi-.
modelstringRequiredResolved full model name. Tasks submitted with the route parameter return base@route (e.g. gpt-image-2/text-to-image@ext); otherwise identical to the name passed at creation.
routestringOptionalPresent only when the task was submitted with an explicit route parameter; echoes the submitted value.
statusstringRequiredTask status.
queued Queued, not started yet.
handling Being processed.
archiving Processing finished, artifacts being prepared.
success Terminal: completed, artifacts available (output returned).
fail Terminal: failed (error returned).
After submission, check status: success and fail are terminal, everything else is non-terminal. Poll every 1–3 seconds until terminal. On success, download artifacts from output[].url and transfer them before expireAt; pass storage: "persistent" at creation time when long-term retention is needed.
creatednumberRequiredTask creation time (Unix seconds).
completednumberRequiredUnix seconds when the task reached a terminal state; fixed to 0 while not terminal.
outputarrayOptional
Present only when status == success. Artifact list — always an array; a single task may return multiple types at once (e.g. video + first_frame).
Array [ object ]
Array items
urlstringRequiredArtifact URL, directly downloadable.
typestringRequiredCurrent possible values: video, image, audio, first_frame, last_frame, thumbnail; more may be added later.
expireAtnumberRequiredUnix seconds until which the artifact remains accessible; download or transfer before it expires.
errorobjectOptional
Present only when status == fail.
codestringRequiredBusiness error code.
messagestringRequiredError description.
Response examples
Success
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} Processing (non-terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Failed
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
View all articles →Related Models
View all models →Same Type
-
Creatify Boreal Creatify $0.015 /second -
Veo 3.1 Lite Google $0.060 /second -
Runway Gen 4.5 Runway $0.172 /second -
Hailuo 2.3 MiniMax $0.270 /video -
Seedance 2.5 ByteDance $0.121 /second -
FLUX 3 Max Black Forest Labs $0.121 /second -
Kling 3.0 Kuaishou $0.100 /second -
PixVerse V6 PixVerse $0.036 /second -
P-Video 2 Pro Replace Pruna AI $0.036 /second -
Grok Imagine 1.5 Lite xAI $0.029 /second -
Grok Imagine 1.5 xAI $0.011 /second -
Ray 3.2 Luma $0.214 /video