Dashboard

Jobs API

The Jobs API is the core of U-Gen. Use it to create video generation jobs, monitor progress through the pipeline, and retrieve the final output.

Pipeline Stages

A job progresses through 9 stages: prepare → agents → init → generation → concat → audio → captions → final_merge → complete. Track progress via the current_stage and progress_percent fields.

Create Job

Create a new UGC video generation job. Credits are reserved upfront and settled on completion.

POST/api/v1/jobs

• Credits are reserved at creation and released/consumed when the job completes or fails.

• If idempotency_key is omitted, a UUID is auto-generated. Same key + same params returns the existing job.

• If persona_id is omitted, a random persona is auto-assigned.

• When custom_script is provided, script_structure, script_tone, key_selling_points, and cta_text are ignored.

• Kling 3.0 models allow segment_duration 3–10s.

• For native 4K output, use the kling3_4k model.

• QAI mode sets the quality threshold. Retries are configured separately (max_retries_keyframe, max_retries_video: 0–5 each, defaults 1/0).

Required

ParameterType
product_nameREQ
string

Parameters

ParameterType
product_image_urlREQ
string (URL)
segment_countREQ
integer
aspect_ratio
string
Default: 9:16
segment_duration
integer
Default: 10
interaction_mode
string
Default: holdable
environment_description
string
key_selling_points
string[]
cta_text
string
custom_script
string
script_structure
string
Default: standard_5phase
script_tone
string
Default: conversational
caption_style
string
Default: tiktok_karaoke
custom_caption_options
object
music_mood
string
music_volume
number
Default: 0.15
custom_music_id
string
voice_settings
object
qai_mode
string
Default: lenient
human_review_max_rejections
integer
Default: 0
human_review_budget
string
Default: accept_best
stop_at_stage
string
idempotency_key
string

Video Generation

ParameterType
video_model
string
Default: kling3_std

Content & Script

ParameterType
persona_id
string

Captions

ParameterType
captions_enabled
boolean
Default: true

Music

ParameterType
music_enabled
boolean
Default: true

Voice

ParameterType
elevenlabs_voice_id
string

Quality Assurance (QAI)

ParameterType
qai_enabled
boolean
Default: true

Human Review (HITL)

ParameterType
human_review
string
Default: off

Pipeline Control

ParameterType
failure_behavior
string
Default: accept_best

Delivery

ParameterType
webhook_url
string (URL)

Request Example

curl -X POST https://api.u-gen.ai/api/v1/jobs \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "product_name": "Premium Wireless Headphones",
    "product_image_url": "https://example.com/headphones.jpg",
    "segment_count": 3,
    "interaction_mode": "holdable",
    "video_model": "kling3_std",
    "script_tone": "enthusiastic",
    "music_mood": "upbeat",
    "qai_enabled": true
  }'

Suggest Fields

Get AI-powered field suggestions based on your product. Free — no credits consumed.

POST/api/v1/jobs/suggest-fields

• This endpoint is free — no credits are consumed.

• Uses AI vision to analyze the product image and suggest script-related fields.

• Returns: key_selling_points, cta_text, environment_description, and custom_script.

Parameters

ParameterType
product_nameREQ
string
product_image_urlREQ
string (URL)
persona_id
string
interaction_mode
string
segment_count
integer

Request Example

curl -X POST https://api.u-gen.ai/api/v1/jobs/suggest-fields \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "product_name": "Wireless Headphones",
    "product_image_url": "https://example.com/headphones.jpg"
  }'

AI Suggest Workflow

Call Suggest Fields first with a product image, then use the response to pre-fill key selling points, CTA, environment, and script in the Create Job request.

Get Job

Retrieve job status with progress_percent, segments, and all output URLs.

GET/api/v1/jobs/{jobId}

• The gateway enriches the response with a progress_percent field (0–100).

• During the generation stage, progress is proportional to completed segments.

• Poll this endpoint every 5–10 seconds to track job progress.

• Segments are included in the response with individual status and output URLs.

Parameters

ParameterType
jobIdREQ
string (UUID)

Request Example

curl -X GET https://api.u-gen.ai/api/v1/jobs/YOUR_JOB_ID \
  -H "X-API-Key: YOUR_API_KEY"

List Jobs

List all jobs for the authenticated tenant with optional status filtering.

GET/api/v1/jobs

Parameters

ParameterType
status
string
page
integer
Default: 1
page_size
integer
Default: 20

Request Example

curl -X GET https://api.u-gen.ai/api/v1/jobs?status=completed&page=1&page_size=10 \
  -H "X-API-Key: YOUR_API_KEY"

Cancel Job

Cancel a pending or processing job. Reserved credits are released.

DELETE/api/v1/jobs/{jobId}

Parameters

ParameterType
jobIdREQ
string (UUID)

Request Example

curl -X DELETE https://api.u-gen.ai/api/v1/jobs/YOUR_JOB_ID \
  -H "X-API-Key: YOUR_API_KEY"

Pause Job

Pause a processing job. The pipeline stops after the current stage completes.

POST/api/v1/jobs/{jobId}/pause

Parameters

ParameterType
jobIdREQ
string (UUID)

Request Example

curl -X POST https://api.u-gen.ai/api/v1/jobs/YOUR_JOB_ID/pause \
  -H "X-API-Key: YOUR_API_KEY"

Resume Job

Resume a paused job. Processing continues from where it left off.

POST/api/v1/jobs/{jobId}/resume

Parameters

ParameterType
jobIdREQ
string (UUID)

Request Example

curl -X POST https://api.u-gen.ai/api/v1/jobs/YOUR_JOB_ID/resume \
  -H "X-API-Key: YOUR_API_KEY"

Retry Job

Retry a failed job from a specific pipeline stage. Credits are re-reserved if needed.

POST/api/v1/jobs/{jobId}/retry

• Restarts the pipeline from the specified stage. All subsequent stages are re-processed.

• If the job was completed or failed, credits are re-reserved automatically.

• If restart_from_stage is omitted, retries from the stage where the job failed.

Parameters

ParameterType
jobIdREQ
string (UUID)
restart_from_stage
string

Request Example

curl -X POST https://api.u-gen.ai/api/v1/jobs/YOUR_JOB_ID/retry \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "restart_from_stage": "generation"
  }'

Retry Credits

Retrying a job re-reserves credits from the restart stage onward. Make sure you have sufficient balance before retrying.

List Keyframes

Retrieve all keyframe images for a job with QAI scores and status.

GET/api/v1/jobs/{jobId}/keyframes

Parameters

ParameterType
jobIdREQ
string (UUID)

Request Example

curl -X GET https://api.u-gen.ai/api/v1/jobs/YOUR_JOB_ID/keyframes \
  -H "X-API-Key: YOUR_API_KEY"

List Videos

Retrieve all video segments for a job with generation status and URLs.

GET/api/v1/jobs/{jobId}/videos

Parameters

ParameterType
jobIdREQ
string (UUID)

Request Example

curl -X GET https://api.u-gen.ai/api/v1/jobs/YOUR_JOB_ID/videos \
  -H "X-API-Key: YOUR_API_KEY"