POST /images/generations, en composant
éventuellement les modèles style, object, person et setting
entraînés de ton organisation, plus une palette de couleurs. Passe engine
pour choisir le modèle text-to-image ; omets-le pour utiliser le moteur par défaut,
nano_banana_pro. GET /images/models
liste les moteurs que tu peux utiliser, avec leurs limites et leurs credits.
Moteurs
Chaque moteur accepte
num_outputs de 1 à 4 ; les valeurs par défaut sont
aspect_ratio 1:1 et resolution 1K. Un ratio ou une résolution que le moteur
ne prend pas en charge renvoie 422 avant qu’aucun credit ne soit facturé — la
requête n’est jamais remise en forme.
- Modèles entraînés et palettes.
style_id,object_ids,person_ids,setting_idsetcolor_palette_idfonctionnent avecnano_banana_pro,nano_banana_2_1etnano_banana_2. Avecnano_banana,imagen_4,seedream_4ouflux_1_pro, ils renvoient422(avecparam= le champ) — ils ne sont jamais ignorés, et le moteur n’est jamais changé. - Autres endpoints. Cette liste vaut pour
POST /images/generations(et l’outil MCPgenerate_image). Magic Edit et img2img acceptent leurs propres valeurs d’engine: les deux acceptentnano_banana_pro,nano_banana_2etnano_banana_2_1, et Magic Edit accepte aussigeminietkontext. - Organisations limitées aux modèles entraînés. Certaines organisations
génèrent uniquement avec leurs modèles entraînés. Pour elles,
GET /images/modelsrenvoie une listedatavide avecunavailable_reason: "organization_restricted", toutenginerenvoie422, et une requête doit omettreengineet passer au moins un modèle entraîné (style_id,object_ids,person_ids,setting_ids) ou uncolor_palette_id.
Modèle asynchrone
La génération est asynchrone.POST /images/generations renvoie immédiatement
202 Accepted avec un id de job, un status et une valeur
estimated_credits. Interroge
GET /images/generations/{id} jusqu’à ce
que status soit completed (ou failed/cancelled), puis lis les images
produites — chacune porte une presigned URL valable 24 heures. Un job dont tous
les outputs ont échoué dans le pipeline de conformité se termine en failed avec
error delivery_blocked_compliance: <codes> (voir
Blocages compliance).
Passe un webhook_url pour être notifié au lieu d’interroger (voir
Webhooks).
Credits
Chaque sortie (output) coûte5 credits en 1K, en fonction de la résolution
(1K ×1, 2K ×2, 4K ×4) et multiplié par num_outputs — identique sur chaque
moteur. Les coûts puisent dans
le pool de ton organisation ; un pool épuisé renvoie 402. Voir
Tarifs.
Quickstart
Un parcours complet de zéro jusqu’à l’image avec curl, Python et TypeScript.