> ## 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.

# Entrées d'image

> Comment fournir des images sources à l'API et aux outils MCP — par image_id, URL https ou base64 — avec les règles de taille, de format et de récupération d'URL.

Chaque opération qui transforme une image existante — Magic Edit, img2img,
variations, redimensionnement, upscale, suppression d'arrière-plan et vectorisation —
prend son image source de la même manière. Cette page couvre les trois modes
d'entrée, leurs limites et la façon dont le serveur récupère une URL.

## Les trois modes de source

En REST, chaque image source est **exactement l'une** des suivantes :

<CardGroup cols={3}>
  <Card title="image_id" icon="database">
    Une image que le **créateur de la clé** a générée, éditée ou téléversée dans
    Samsa. Aucun téléversement nécessaire ; le serveur la lit par id. L'image d'un
    autre membre n'est pas lisible par ta clé.
  </Card>

  <Card title="url" icon="link">
    Une URL **`https`** publique que le serveur télécharge sous sa protection SSRF.
    Voir [Récupération des URL](#récupération-des-url) ci-dessous.
  </Card>

  <Card title="base64" icon="file-code">
    Octets d'image en ligne, envoyés en `base64` avec un `mime_type`.
  </Card>
</CardGroup>

Fournis **une seule** par source. N'en envoyer aucune, ou plusieurs, est un
[`422 validation_error`](/fr/guides/errors#validation_error).

```json Exemples de source theme={null}
// par id
{ "image_id": "8f3c…" }

// par URL
{ "url": "https://example.com/photo.jpg" }

// base64 en ligne
{ "base64": "iVBORw0KGgo…", "mime_type": "image/png" }
```

## Limites de taille et de format

| Règle                                            | Valeur                                         |
| ------------------------------------------------ | ---------------------------------------------- |
| Taille max par source                            | **10 Mo** (octets décodés)                     |
| Pixels source max (redimensionnement uniquement) | **33 554 432** (32 MP, largeur × hauteur)      |
| Formats acceptés                                 | `image/jpeg`, `image/png`, `image/webp`        |
| `mime_type` (base64)                             | Requis, et doit être l'un des formats acceptés |

La limite de 10 Mo porte sur l'image **décodée**. Pour une source `base64`, la chaîne
encodée est d'abord bornée (une chaîne plus longue décode nécessairement au-delà de
la limite), puis les octets décodés sont vérifiés. Des octets qui ne sont pas une
image lisible sont rejetés en `422` avant toute facturation.

La limite de pixels est indépendante de la limite de taille : une source très compressée
peut rester sous 10 Mo et dépasser quand même 32 MP — dans ce cas,
[`POST /images/resizes`](/fr/api-reference/image-ops/resize) renvoie un `422` avec
`param: image` avant tout rendu. Cette limite de 33 554 432 pixels pour l'image raster
source est spécifique au redimensionnement.

## Sources multiples (img2img)

La plupart des opérations prennent une seule image source. **Img2img** accepte
**1 à 14** images sources dans une requête — passe-les dans le tableau `images`, et
l'ordre des sources est préservé :

```json theme={null}
{
  "prompt": "un collage aquarelle",
  "images": [
    { "image_id": "8f3c…" },
    { "url": "https://example.com/ref-2.png" },
    { "base64": "iVBORw0KGgo…", "mime_type": "image/webp" }
  ],
  "resolution": "2K"
}
```

Chaque élément suit la même règle d'un seul choix. Une requête avec plus de sources
que le moteur n'autorise est un `422`.

## MCP : image\_id ou image\_url uniquement

Les [outils MCP](/fr/mcp-server) acceptent une source en **`image_id`** ou
**`image_url`** uniquement — il n'y a **pas d'entrée `base64` en MCP**. Référence
plutôt l'image par id ou par URL publique :

```json theme={null}
// élément img2img MCP
{ "image_id": "8f3c…" }
// ou
{ "image_url": "https://example.com/photo.jpg" }
```

Cela s'applique à chaque outil MCP qui prend une image source : `edit_image`,
`img2img`, `create_variations`, `resize_image`, `upscale_image`, `remove_background`
et `vectorize_image`.

## Récupération des URL

Lorsque tu passes une `url` (REST) ou `image_url` (MCP), le serveur la télécharge sous
une protection SSRF stricte avant de l'utiliser :

* **`https` uniquement, port 443 uniquement.** Tout autre schéma ou port est rejeté.
* **Adresses publiques uniquement.** Le nom d'hôte est résolu et chaque IP obtenue est
  vérifiée ; les plages privées, loopback, link-local et partagées/CGNAT sont
  refusées.
* **Les redirections sont revalidées.** L'auto-suivi est désactivé ; jusqu'à **3**
  sauts de redirection sont suivis manuellement, et chaque saut est revérifié avec la
  même protection.
* **Liste blanche de content-type.** Seules les réponses `jpeg`, `png` et `webp` sont
  acceptées, et la limite de 10 Mo est appliquée aux octets diffusés (un
  `Content-Length` déclaré n'est jamais cru seul).
* **Budget de temps.** Un timeout de connexion d'environ 5 s et un budget global
  souple d'horloge murale d'environ **30 s** couvrent tout le téléchargement, y
  compris les redirections.

Toute récupération qui échoue à une protection est un
[`422 validation_error`](/fr/guides/errors#validation_error) nommant le champ fautif —
jamais une erreur serveur. Héberge une source quelque part de publiquement accessible
en `https`, ou envoie-la en `base64` (REST).

## Voir aussi

<CardGroup cols={2}>
  <Card title="Tarification" icon="credit-card" href="/fr/guides/pricing">
    Ce que coûte chaque opération, y compris le tableau par opération.
  </Card>

  <Card title="Serveur MCP" icon="plug" href="/fr/mcp-server">
    Les mêmes opérations en tant qu'outils — avec la règle de source id/url
    uniquement.
  </Card>

  <Card title="Erreurs" icon="triangle-exclamation" href="/fr/guides/errors">
    L'enveloppe d'erreur et chaque code, y compris `validation_error`.
  </Card>

  <Card title="Opérations d'images" icon="wand-magic-sparkles" href="/fr/api-reference/image-ops/overview">
    Les six opérations et leurs contrats de requête/réponse complets.
  </Card>
</CardGroup>
