Submit Job
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>"
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": { "prompt": "<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>'}})
};
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>",
"requestId": "<string>",
"status": "<string>",
"estimatedCompletionTime": "<string>",
"costMicroCents": 123
}Task Management
Submit Job
Submit a new AI generation job to the PixelByte platform.
POST
/
v1
/
jobs
/
submit
Submit Job
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>"
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": { "prompt": "<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>'}})
};
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>",
"requestId": "<string>",
"status": "<string>",
"estimatedCompletionTime": "<string>",
"costMicroCents": 123
}Authentication
This endpoint requires an API key with thesubmit_job scope.
Authorization: Bearer YOUR_API_KEY
Request Body
string
required
The model slug to use for generation. Example:
"google/veo-3.1-fast/text-to-video"string
Optional model version. If omitted, the latest stable version is used.
object
required
Model-specific input parameters. The structure depends on the selected model. See the Video Models and Image Models pages for model-specific “Try it” panels with pre-filled parameters.
Show common fields
Show common fields
string
Text prompt for the generation. Required for most models.
string
An HTTPS URL to receive a webhook notification when the job completes or fails. Must use the
https:// scheme.Response
string
Unique identifier for the submitted job.
string
Unique request identifier for tracing and support purposes.
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 (1/1,000,000 of a dollar).
Error Codes
| Code | Description |
|---|---|
MODEL_NOT_FOUND | The specified model slug does not exist or is not available. |
INSUFFICIENT_BALANCE | Your account does not have enough credits to submit this job. |
INVALID_INPUT | The input object does not match the model’s expected schema. |
CONCURRENT_JOBS_EXCEEDED | You have reached the maximum number of concurrent jobs for your plan. |
MODEL_ACCESS_DENIED | Your API key does not have access to the requested model. |
PUBSUB_PUBLISH_FAILED | Internal error while queuing the job. Please retry. |
Examples
curl -X POST https://api.muvi.video/v1/jobs/submit \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/veo-3.1-fast/text-to-video",
"input": {
"prompt": "A cinematic drone shot of a mountain landscape at sunset"
},
"webhookUrl": "https://example.com/webhooks/pixelbyte"
}'
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/text-to-video",
"input": {
"prompt": "A cinematic drone shot of a mountain landscape at sunset"
},
"webhookUrl": "https://example.com/webhooks/pixelbyte"
}
)
data = response.json()
print(f"Job ID: {data['jobId']}")
print(f"Status: {data['status']}")
print(f"Estimated completion: {data['estimatedCompletionTime']}")
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/text-to-video",
input: {
prompt: "A cinematic drone shot of a mountain landscape at sunset"
},
webhookUrl: "https://example.com/webhooks/pixelbyte"
})
});
const data = await response.json();
console.log(`Job ID: ${data.jobId}`);
console.log(`Status: ${data.status}`);
console.log(`Estimated completion: ${data.estimatedCompletionTime}`);
Example Response
{
"jobId": "job_abc123def456",
"requestId": "req_789xyz",
"status": "pending",
"estimatedCompletionTime": "2026-02-18T15:30:00Z",
"costMicroCents": 500000
}
