Skip to main content
POST
Make a UGC video

Authorizations

Authorization
string
header
required

A workspace API key.

Headers

idempotency-key
string
required

Required durable retry key. Reuse only for the identical logical request; a different payload returns conflict.

Required string length: 1 - 255
x-sigmora-quote-only
string

Send 1 to get the price and balance without running anything.

Allowed value: "1"
x-sigmora-max-credits
string

The approved price; a call that would cost more is refused and nothing is charged.

Pattern: ^\d+$

Body

application/json
format
enum<string>
required

Vertical UGC format: talking-head or product-in-hands.

Available options:
talking-head,
product-in-hands
presenter
string
required

Stable presenter reference: catalog:: or saved:.

Required string length: 1 - 200
productImage
string
required

Public HTTPS image URL or Content Engine content id; media bytes never go through MCP.

Required string length: 1 - 2000
script
string
required

Approved spoken script for the single-take render.

Required string length: 8 - 600
productRights
boolean
required

Explicit confirmation that the caller has rights to use the product image.

Explicit confirmation that the presenter likeness is approved for this render.

scriptClaims
boolean
required

Explicit confirmation that product claims in the script are accurate and approved.

projectId
string
required

Existing project that owns the generated UGC video.

Required string length: 1 - 200
mode
enum<string>
default:generate

Use generate for a new script-led take, talking-avatar to animate the presenter photo speaking the script (talking-head only), or source-performance to transfer a declared source video performance onto the approved presenter. A saved real person needs a verified likeness consent in every mode.

Available options:
generate,
source-performance,
talking-avatar
captions
boolean
default:false

Opt in to burned captions in the delivered video; defaults to false.

sourceVideo
string

For source-performance, choose this direct public HTTPS source-video URL or Content Engine content id, or sourceAssetId; media bytes never go through MCP.

Required string length: 1 - 2000
sourceAssetId
string

For source-performance, a ready visual-video Asset in this workspace Library. Use this instead of sourceVideo when the source is already in Sigmora.

Required string length: 1 - 200
sourceUse
enum<string>

Required only for source-performance: the requester-declared authority for the source video (owned, licensed, or permission).

Available options:
owned,
licensed,
permission
sourceWindow
object

Optional, source-performance only: copy just this part of the source video (3-30 seconds). Omit to let Sigmora pick from the whole video.

sourcePerformerRights
boolean

Required only for source-performance: requester attests they have the source performer’s authorization. This is not independently verified by Sigmora.

sourceRightsholderRights
boolean

Required only for source-performance: requester attests they have authority from the source video’s rightsholder. This is not independently verified by Sigmora.

Response

Success.

success
boolean
required
projectId
string
required
jobId
string
required
kind
string
required
Allowed value: "video.render"
workflow
string
required
Allowed value: "ugc"
status
string
required
Allowed value: "rendering"
targetSeconds
integer
required
Required range: -9007199254740991 <= x <= 9007199254740991
captions
boolean
required
reconciliationRequired
boolean
required
credits
number
{key}
any