The New Black AI

UGC Video API

UGC Video — workflow

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.

POST/v1/generateworkflow: ugc_video-v1

One 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, 23 cr/s ultra); a failed generation is refunded automatically. Earlier versions of this endpoint, if any, keep being served under their own names.

ParameterValue for this workflow
workflow"ugc_video-v1" required
product_imageProduct — one public HTTPS URL.required
model_imageModel photo — one public HTTPS URL.
fields.presenterpresenter. Defaults to “a friendly presenter in their twenties, natural look”.
fields.scenescene. Defaults to “White Background Studio”.
fields.scriptWhat the presenter says. The line spoken to camera, in the presenter's own words.Defaults to “I've been wearing this every day this week and I'm obsessed”.
duration5 · 10 · 15 · 20 · 30 (seconds)
tier"standard" (2.2 cr/s), "pro" (4.4 cr/s) or "ultra" (23 cr/s) — 1080p on our top video model
webhook_urlOptional — 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",
    "model_image": "https://example.com/model.jpg",
    "fields": {
      "presenter": "a friendly presenter in their twenties, natural look",
      "scene": "White Background Studio",
      "script": "I've been wearing this every day this week and I'm obsessed"
    },
    "duration": "5",
    "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, 23 per second on ultra. 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