Skip to main content
Les endpoints d’opérations d’images transforment une image que tu possèdes déjà — pas de génération à partir d’un simple prompt. Six opérations, chacune un POST qui soumet un job plus un GET qui l’interroge :

Image source

Chaque opération prend sa source des trois mêmes façons — fournis exactement un mode par source :
  • image_id — l’id d’une image qui appartient au créateur de la clé dans Samsa ; tout autre id renvoie 404, y compris celui d’une image créée par un autre membre de ton organisation.
  • url — une URL https que le serveur télécharge sous sa protection SSRF.
  • base64 + mime_type — octets en ligne, mime_type parmi image/jpeg, image/png, image/webp.
Zéro ou plusieurs modes est un 422. Img2img accepte un tableau images (1 à 14 sources) ; les cinq autres prennent un seul objet image.

Modèle asynchrone

Chaque soumission renvoie 202 Accepted avec un handle de job { "id", "status": "pending", "estimated_credits" }. Interroge l’endpoint GET .../{id} de l’opération jusqu’à ce que status soit completed (ou failed/cancelled), puis lis le résultat — chaque asset produit porte une presigned url valable 24 heures. Passe un webhook_url pour être notifié au lieu d’interroger (voir Webhooks).
Hits de cache (suppression d’arrière-plan & vectorisation). Quand la source est un image_id que tu possèdes et qu’un résultat existe déjà pour lui, la soumission renvoie immédiatement 202 avec status: "completed" et estimated_credits: 0 — aucun nouveau job n’est mis en file et le plafond de concurrence de ton organisation n’est pas consommé. Toute autre source (une url https, base64 ou un image_id possédé sans résultat prêt) est le chemin asynchrone facturé normal.

Scopes

Img2img est une opération d’édition et requiert le scope images.edit. Les cinq autres sont des opérations de transformation et requièrent images.transform. Une clé sans le scope requis reçoit 403 missing_scope.

Credits

Les coûts puisent dans le solde que le credential appelant peut dépenser, pas nécessairement dans tout le pool de l’organisation ; s’il est insuffisant, l’API renvoie 402 insufficient_credits ou les codes liés aux équipes insufficient_team_credits / insufficient_unallocated_credits dans les organisations avec au moins une équipe active (les organisations système exemptées du budgeting par équipe restent sur le code générique). Une défaillance opérationnelle dans la déduction elle-même peut aussi apparaître comme le générique insufficient_credits, quel que soit le régime. La page de chaque opération indique sa base de coût. Voir Tarifs et GET /credits.