Gen 4
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_url": "<string>",
"aspect_ratio": "<string>",
"duration": "<string>"
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": {
"prompt": "<string>",
"image_url": "<string>",
"aspect_ratio": "<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: {
prompt: '<string>',
image_url: '<string>',
aspect_ratio: '<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
}Gen 4
Gen 4
Generate videos using Gen 4 via PixelByte API
POST
/
v1
/
jobs
/
submit
Gen 4
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_url": "<string>",
"aspect_ratio": "<string>",
"duration": "<string>"
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": {
"prompt": "<string>",
"image_url": "<string>",
"aspect_ratio": "<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: {
prompt: '<string>',
image_url: '<string>',
aspect_ratio: '<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
}Generate videos from images with Runway’s Gen 4 model. Supports image-to-video generation with multiple aspect ratios and duration options.
| Property | Value |
|---|---|
| Provider | Runway |
| Slug | runway/gen-4 |
| Capabilities | Image to Video |
| Base Cost | 100,000 micro-cents/second ($0.10/sec) |
| Processing Time | ~120 seconds |
Image to Video
Generate videos from a source image and text prompt. Slug:runway/gen-4/image-to-video
Request Body
string
required
Model slug. Use
runway/gen-4/image-to-video for image-to-video generation.object
required
Input parameters for image-to-video generation.
string
HTTPS URL to receive a webhook notification when the job completes or fails.
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": "runway/gen-4/image-to-video",
"input": {
"prompt": "The camera slowly zooms in as the subject turns to face the viewer",
"image_url": "https://example.com/portrait.jpg",
"aspect_ratio": "16:9",
"duration": "5"
}
}'
import requests
response = requests.post(
"https://api.muvi.video/v1/jobs/submit",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"model": "runway/gen-4/image-to-video",
"input": {
"prompt": "The camera slowly zooms in as the subject turns to face the viewer",
"image_url": "https://example.com/portrait.jpg",
"aspect_ratio": "16:9",
"duration": "5"
}
}
)
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: "runway/gen-4/image-to-video",
input: {
prompt: "The camera slowly zooms in as the subject turns to face the viewer",
image_url: "https://example.com/portrait.jpg",
aspect_ratio: "16:9",
duration: "5"
}
})
});
const data = await response.json();
console.log(data);
Pricing
Base cost: 100,000 micro-cents per second ($0.10/sec)finalCost = baseCost × duration
| Factor | Option | Multiplier |
|---|---|---|
| Duration | 5 | 5x |
10 | 10x |
Default cost: 5 seconds = 100,000 × 5 = 500,000 micro-cents ($0.50)
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.
