Get Job Status
curl --request GET \
--url https://api.muvi.video/v1/jobs/{jobId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.muvi.video/v1/jobs/{jobId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.muvi.video/v1/jobs/{jobId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"jobId": "<string>",
"status": "<string>",
"progress": 123,
"output": {},
"outputs": {},
"error": {},
"createdAt": "<string>",
"completedAt": {}
}Task Management
Get Job Status
Retrieve the current status and details of a specific job.
GET
/
v1
/
jobs
/
{jobId}
Get Job Status
curl --request GET \
--url https://api.muvi.video/v1/jobs/{jobId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.muvi.video/v1/jobs/{jobId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.muvi.video/v1/jobs/{jobId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"jobId": "<string>",
"status": "<string>",
"progress": 123,
"output": {},
"outputs": {},
"error": {},
"createdAt": "<string>",
"completedAt": {}
}Authentication
This endpoint requires an API key with thecheck_status scope.
Authorization: Bearer YOUR_API_KEY
Path Parameters
string
required
The unique identifier of the job to retrieve.
Response
string
Unique identifier of the job.
string
Current status of the job. See status enum below.
number
Job progress as a percentage:
0 (pending), 50 (processing), 100 (completed).string | null
Direct URL string of the first output item. This is a convenience field for quick access.
null if the job has not completed yet.array | null
Full array of output items with detailed metadata.
null if the job has not completed yet. Each item contains url, type, thumbnail, and posterImage fields.object | null
Error details if the job failed. Contains
code and message fields.string
ISO 8601 timestamp of when the job was created.
string | null
ISO 8601 timestamp of when the job completed.
null if still in progress.Status Enum
| Status | Description |
|---|---|
pending | Job has been submitted and is waiting in the queue. |
processing | A worker has picked up the job and generation is in progress. |
completed | Job has finished successfully. Output is available. |
failed | Job encountered an error. Credits are automatically refunded. |
cancelled | Job was cancelled by the user. Credits are refunded. |
Output Type Enum
| Type | Description |
|---|---|
video | Generated video file. |
image | Generated image file. |
audio | Generated audio file. |
text | Generated text content. |
Examples
curl -X GET https://api.muvi.video/v1/jobs/job_abc123def456 \
-H "Authorization: Bearer YOUR_API_KEY"
import requests
response = requests.get(
"https://api.muvi.video/v1/jobs/job_abc123def456",
headers={
"Authorization": "Bearer YOUR_API_KEY"
}
)
data = response.json()
print(f"Status: {data['status']}")
print(f"Progress: {data['progress']}%")
if data["output"]:
print(f"Output URL: {data['output']}")
const response = await fetch(
"https://api.muvi.video/v1/jobs/job_abc123def456",
{
headers: {
"Authorization": "Bearer YOUR_API_KEY"
}
}
);
const data = await response.json();
console.log(`Status: ${data.status}`);
console.log(`Progress: ${data.progress}%`);
if (data.output) {
console.log(`Output URL: ${data.output}`);
}
Example Response (Completed)
{
"jobId": "job_abc123def456",
"status": "completed",
"progress": 100,
"output": "https://cdn.muvi.video/outputs/job_abc123def456/output_0.mp4",
"outputs": [
{
"url": "https://cdn.muvi.video/outputs/job_abc123def456/output_0.mp4",
"type": "video",
"thumbnail": "https://cdn.muvi.video/outputs/job_abc123def456/thumb_0.jpg",
"posterImage": "https://cdn.muvi.video/outputs/job_abc123def456/poster_0.jpg"
}
],
"error": null,
"createdAt": "2026-02-18T15:00:00Z",
"completedAt": "2026-02-18T15:02:30Z"
}
Example Response (Processing)
{
"jobId": "job_abc123def456",
"status": "processing",
"progress": 50,
"output": null,
"outputs": null,
"error": null,
"createdAt": "2026-02-18T15:00:00Z",
"completedAt": null
}
Example Response (Failed)
{
"jobId": "job_abc123def456",
"status": "failed",
"progress": 0,
"output": null,
"outputs": null,
"error": {
"code": "GENERATION_FAILED",
"message": "The model failed to generate the requested output. Credits have been refunded."
},
"createdAt": "2026-02-18T15:00:00Z",
"completedAt": "2026-02-18T15:01:15Z"
}
