Skip to main content
POST
Generate product photos
Start with num_images: 1; omitting it also creates one output. See request settings. Track jobs and versions.

Authorizations

Authorization
string
header
required

Create an API key in Studio → account menu → API Keys. Keep it on your server.

Body

application/json
resolution
enum<string>
required

Output quality. Send explicitly. Pixel dimensions depend on the image model.

Available options:
standard,
high
Example:

"standard"

asset_ids
string<uuid>[]

Avatar, preset, pose, set, or style asset IDs. Use at most one preset or set in total.

Resource ID.

outfit_asset_ids
string<uuid>[]

Reusable outfit references. Use one source form per product.

Maximum array length: 3

Resource ID.

outfit_image_ids
string<uuid>[]

Previously uploaded garment images.

Maximum array length: 3

Resource ID.

outfit_image_urls
string<uri>[]

Direct garment image URLs accessible to the service.

Maximum array length: 3
outfit_asset_id
string<uuid>

Single-outfit alternative to outfit_asset_ids.

outfit_image_id
string<uuid>

Single-image alternative to outfit_image_ids.

outfit_image_url
string<uri>

Single-URL alternative to outfit_image_urls.

prompt
string

Composition or extra preset directions.

model_text
string

Describe the avatar when not selecting one from the library.

outfit_text
string

How the selected garment should be worn.

set_text
string

Setting directions when needed.

generate_mode
enum<string>

Use presets for the standard reference workflow.

Available options:
presets,
legacy
Example:

"presets"

model_version
string

Image model identifier. nano-banana-2 is used in this guide; availability depends on your account.

Example:

"nano-banana-2"

aspect_ratio
string

Model-dependent output ratio. 3:4 is supported by nano-banana-2 and nano-banana-pro.

Example:

"3:4"

num_images
integer
default:1

Number of outputs. Defaults to 1. Account limits still apply.

Required range: 1 <= x <= 8
Example:

1

seed
integer

Optional seed. It does not guarantee identical results across models or changes.

tutorial_id
string

Studio onboarding identifier. Omit for normal generation.

style
string

Optional style directions.

style_id
string

Optional saved style asset ID.

set_id
string

Legacy set asset ID. Prefer a preset in asset_ids for the standard workflow.

set_mode
string

Legacy scene mode. Use generate_mode: presets for the standard workflow.

Response

Returns an array of pending image jobs. Save every id and poll each job until completed, failed, or policy_blocked.

id
string<uuid>
required

Resource ID.

status
enum<string>
required

Job state. Only completed has a finished result.

Available options:
pending,
generating,
completed,
failed,
policy_blocked,
nsfw_filtered
path
string | null

Result URL. Can be null while the job is pending.

watermarked_path
string | null
width_px
integer | null
height_px
integer | null
size_bytes
integer | null
extension
string | null
is_generated
boolean
for_training
boolean

Whether the upload is a reusable asset reference.

task
string | null

Operation that created this job.

type
string | null
created_timestamp
string<date-time>
finish_timestamp
string<date-time> | null
fail_reason
string | null

Human-readable failure detail.

failure_code
enum<string> | null

Machine-readable failure category, when available.

Available options:
input_rejected,
provider_unavailable,
queue_timeout,
policy_blocked
asset_ids
string<uuid>[] | null

Linked reusable assets.

Resource ID.

versions
object[]

Related versions. May be omitted or empty. Never infer a new version is completed from the parent status.