Look Film API

Your look in motion, full frame, with three photos or clips of it in a column beside it and the pieces worn listed below. For drops and new-in posts.
/v1/generateworkflow: motion_look_film-v1One endpoint serves every workflow — this page documents motion_look_film-v1, the current version. Credits are debited at submission (1 cr/s standard, 1 cr/s pro); a failed generation is refunded automatically. Earlier versions of this endpoint, if any, keep being served under their own names.
| Parameter | Value for this workflow |
|---|---|
| workflow | "motion_look_film-v1" required |
| look_video | Video — one public HTTPS URL.required |
| photo_1 | Photo 1 — one public HTTPS URL.required |
| photo_2 | Photo 2 — one public HTTPS URL.required |
| photo_3 | Photo 3 — one public HTTPS URL.required |
| fields.name_1 | Piece 1 name. Defaults to “Cropped Jacket”. |
| fields.ref_1 | Piece 1 reference. Defaults to “J-001”. |
| fields.name_2 | Piece 2 name. Defaults to “Tailored Trousers”. |
| fields.ref_2 | Piece 2 reference. Defaults to “P-001”. |
| fields.name_3 | Piece 3 name. Defaults to “Ankle Boots”. |
| fields.ref_3 | Piece 3 reference. Defaults to “S-001”. |
| fields.background | Background. Defaults to “#ECECEC”. |
| fields.ink | Text. Defaults to “#161616”. |
| duration | 10 (seconds) |
| tier | "standard" (1 cr/s), "pro" (1 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": "motion_look_film-v1",
"look_video": "https://example.com/image.jpg",
"photo_1": "https://example.com/image.jpg",
"photo_2": "https://example.com/image.jpg",
"photo_3": "https://example.com/image.jpg",
"fields": {
"name_1": "Cropped Jacket",
"ref_1": "J-001",
"name_2": "Tailored Trousers",
"ref_2": "P-001",
"name_3": "Ankle Boots",
"ref_3": "S-001",
"background": "#ECECEC",
"ink": "#161616"
},
"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": "motion_look_film",
"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 does the Look Film endpoint need?
look_video (Video), photo_1 (Photo 1), photo_2 (Photo 2), photo_3 (Photo 3), fields.name_1 (Piece 1 name, optional), fields.ref_1 (Piece 1 reference, optional), fields.name_2 (Piece 2 name, optional), fields.ref_2 (Piece 2 reference, optional), fields.name_3 (Piece 3 name, optional), fields.ref_3 (Piece 3 reference, optional), fields.background (Background, optional), fields.ink (Text, optional) — all as listed in the parameter table above, and in GET /v1/catalog.
How is it billed?
Per second of output, at the standard, pro or ultra rate shown above; a failed generation is refunded.
How much does it cost?
1 credit per second on the standard tier, 1 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