Dispatch a model-generator workflow
const url = 'https://example.com/v1/model-generator';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"image_model":"example","eval_enabled":true,"resolution":"example","aspect_ratio":"example","seed":1,"on_technical_failure":"example","generation_stage":"portrait","display_name":"","gender":"MALE","ethnicity":"indian","heritage":"himalayan_north","body_type":"slim","age_range":"18-22","model_spec_public_id":"example","portrait_image_public_id":"example","metadata":{},"pilot_brand":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/v1/model-generator \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "image_model": "example", "eval_enabled": true, "resolution": "example", "aspect_ratio": "example", "seed": 1, "on_technical_failure": "example", "generation_stage": "portrait", "display_name": "", "gender": "MALE", "ethnicity": "indian", "heritage": "himalayan_north", "body_type": "slim", "age_range": "18-22", "model_spec_public_id": "example", "portrait_image_public_id": "example", "metadata": {}, "pilot_brand": "example" }'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”POST /v1/model-generator — portrait identity or approved full-body carry.
object
Which half of the portrait-first journey a generation request is asking for.
portrait mints a fresh model spec from a casting profile. full_body
carries an already-approved portrait into a full-length catalog base and
accepts no casting fields, because the identity is already fixed.
Human-readable name for the catalog entry. Optional — when omitted, studio coins an evocative catalog name during generation.
User gender category.
The fixed, operator-facing casting-heritage groups for v1.
The single nested level deliberately offered after selecting India.
Four neutral UI labels; prompt wording is gender-aware downstream.
Adult-only catalog age bands requested for the Studio input surface.
object
Responses
Section titled “Responses”Successful Response
Returned synchronously from any POST /v1/{name} (202).
object
26-char ULID — correlates with the row in credit_operations.
Studio’s job status at submit time. Almost always NOT_STARTED in this 202.
Credits deducted from the calling client. Refunded automatically on any failure path.
Example
{ "status": "NOT_STARTED"}Validation Error
object
object
Examplegenerated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example" } ]}