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

# Vision

> Apprenez à utiliser les capacités visuelles pour comprendre les images.

## Aperçu des capacités

La capacité Vision permet au modèle de comprendre simultanément des images et du texte, ouvrant la voie à l'analyse, la description, le jugement et les questions-réponses basés sur le contenu des images. Les développeurs peuvent envoyer une ou plusieurs images au modèle dans une seule requête, accompagnées d'instructions en langage naturel, pour accomplir des tâches de compréhension multimodale. Capacités typiques :

* Description du contenu des images (objets, scènes, actions)
* Questions-réponses sur les images (poser des questions à propos de l'image)
* Analyse comparative et synthèse de plusieurs images
* Raisonnement combiné images + texte

## Démarrage rapide

```python theme={null}
from openai import OpenAI

client = OpenAI(
  api_key="<AIHUBMIX_API_KEY>",
  base_url="https://aihubmix.com/v1"
)

response = client.chat.completions.create(
  model="gpt-4o",
  messages=[
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "What’s in this image?"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg",
            "detail": "auto"
          },
        },
      ],
    }
  ],
  max_tokens=300,
)

print(response.choices[0])
```

## Formats d'entrée pris en charge

Les images peuvent être fournies au modèle de deux manières principales : en passant le lien de l'image, ou en incluant directement une image encodée en base64 dans la requête. Les images peuvent être incluses dans les messages `user`, `system` et `assistant`. Actuellement, les images ne sont pas prises en charge dans le premier message `system`.

### Entrée par URL d'image (recommandé)

Transmettez directement une URL d'image accessible depuis l'Internet public, adapté aux scénarios métier en ligne.

```json theme={null}
{
  "type": "image_url",
  "image_url": {
    "url": "https://example.com/demo.jpg"
  }
}
```

<Tip>
  **Remarques :**

  * L'URL doit être accessible par le modèle.
  * Le format de l'image doit être PNG / JPEG / WEBP / non-GIF.
  * La taille d'une seule image ne doit pas dépasser 20 Mo.
</Tip>

### Entrée d'image encodée en base64

Adapté aux fichiers locaux ou aux scénarios d'images privées.

**Description du processus :**

1. Lisez le fichier image localement.
2. Convertissez-le en chaîne base64.
3. Passez-le en tant que contenu image dans la requête.

```json theme={null}
{
  "type": "image_url",
  "image_url": {
    "url": "data:image/png;base64,<BASE64_DATA>"
  }
}
```

## Exemple de structure de message

Les images sont généralement envoyées avec des instructions textuelles pour clarifier les objectifs de compréhension du modèle.

```json theme={null}
{
  "role": "user",
  "content": [
    { "type": "text", "text": "Please describe the main content of this image" },
    {
      "type": "image_url",
      "image_url": {
        "url": "https://example.com/photo.jpg"
      }
    }
  ]
}
```

## Entrée de plusieurs images

Plusieurs images peuvent être soumises dans une seule requête, permettant au modèle d'intégrer la compréhension de toutes les images.

```json theme={null}
{
  "role": "user",
  "content": [
    { "type": "text", "text": "Compare the differences between these two images" },
    { "type": "image_url", "image_url": { "url": "https://example.com/a.jpg" } },
    { "type": "image_url", "image_url": { "url": "https://example.com/b.jpg" } }
  ]
}
```

***

## Contrôle de la clarté de l'image (paramètre detail)

Le paramètre `detail` permet de contrôler le niveau de détail que le modèle applique lors du traitement des images :

| Valeur du paramètre | Description                                                          |
| :------------------ | :------------------------------------------------------------------- |
| `low`               | Faible résolution, vitesse rapide, faible consommation de jetons     |
| `high`              | Haute résolution, détails plus riches, consommation de jetons élevée |
| `auto`              | Sélection automatique (par défaut)                                   |

```json theme={null}
{
  "image_url": {
    "url": "https://example.com/photo.jpg",
    "detail": "high"
  }
}
```

**Stratégie recommandée :**

* Compréhension de contenu / jugement de scène : `auto` ou `low`
* Lorsque l'observation détaillée est nécessaire (texte, parties spécifiques) : `high`

***

## Facturation et explication des jetons

L'entrée visuelle consomme des jetons supplémentaires, à prendre en compte dans l'évaluation des coûts :

* Mode `low` : chaque image consomme un nombre fixe de **85 jetons**
* Mode `high` : la consommation de jetons augmente en fonction de la taille et de la résolution de l'image

**Recommandations :**

* Par défaut, utilisez `auto`
* Évitez l'usage inutile de `high` dans des scénarios en lot ou à forte concurrence

## Recommandations d'utilisation

* Fournissez toujours des instructions textuelles claires ; n'envoyez pas des images seules.
* Contrôlez le nombre et la résolution des images pour éviter les coûts inutiles.
* Effectuez une validation secondaire pour les résultats métier critiques.
* Utilisez la compréhension visuelle comme une capacité complémentaire, et non comme seule base de décision.

***

Dernière mise à jour : 2026-06-01
