Photoshoot

Model photoshoot

Editorial photos of a real-looking model wearing your design. Pass the transparent design and, for a faithful print, the front mockup from /api/mockup/render. Pick a vibe (skater, streetwear, minimal, gym, festival, …) or ask /api/photoshoot/recommend-vibes first. Returns one URL per shot with the pose, cast and location used; check succeeded against requested.

post/api/photoshoot/v3/generate

Request

  • Base URL: https://api.crayonz.ai
  • URL: https://api.crayonz.ai/api/photoshoot/v3/generate
  • Auth: API key in header X-API-Key

Request body

design_reference_urlstring required

Public https URL of the transparent design PNG (file_url from /api/design/custom)

front_sideobject

{ mockup_url, design_url } for the front of the garment — mockup_url should be the /api/mockup/render output so the print is placed exactly

back_sideobject

Same shape as front_side, for back-print designs

garment_typestring

tshirt, oversized_tshirt, hoodie, zipper_hoodie, polo, acid_wash_tshirt

garment_color_hexstring

Garment colour as #rrggbb

garment_color_namestring

Garment colour name, used in the prompt

pattern'front' | 'back'

Which side carries the print

vibestring

streetwear, minimal, grit, y2k, kinfolk, editorial, hiphop, sports_fan, festival, academia, techwear, gym, retro_90s, beach, punk, outdoor_adventure, anime_otaku, skater, corporate_casual, college_campus, funny, casual_kickback, date_night, gamer, music_scene, football_fan, cricket_fan, f1_fan, basketball_fan

shot_countinteger

1–6 shots; the default rotation is front hero, back view, detail

shot_typesstring[]

Optional per-shot types, same length as shot_count: front_hero, back_view, detail_context, mirror_selfie, phone_selfie, disposable_cam, polaroid, duo_matching, friends_group, couple, crowd_solo, …

seedinteger

Repeat a batch with the same casting and locations

Example request

{
  "design_reference_url": "https://…/design.png",
  "front_side": {
    "mockup_url": "https://…/mockups/…/front.png",
    "design_url": "https://…/design.png"
  },
  "garment_type": "hoodie",
  "garment_color_hex": "#000000",
  "garment_color_name": "black",
  "pattern": "front",
  "vibe": "skater",
  "shot_count": 2
}

Response

Success

shotsobject[]

One entry per successful shot: shot_type, url, pose_used, cast_used, location_used, cost_usd

requestedinteger

shot_count from the request

succeededinteger

How many of the requested shots actually came back — check this against requested

failure_reasonstring nullable

Set when succeeded < requested; null otherwise

model_usedstring

Changes

No recorded changes to this operation across all 1 revision of this API.