# Messages image WhatsApp

Un message image contient une URL publique que WhatsApp récupère au moment de l'envoi, avec une légende facultative en dessous.

## Envoyer une image

Définissez `image.url` :

**TypeScript**

```typescript
const msg = await bird.whatsapp.send({
  to: "+16505551234",
  from: "+13124495648",
  image: { url: "https://cdn.example.com/receipt.png" },
});
console.log(msg.id, msg.status);
```

Examples: [TypeScript](/fr-fr/documentation/guides/whatsapp/message-types/images.ts.md) · [Python](/fr-fr/documentation/guides/whatsapp/message-types/images.py.md) · [Go](/fr-fr/documentation/guides/whatsapp/message-types/images.go.md) · [PHP](/fr-fr/documentation/guides/whatsapp/message-types/images.php.md) · [CLI](/fr-fr/documentation/guides/whatsapp/message-types/images.cli.md) · [MCP](/fr-fr/documentation/guides/whatsapp/message-types/images.mcp.md) · [cURL](/fr-fr/documentation/guides/whatsapp/message-types/images.curl.md)

La forme complète ajoute un `caption` facultatif :

```json
{
  "to": "+16505551234",
  "from": "+13124495648",
  "image": {
    "url": "https://cdn.example.com/receipts/a1b2c3.png",
    "caption": "Your receipt for order A1B2C3"
  }
}
```

`image` n'a pas de champ `filename`. `from` est obligatoire sur chaque message de service : un numéro appartenant à votre espace de travail, pas un numéro géré par Bird.

## Limites

| Champ             | Limite                                               | Appliquée par                                  |
| ----------------- | ---------------------------------------------------- | ---------------------------------------------- |
| Taille du fichier | 5 Mo                                                 | WhatsApp uniquement, à la récupération (async) |
| Type de fichier   | JPEG ou PNG                                          | WhatsApp uniquement, à la récupération (async) |
| `caption`         | jusqu'à 1 024 caractères                             | Bird, à l'acceptation (`422`)                  |
| `url`             | absolue, `https`, possède un hôte, pas d'espace brut | Bird, à l'acceptation (`422`)                  |

Bird vérifie la forme de l'URL et la longueur de la légende avant toute mise en file d'attente. Il ne vérifie pas la taille ni le type réels du fichier ; seule la récupération par WhatsApp au moment de l'envoi le peut. Consultez la page du hub [envoyer un média par URL](/docs/guides/whatsapp/message-types#sending-media-by-url) pour le détail de cette vérification de forme, et [quand un média échoue](/docs/guides/whatsapp/message-types#when-media-fails) pour ce qui se passe quand la récupération par WhatsApp rejette le fichier.

## Lire une image entrante

Une image entrante contient le même objet `image`, plus un `id` et un `mime_type` que Bird a appris en récupérant le fichier. Les deux sont absents lors d'une relecture sortante, car Bird n'a jamais récupéré le fichier qu'il a envoyé. Consultez [Recevoir des images WhatsApp](/docs/guides/whatsapp/receiving-whatsapp/images) pour la lecture entrante complète, le payload `whatsapp.received`, et les points à surveiller.

## Limites et modes d'échec

- **La fenêtre de service client doit être ouverte.** Les images sont des messages de service, distribuables uniquement dans une fenêtre ouverte ; consultez la page du hub [fenêtre de service client](/docs/guides/whatsapp/message-types#the-customer-service-window).
- **Bird rejette `http` ; WhatsApp lui-même le récupérerait.** Cette distinction, ainsi que le reste de la vérification de forme de l'URL, se trouvent sur la page du hub [envoyer un média par URL](/docs/guides/whatsapp/message-types#sending-media-by-url).
- **Un fichier trop volumineux, un type MIME incorrect ou une URL inaccessible échouent tous de la même manière, et après facturation.** Consultez la page du hub [quand un média échoue](/docs/guides/whatsapp/message-types#when-media-fails) pour `media_rejected` et le fait que l'envoi est facturé même en cas d'échec.
- **WhatsApp met en cache une URL récupérée pendant environ 10 minutes.** Renvoyer la même URL dans cet intervalle resert la première récupération au lieu de récupérer à nouveau ; modifiez l'URL (un paramètre de requête, par exemple) pour forcer une nouvelle récupération.

## Étapes suivantes

- [Messages de service WhatsApp](/docs/guides/whatsapp/message-types) : la fenêtre de service client et le modèle commun à tous les messages de service
- [Vidéo](/docs/guides/whatsapp/message-types/video) : la même structure pour un clip vidéo
- [Documents](/docs/guides/whatsapp/message-types/documents) : pour un PDF, un tableur ou un autre fichier
- [Envoyer des messages WhatsApp](/docs/guides/whatsapp/sending-whatsapp) : l'enveloppe de requête, le modèle `202`, et les réessais sûrs

## Related resources

- [Connecting WhatsApp to Bird: from buying a number to a live channel](/learn/whatsapp/connecting-whatsapp-to-bird) (video)
- [What is the 24-hour customer service window on WhatsApp?](/explained/whatsapp/what-is-the-24-hour-customer-service-window) (answer)
- [WhatsApp message builder](/tools/whatsapp-message-builder) (tool)
- [WhatsApp](/products/whatsapp) (product)

[Get an implementation brief](/learn/workspace?topic=whatsapp)
