Collection Panorama API

Six cut-out looks stand in a row on a studio backdrop; the camera travels along them and back, the close-up passing in front, a title at each end of the path. Give it photos or videos with a transparent background.
/v1/generateworkflow: motion_collection_panorama-v1One endpoint serves every workflow — this page documents motion_collection_panorama-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_collection_panorama-v1" required |
| look_1 | Look 1 — one public HTTPS URL.required |
| look_2 | Look 2 — one public HTTPS URL.required |
| look_3 | Close-up — one public HTTPS URL.required |
| look_4 | Look 3 — one public HTTPS URL.required |
| look_5 | Look 4 — one public HTTPS URL.required |
| look_6 | Look 5 — one public HTTPS URL.required |
| fields.title | Title. Defaults to “FRESH ARRIVALS”. |
| fields.line | Line. Defaults to “JUST FOR YOU”. |
| fields.title_end | End title. Defaults to “THE NEW EDIT”. |
| fields.line_end | End line. Defaults to “ONLINE NOW”. |
| 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_collection_panorama-v1",
"look_1": "https://example.com/image.jpg",
"look_2": "https://example.com/image.jpg",
"look_3": "https://example.com/image.jpg",
"look_4": "https://example.com/image.jpg",
"look_5": "https://example.com/image.jpg",
"look_6": "https://example.com/image.jpg",
"fields": {
"title": "FRESH ARRIVALS",
"line": "JUST FOR YOU",
"title_end": "THE NEW EDIT",
"line_end": "ONLINE NOW",
"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_collection_panorama",
"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 Collection Panorama endpoint need?
look_1 (Look 1), look_2 (Look 2), look_3 (Close-up), look_4 (Look 3), look_5 (Look 4), look_6 (Look 5), fields.title (Title, optional), fields.line (Line, optional), fields.title_end (End title, optional), fields.line_end (End line, 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