Ein Bild bearbeiten
Reiche einen Magic-Edit-Job ein — ein Quellbild plus einen Prompt, optional maskiert und stilisiert.
202 Accepted mit einer Job-id zurück; frage
GET /images/edits/{id} nach dem Ergebnis ab.
Das image-Objekt nimmt genau eines von image_id, url oder base64 +
mime_type.
Beispiel: maskierte Bearbeitung von einer URL
Gib die Quelle perurl an, füge eine Inpaint-mask hinzu (ihr Vorhandensein
wählt den PRO-Modus) und nutze ein style-Modell wieder. Die mask ist ein
base64-codiertes Bild, das den zu bearbeitenden Bereich markiert.
image. Lass mask für eine reine
Text-Bearbeitung (SIMPLE) weg. resolution gilt nur für nano_banana_pro; lass
es bei den anderen Engines weg. num_images (1–4) ist standardmäßig 1.Autorisierungen
Organization API key as a bearer token: Authorization: Bearer samsa_sk_....
Body
POST /images/edits body (ADR §8, §10) — Magic Edit.
Supply a prompt and a source image; optionally a mask (auto-selects PRO
mode), trained models you own (including your own private models) or shared within
your organization (style_id/object_ids/person_ids/
setting_ids, color_palette_id — any of these forces the nano_banana_pro
engine, mirroring the app), and an engine (a public-safe alias of the internal
edit model). num_images defaults to 1.
The source image: exactly one of image_id, url, or base64+mime_type.
Text prompt describing the edit. Runs the same validation as the app (rejects empty / malformed / policy-violating prompts with a 422).
1"Replace the sky with a dramatic sunset"
Optional inpaint mask. When present, the edit runs in PRO (mask-based) mode — supported only by the nano_banana_pro and gemini engines (or when trained models force nano_banana_pro).
Edit engine — one of nano_banana_pro (default), gemini, or kontext. Omit to use the default. Unknown engines return 422.
"nano_banana_pro"
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. Forces the nano_banana_pro engine.
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 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 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.
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. Forces the nano_banana_pro engine.
Output resolution — 1K, 2K, or 4K. Only the nano_banana_pro engine supports it (credits scale 1K:1x, 2K:2x, 4K:4x; omitted = 1K); omit for the other engines.
"1K"
Number of edited images to generate (1-4). Defaults to 1; each output is billed.
1 <= x <= 41
Encoding of the returned images. v1 supports png only.
png "png"
Optional https webhook notified once on terminal status (signed per the webhook signature scheme; see the webhooks docs).
"https://example.com/webhooks/samsa"
Antwort
Successful Response
202 body for POST /images/edits (ADR §7.1).
The image-edit job id — poll GET /images/edits/{id}.
Initial status: always pending at submit.
pending, processing, completed, failed, cancelled "pending"
Credits this job is expected to cost (base 5 x num_images x resolution multiplier for nano_banana_pro).
5

