The New Black AI

Snap Freeze API

Snap Freeze — workflow

The trending stop-and-snap reel: a raised palm stops your model, the camera explores the first piece, a finger snap switches it to the second, and they walk on. From a photo of your model and two of your pieces.

POST/v1/generateworkflow: snap_freeze-v1

One endpoint serves every workflow — this page documents snap_freeze-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"snap_freeze-v1" required
model_imageModel — one public HTTPS URL.required
piece_image_1Piece worn first — one public HTTPS URL.required
piece_image_2Piece it switches to — one public HTTPS URL.required
fields.decorSetting. Where the reel is shot — a crosswalk, a market, a station.Defaults to “a busy city crosswalk on a sunny afternoon”.
fields.audioAudio. 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.”.
duration10 (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": "snap_freeze-v1",
    "model_image": "https://example.com/model.jpg",
    "piece_image_1": "https://example.com/image.jpg",
    "piece_image_2": "https://example.com/image.jpg",
    "fields": {
      "decor": "a busy city crosswalk on a sunny afternoon",
      "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": "snap_freeze",
  "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 Snap Freeze endpoint need?

model_image (Model), piece_image_1 (Piece worn first), piece_image_2 (Piece it switches to), 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