Hailuo 2.3 Standard — Image to Video
curl --request POST \
--url https://api.muvi.video/v1/jobs/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "<string>",
"input": {
"image_url": "<string>",
"prompt": "<string>",
"duration": "<string>"
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": {
"image_url": "<string>",
"prompt": "<string>",
"duration": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: '<string>',
input: {image_url: '<string>', prompt: '<string>', duration: '<string>'}
})
};
fetch('https://api.muvi.video/v1/jobs/submit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"jobId": "<string>",
"status": "<string>",
"estimatedCompletionTime": "<string>",
"costMicroCents": 123
}Hailuo 2.3 Standard
Hailuo 2.3 Standard — Image to Video
Generate videos from images using MiniMax Plus Hailuo 2.3 Standard model
POST
/
v1
/
jobs
/
submit
Hailuo 2.3 Standard — Image to Video
curl --request POST \
--url https://api.muvi.video/v1/jobs/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "<string>",
"input": {
"image_url": "<string>",
"prompt": "<string>",
"duration": "<string>"
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": {
"image_url": "<string>",
"prompt": "<string>",
"duration": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: '<string>',
input: {image_url: '<string>', prompt: '<string>', duration: '<string>'}
})
};
fetch('https://api.muvi.video/v1/jobs/submit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"jobId": "<string>",
"status": "<string>",
"estimatedCompletionTime": "<string>",
"costMicroCents": 123
}Animate a still image with MiniMax Plus Hailuo 2.3 Standard — a 768p image-to-video model with selectable duration and balanced quality/cost.
| Property | Value |
|---|---|
| Provider | MiniMax Plus |
| Model | Hailuo 2.3 Standard |
| Capability | Image to Video |
| Base Cost | 35,000 micro-cents/second ($0.035/sec) |
| Processing Time | ~180 seconds |
Request Body
string
required
Model slug. Use
minimax-plus/hailuo-2.3-standard/image-to-video for image-to-video generation.object
required
string
HTTPS URL to receive a webhook notification when the job completes or fails.
Pricing
Base cost: 35,000 micro-cents per second ($0.035/sec)finalCost = baseCost × duration
| Factor | Option | Multiplier |
|---|---|---|
| Duration | 6 | 6x |
10 | 10x |
Default cost: 6 seconds = 35,000 × 6 = 210,000 micro-cents ($0.21)
Response
string
Unique identifier for the submitted job.
string
Initial job status. Always
"pending" on successful submission.string
ISO 8601 timestamp of the estimated completion time.
number
The cost of the job in micro-cents.
Code Examples
curl -X POST https://api.muvi.video/v1/jobs/submit \
-H "Authorization: Bearer $PIXELBYTE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "minimax-plus/hailuo-2.3-standard/image-to-video",
"input": {
"image_url": "https://example.com/image.jpg",
"prompt": "The waves crash gently against the shore as the sun sets",
"duration": "6"
}
}'
import requests
response = requests.post(
"https://api.muvi.video/v1/jobs/submit",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"model": "minimax-plus/hailuo-2.3-standard/image-to-video",
"input": {
"image_url": "https://example.com/image.jpg",
"prompt": "The waves crash gently against the shore as the sun sets",
"duration": "6"
}
}
)
data = response.json()
print(data)
const response = await fetch("https://api.muvi.video/v1/jobs/submit", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "minimax-plus/hailuo-2.3-standard/image-to-video",
input: {
image_url: "https://example.com/image.jpg",
prompt: "The waves crash gently against the shore as the sun sets",
duration: "6"
}
})
});
const data = await response.json();
console.log(data);
