Skip to main content
POST
Generate images from a prompt (and optional trained models)
Sende einen Prompt, um ein bis vier Bilder zu generieren. Der Aufruf gibt 202 Accepted mit einer Job-id zurück; frage GET /images/generations/{id} nach dem Ergebnis ab. Kombiniere die trainierten Modelle deiner Organisation, indem du ihre ids oder Namen übergibst — style_id, object_ids, person_ids, setting_ids — plus eine color_palette_id. Jede Referenz akzeptiert einen Namen oder eine id, die zu einem für dich sichtbaren Modell oder einer für dich sichtbaren Palette aufgelöst wird.

Beispiel: mehrere trainierte Modelle komponieren

Übergib ein style-Modell, ein oder mehrere person- und setting-Modelle sowie eine color palette gemeinsam in einer Anfrage. Jede Modellreferenz — per id oder Name — muss auf ein für dich sichtbares completed-Modell aufgelöst werden.
object_ids, person_ids und setting_ids sind Arrays; style_id und color_palette_id nehmen einen einzelnen Wert (einen Namen oder eine id). num_outputs (1–4) ist standardmäßig 1 und jedes Ergebnis (output) wird abgerechnet. Lass engine weg, um die Standard-Engine nano_banana_pro zu verwenden. aspect_ratio akzeptiert 1:1 (Standard), 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9, 1:4, 4:1, 1:8 und 8:1; ein nicht unterstütztes Seitenverhältnis gibt 422 zurück, bevor Credits berechnet werden.

Autorisierungen

Authorization
string
header
erforderlich

Organization API key as a bearer token: Authorization: Bearer samsa_sk_....

Body

application/json

POST /images/generations body (ADR §8, §10).

Trained-model refs (style_id, object_ids, person_ids, setting_ids) and the color_palette_id color-palette ref combine on the Gemini path — each accepts a NAME or its UUID id, resolved within your visible set (a model/palette you own, including private ones, or a non-private one shared within your organization); setting_ids maps to the internal scene_ids (ADR §8.2). engine is a public-safe subset of the image engines (ADR §8.3). Note num_outputs defaults to 1 for API ergonomics — the internal app default is 4.

prompt
string
erforderlich

Text prompt. Runs the same validation as the app (rejects empty / malformed / policy-violating prompts with a 422).

Minimum string length: 1
Beispiel:

"A minimalist product shot of a ceramic mug on linen, soft daylight"

style_id

A style model NAME or its UUID id (from list_models), resolved within your visible set — a model you own (including your own private models) or a non-private one shared with your organization. A name matching more than one visible model is rejected — pass the id. Must be completed.

object_ids
(string<uuid> | string)[]

object models to compose in — each a model NAME or its UUID id (from list_models), resolved within your visible set (a model you own, including private, or a non-private one your organization shares). A name matching more than one visible model is rejected — pass the id.

person_ids
(string<uuid> | string)[]

person models to compose in — each a model NAME or its UUID id (from list_models), resolved within your visible set (a model you own, including private, or a non-private one your organization shares). A name matching more than one visible model is rejected — pass the id.

setting_ids
(string<uuid> | string)[]

setting models to compose in — each a model NAME or its UUID id (from list_models), resolved within your visible set (a model you own, including private, or a non-private one your organization shares). A name matching more than one visible model is rejected — pass the id. Maps to internal scenes.

color_palette_id

A color palette NAME or its UUID id, resolved within your visible set — a palette you created (including private ones) or a non-private palette shared with your organization. A name matching more than one visible palette is rejected — pass the id.

engine
string | null

Generation engine — one of nano_banana_pro (default) or nano_banana_2. Omit to use the default. Unknown engines return 422.

Beispiel:

"nano_banana_pro"

num_outputs
integer
Standard:1

Number of images to generate (1-4). Defaults to 1 (the app default is 4); each output is billed.

Erforderlicher Bereich: 1 <= x <= 4
Beispiel:

1

aspect_ratio
string
Standard:1:1

Aspect ratio for the generated image(s). One of 1:1 (default), 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9, 1:4, 4:1, 1:8, 8:1. Unsupported ratios return 422 before any credits are charged.

Beispiel:

"1:1"

resolution
string
Standard:1K

Output resolution — 1K, 2K, or 4K. Credits scale 1K:1x, 2K:2x, 4K:4x per output.

Beispiel:

"1K"

output_format
enum<string>
Standard:png

Encoding of the returned images. v1 supports png only.

Verfügbare Optionen:
png
Beispiel:

"png"

webhook_url
string | null

Optional https webhook notified once on terminal status (signed per the webhook signature scheme; see the webhooks docs).

Beispiel:

"https://example.com/webhooks/samsa"

Antwort

Successful Response

202 body for POST /images/generations (ADR §7.1).

id
string<uuid>
erforderlich

The image job id — poll GET /images/generations/{id}.

status
enum<string>
erforderlich

Initial status: always pending at submit.

Verfügbare Optionen:
pending,
processing,
completed,
failed,
cancelled
Beispiel:

"pending"

estimated_credits
integer
erforderlich

Credits this job is expected to cost (base 5 x num_outputs x resolution multiplier).

Beispiel:

5