Passer-By Transition API
The trending street reel: passers-by wipe the frame and reveal your model in the next look, a few steps further down the street. From a photo of your model and two of your garments.
/v1/generateworkflow: passerby_transition-v1One endpoint serves every workflow — this page documents passerby_transition-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.
| Parameter | Value for this workflow |
|---|---|
| workflow | "passerby_transition-v1" required |
| model_image | Model — one public HTTPS URL.required |
| garment_image_1 | Garment 1 — one public HTTPS URL.required |
| garment_image_2 | Garment 2 — one public HTTPS URL.required |
| fields.decor | Setting. Where the reel is shot — a street, a square, a promenade.Defaults to “a sunny European city street with elegant stone buildings and parked scooters”. |
| fields.audio | Audio. The sound of the clip — music, voices, ambience. Leave the default for the natural sounds of the scene.Defaults to “No music, natural environment sounds.”. |
| duration | 10 (seconds) |
| tier | "standard" (2.2 cr/s), "pro" (4.4 cr/s) or "ultra" (23 cr/s) — 1080p on our top video model |
| 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": "passerby_transition-v1",
"model_image": "https://example.com/model.jpg",
"garment_image_1": "https://example.com/image.jpg",
"garment_image_2": "https://example.com/image.jpg",
"fields": {
"decor": "a sunny European city street with elegant stone buildings and parked scooters",
"audio": "No music, natural environment sounds."
},
"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": "passerby_transition",
"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 Passer-By Transition endpoint need?
model_image (Model), garment_image_1 (Garment 1), garment_image_2 (Garment 2), fields.decor (Setting, optional), fields.audio (Audio, 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?
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