> ## Documentation Index
> Fetch the complete documentation index at: https://docs.samsa.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Opérations d'images

> Transforme une image existante — img2img, variations, upscale, redimensionnement, suppression d'arrière-plan et vectorisation.

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 :

| Opération                      | Soumettre                                                                           | Ce qu'elle fait                                                | Scope              |
| ------------------------------ | ----------------------------------------------------------------------------------- | -------------------------------------------------------------- | ------------------ |
| **Img2img**                    | [`POST /images/img2img`](/fr/api-reference/image-ops/img2img)                       | Transforme 1 à 14 images de référence avec un prompt           | `images.edit`      |
| **Variations**                 | [`POST /images/variations`](/fr/api-reference/image-ops/variations)                 | Génère des variations créatives d'une image                    | `images.transform` |
| **Upscale**                    | [`POST /images/upscales`](/fr/api-reference/image-ops/upscale)                      | Agrandit une image à une résolution supérieure                 | `images.transform` |
| **Redimensionnement**          | [`POST /images/resizes`](/fr/api-reference/image-ops/resize)                        | Redimensionne vers un nouveau ratio (outpainting côté serveur) | `images.transform` |
| **Suppression d'arrière-plan** | [`POST /images/background-removals`](/fr/api-reference/image-ops/remove-background) | Supprime l'arrière-plan (PNG transparent)                      | `images.transform` |
| **Vectorisation**              | [`POST /images/vectorizations`](/fr/api-reference/image-ops/vectorize)              | Vectorise une image en SVG                                     | `images.transform` |

## 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](/fr/guides/webhooks)).

<Note>
  **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.
</Note>

## 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`](/fr/guides/errors#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`](/fr/guides/errors#insufficient_credits) ou les
codes liés aux équipes
[`insufficient_team_credits`](/fr/guides/errors#insufficient_team_credits) /
[`insufficient_unallocated_credits`](/fr/guides/errors#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](/fr/guides/pricing) et
[`GET /credits`](/fr/api-reference/account/credits).
