Veo 3.1 Fast — Reference 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": {
"prompt": "<string>",
"image_urls": [
"<string>"
],
"aspect_ratio": "<string>",
"resolution": "<string>",
"duration": "<string>",
"has_sound": "<string>",
"seed": 123
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": {
"prompt": "<string>",
"image_urls": ["<string>"],
"aspect_ratio": "<string>",
"resolution": "<string>",
"duration": "<string>",
"has_sound": "<string>",
"seed": 123
}
}
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: {
prompt: '<string>',
image_urls: ['<string>'],
aspect_ratio: '<string>',
resolution: '<string>',
duration: '<string>',
has_sound: '<string>',
seed: 123
}
})
};
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
}Veo 3.1 Fast
Veo 3.1 Fast — Reference to Video
Generate videos using reference images with Google’s Veo 3.1 Fast model
POST
/
v1
/
jobs
/
submit
Veo 3.1 Fast — Reference 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": {
"prompt": "<string>",
"image_urls": [
"<string>"
],
"aspect_ratio": "<string>",
"resolution": "<string>",
"duration": "<string>",
"has_sound": "<string>",
"seed": 123
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": {
"prompt": "<string>",
"image_urls": ["<string>"],
"aspect_ratio": "<string>",
"resolution": "<string>",
"duration": "<string>",
"has_sound": "<string>",
"seed": 123
}
}
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: {
prompt: '<string>',
image_urls: ['<string>'],
aspect_ratio: '<string>',
resolution: '<string>',
duration: '<string>',
has_sound: '<string>',
seed: 123
}
})
};
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
}Generate videos using one or more reference images to guide the visual style and content with Google’s Veo 3.1 Fast model.
| Property | Value |
|---|---|
| Provider | |
| Model | Veo 3.1 Fast |
| Capability | Reference to Video |
| Base Cost | 200,000 micro-cents/second ($0.20/sec) |
| Processing Time | ~240 seconds |
Request Body
string
required
Model slug. Use
google/veo-3.1-fast/reference-to-video for reference-to-video generation.object
required
Input parameters for reference-to-video generation.
Hide properties
Hide properties
string
required
Text description guiding the generation (max 4000 characters).
string[]
required
Array of reference image URLs (minimum 1, maximum 3).
string
Video aspect ratio. Default:
16:9. Options: 16:9, 9:16.string
Output resolution. Default:
720p. Options: 720p, 1080p, 4k.string
Video duration in seconds. Default:
8. Options: 4, 6, 8.string
Enable audio generation. Default:
true. Options: true, false.integer
Seed for reproducible results.
string
HTTPS URL to receive a webhook notification when the job completes or fails.
Pricing
Base cost: 200,000 micro-cents per second ($0.20/sec)finalCost = baseCost × duration × resolution × has_sound
| Factor | Option | Multiplier |
|---|---|---|
| Duration | 4 | 4x |
6 | 6x | |
8 | 8x | |
| Resolution | 720p | 1x |
1080p | 1x | |
4k | 1.5x | |
| Sound | false | 1x |
true | 1.5x |
Default cost: 8 seconds, 720p, with sound = 200,000 × 8 × 1 × 1.5 = 2,400,000 micro-cents ($2.40)
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": "google/veo-3.1-fast/reference-to-video",
"input": {
"prompt": "A cinematic scene combining the visual elements from the reference images",
"image_urls": [
"https://example.com/reference1.png",
"https://example.com/reference2.png"
],
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": "8",
"has_sound": "true"
}
}'
import requests
response = requests.post(
"https://api.muvi.video/v1/jobs/submit",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"model": "google/veo-3.1-fast/reference-to-video",
"input": {
"prompt": "A cinematic scene combining the visual elements from the reference images",
"image_urls": [
"https://example.com/reference1.png",
"https://example.com/reference2.png"
],
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": "8",
"has_sound": "true"
}
}
)
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: "google/veo-3.1-fast/reference-to-video",
input: {
prompt: "A cinematic scene combining the visual elements from the reference images",
image_urls: [
"https://example.com/reference1.png",
"https://example.com/reference2.png"
],
aspect_ratio: "16:9",
resolution: "1080p",
duration: "8",
has_sound: "true"
}
})
});
const data = await response.json();
console.log(data);
