Skip to main content
After uploading a video, create a job to start processing it. The API analyzes the footage, optionally applies a style from a template video, and renders the output.

Request fields

video_id
string
required
The video_id returned when you uploaded your video.
template_video_id
string
The video_id of a previously uploaded template video. Clipzy extracts the style from this video and applies it to your footage. See Style templates for details.
config
object
Processing configuration options.
webhook_url
string
A URL that Clipzy calls with the job result when processing completes or fails. See Webhooks for the payload structure.

Create a job

1

Collect your video_id

You need the video_id from a previous upload. If you haven’t uploaded your video yet, follow the Upload video guide first.
2

Send the request

POST a JSON body to /api/v1/jobs.
curl -X POST http://localhost:8000/api/v1/jobs \
  -H "Content-Type: application/json" \
  -d '{
    "video_id": "vid_abc123def456",
    "template_video_id": "vid_template999",
    "config": {"quality": "high"},
    "webhook_url": "https://yourapp.com/webhooks/clipzy"
  }'
3

Read the response

A successful request returns HTTP 200:
{
  "success": true,
  "message": "Job created",
  "data": {
    "job_id": "job_xyz789abc123",
    "video_id": "vid_abc123def456",
    "status": "queued",
    "progress_percent": 0,
    "current_stage": null,
    "created_at": "2024-04-05T10:30:00Z",
    "updated_at": "2024-04-05T10:30:00Z"
  }
}
Save the job_id — you use it to poll for progress or retrieve the result.

Response fields

data.job_id
string
required
Unique identifier for this job. Pass it to GET /api/v1/jobs/{job_id} to check progress, or GET /api/v1/jobs/{job_id}/result when complete.
data.video_id
string
The video_id this job is processing.
data.status
string
Current job status. Immediately after creation, this is "queued". Possible values:
StatusMeaning
queuedJob is waiting to be picked up by a worker.
processingActively running through processing stages.
completedFinished successfully. Result is available.
failedEncountered an unrecoverable error.
cancelledCancelled before completion.
data.progress_percent
number
Integer from 0 to 100 indicating overall completion. Always 0 when first created.
data.current_stage
string
The active processing stage. null when queued. See Track progress for the full stage sequence.
data.created_at
string
ISO 8601 timestamp when the job was created.
data.updated_at
string
ISO 8601 timestamp of the last status change.

Next steps

  • Track progress — poll the job status or wait for a webhook.
  • Webhooks — receive a notification when the job finishes.
  • Style templates — learn how template_video_id affects the output.