UGC Video API
A presenter holds your product and speaks to camera, smartphone style, voice included: send the product image, the presenter, the scene and the line they say.
/v1/generateworkflow: ugc_video-v1One endpoint serves every workflow — this page documents ugc_video-v1, the current version. Credits are debited at submission (2.2 cr/s standard, 4.4 cr/s pro); a failed generation is refunded automatically. Earlier versions of this endpoint, if any, keep being served under their own names. This workflow needs an active plan.
| Parameter | Value for this workflow |
|---|---|
| workflow | "ugc_video-v1" required |
| product_image | Product — one public HTTPS URL.required |
| fields.script | What the presenter says. The line spoken to camera, in the presenter's own words. |
| fields.presenter | Describe the presenter. Who presents the product: age, look, style. Optional; a friendly presenter in their twenties by default.Defaults to “a friendly presenter in their twenties, natural look, no makeup”. |
| fields.scene | Describe the scene. Where the clip is shot: a living room, a bedroom, a car, a balcony. Optional; a real living room with daylight by default.Defaults to “a real living room with natural daylight, lived-in and tidy”. |
| duration | 10 · 15 (seconds) |
| tier | "standard" (2.2 cr/s) or "pro" (4.4 cr/s) |
| webhook_url | Optional — we POST the outcome here when the generation settles. Without it, poll the URL returned in the response until the status settles. |
Example request
curl -X POST https://thenewblack.ai/api/v1/generate \
-H "Authorization: Bearer tnb_live_XXXXXXXXXXXX" \
-H "Content-Type: application/json" \
-d '{
"workflow": "ugc_video-v1",
"product_image": "https://example.com/image.jpg",
"fields": {
"script": "I've been wearing this every day this week and I'm obsessed",
"presenter": "a friendly presenter in their twenties, natural look",
"scene": "White Background Studio"
},
"duration": "10",
"tier": "standard"
}'// 202 Accepted
{
"generation_id": "3f1c9a6e-...",
"status": "running",
"poll": "/api/v1/generations/3f1c9a6e-..."
}Example response
Poll /v1/generations/{id} (or receive the webhook) until the generation settles:
// 200 OK
{
"generation_id": "3f1c9a6e-...",
"workflow": "ugc_video",
"status": "succeeded",
"result": {
"type": "video",
"url": "https://.../result.mp4",
"thumbnail": "https://.../thumb.webp"
}
}Results are stored for 48 hours — copy them to your own storage. Authentication, errors and webhooks are documented in the full API reference.
Frequently asked questions
What is a UGC video API?
An endpoint that turns a product photo into a user-generated-content style clip: a presenter shows the product and speaks your script, with synchronised voice, ready for TikTok, Reels or ads.
Can I choose the presenter and the setting?
Yes — the presenter field describes who speaks, the scene field where, and the script field is said word for word.
How much does it cost?
2.2 credits per second on the standard tier, 4.4 per second on pro. Credits come with plans and packs; a failed generation is always refunded.
Other endpoints: Virtual Try-On API · AI Fashion Models API · Fashion Design API · Reimagine Model API · Swap Model API · AI Stylist API · all endpoints