video_id, poll its status, and retrieve the result once it reaches the completed state.
Job statuses
| Status | Description |
|---|---|
queued | Job accepted and waiting for a worker. |
processing | Actively being processed. |
completed | Processing finished successfully. |
failed | Processing encountered an unrecoverable error. |
cancelled | Job was cancelled before completion. |
Processing stages
While a job hasstatus: "processing", the current_stage field reflects the active pipeline step:
| Stage | Description |
|---|---|
video_analysis | Analyzing visual content of the source video. |
audio_analysis | Analyzing audio characteristics. |
motion_analysis | Detecting motion patterns and camera movement. |
style_extraction | Extracting style parameters from the template video. |
style_application | Applying extracted style to the source video. |
rendering | Encoding and writing the output file. |
POST /api/v1/jobs
Create a new processing job for an uploaded video.Request body
The
video_id returned when you uploaded the source video.The
video_id of a previously uploaded video to use as a style template. The engine extracts style from this video and applies it to the source.Optional processing configuration.
A URL the engine will POST to when the job reaches a terminal state (
completed, failed, or cancelled).Response fields
true when the job was created successfully.Human-readable confirmation.
A
JobResponse object.Example request
Example response
GET /api/v1/jobs/{job_id}
Retrieve the current status of a job.Path parameters
The
job_id returned when the job was created.Response fields
Returns the standard response envelope with aJobResponse object as data. See the field descriptions under POST /api/v1/jobs above.
Example request
Example response
GET /api/v1/jobs/{job_id}/result
Retrieve the full result of a completed job, including the extractedStyleJSON and the output video URL.
Path parameters
The
job_id of the completed job.Response fields
Returns aJobDetailResponse, which extends JobResponse with the following additional fields:
The
StyleJSON object extracted during processing. null if the job has not completed or if extraction failed. See the StyleJSON schema for the full field reference.URL of the processed output video.
null if the job has not completed successfully.Populated when the job
status is "failed". null otherwise.Total elapsed time for processing in seconds.
null if the job has not completed.Example request
Example response
GET /api/v1/jobs
List jobs with pagination.Query parameters
Page number to retrieve, starting at
1.Number of jobs to return per page.