ai
POST /v1/ai/images/library
Generate images from a prompt, with no post involved.
Authentification
Envoyez une clé API en tant que jeton du porteur. La clé doit posséder l'autorisation links.edit ; une clé qui ne l'a pas est refusée avec le code 403, et non 404.
Où insérer l'ID de votre organisation
Cet endpoint prend org_id comme champ dans le corps JSON.
L'identifiant de votre organisation se trouve sur l'écran des clés API de votre tableau de bord, à côté de la clé elle-même. Il s'agit du même identifiant pour chaque appel que vous effectuez.
Essayer
Remplacez tout ce qui se trouve entre crochets par vos propres valeurs, et le espace réservé à la clé par une clé de votre tableau de bord.
curl -X POST https://api.zinndigital.com/v1/ai/images/library \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "prompt": <string> }'Connecté ? La console d'API de votre tableau de bord saisit votre véritable ID d'organisation ainsi que votre propre clé, et exécute la requête sur l'API de production afin que vous puissiez voir la réponse réelle. Ouvrir ce point de terminaison dans la console API
Détails
Draws up to four images from the customer's own prompt and keeps them in their library for 90 days. Requires `links.edit`. ⭐ This is the door that makes image generation a product rather than a post decoration. Every other image operation needs a content post to exist first; a hosting customer who wants a hero picture for their homepage, a social card or a product shot has none and never will. Billing is the **one AI meter** — BYO key first, then Zinn® credits, then whatever the plan includes; there is no separate image SKU. ⛔ A suspended account or one with no active subscription is refused before anything is drawn (§2.46), with `AI_NOT_IN_GOOD_STANDING` rather than the top-up message: that one is fixed by settling the account, and offering a credit button there sends the customer to a screen that cannot help them. The response carries `unmet` — anything the chosen provider could not honour, in words for the customer. Nothing is silently dropped.
Corps de la requête
| Nom | Type | Obligatoire | Qu'est-ce que c'est |
|---|---|---|---|
prompt | string | Oui | Used **as written**, not rewritten into a template. The only thing added is an instruction to draw no lettering, because all three providers render garbled text when asked for w… |
shape | string<wide, standard, square> | Non | ⛔ A word, not a pixel pair, and that is a portability property rather than a simplification: Google takes an aspect ratio and a size *bucket* and cannot be given `1536x864`; Ope… |
count | integer | Non | ⛔ Bounded at 4 so one press cannot spend an unbounded amount of a customer's credit. Four is already more variations than anybody picks between. |
style | string | Non | Appended to the prompt — "photographic, muted palette". |
provider | AiImageProvider | string<> | Non | Leave empty to let the platform choose. |
model | string | Non | A specific `model_id` to pin, or empty to follow the provider's default. |
org_id | Uuid | Non | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
Réponse
| Nom | Type | Obligatoire | Qu'est-ce que c'est |
|---|---|---|---|
data | GeneratedImage[] | Oui | — |
unmet | string[] | Non | What the chosen provider could not honour, in words for the customer. ⛔ Present and empty rather than absent when everything was honoured. |
Erreurs que cet point de terminaison peut renvoyer
401 · 403 · 422 · 429