Retrieves the status of a specific generation or workflow job and returns the final media URLs once complete. This is the poll URL returned by both POST /api/v1/generations and POST /api/v1/workflows/:slug/runs.
Get Job Status
Request
GET /api/v1/generations/:job_id
curl -X GET https://soup.video/api/v1/generations/8f8b3c3d-1a2b-4c5d-6e7f-8a9b0c1d2e3f \
-H "Authorization: Bearer sk_soup_your_key_here"
Response: Processing
{
"job_id": "8f8b3c3d-1a2b-4c5d-6e7f-8a9b0c1d2e3f",
"status": "processing"
}
We recommend polling this endpoint every 5–10 seconds.
Response: Completed
{
"job_id": "8f8b3c3d-1a2b-4c5d-6e7f-8a9b0c1d2e3f",
"status": "completed",
"asset": {
"media_url": "https://assets.soup.video/public/user_id/8f8b3c3d/video.mp4",
"thumbnail_url": "https://assets.soup.video/public/user_id/8f8b3c3d/video.mp4",
"cost": 50
}
}
Response: Failed
{
"job_id": "8f8b3c3d-1a2b-4c5d-6e7f-8a9b0c1d2e3f",
"status": "failed",
"error": "The prompt contains blocked content or the upstream provider timed out."
}
If a job fails, the credits deducted at the start of the request are automatically refunded to your wallet.