Passer au contenu principal
YouRouter prend en charge les appels multimodaux en plus du chat texte seul. Utilisez cette page lorsque votre intégration nécessite des images, la compréhension visuelle, des formats multimodaux natifs des fournisseurs ou des tâches de génération vidéo.

Quelle API utiliser ?

Cas d’usageAPI recommandéeNotes
Chat textePOST /v1/chat/completionsAppel modèle standard compatible OpenAI.
Compréhension d’imagePOST /v1/chat/completionsEnvoyez du texte et des blocs image_url.
Multimodal natif GeminiPOST /v1/projects/...:generateContentLorsque vous avez besoin du format contents / parts de Google.
Messages natifs ClaudePOST /v1/messagesLorsque vous avez besoin du format Messages d’Anthropic.
Texte vers vidéo / image vers vidéoPOST /api/v3/contents/generations/tasksFlux par tâches : créez une tâche, puis interrogez jusqu’au résultat.
Pour la plupart des intégrations chat et vision, commencez par https://api.yourouter.ai/v1 et le format Chat Completions compatible OpenAI.

Entrée image avec Chat Completions

Utilisez messages[].content comme tableau de blocs de contenu. Incluez un bloc text et un ou plusieurs blocs image_url.
curl https://api.yourouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $YOUROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "Describe this image in one sentence."
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "https://example.com/image.jpg"
            }
          }
        ]
      }
    ]
  }'
Lisez la réponse générée dans :
choices[0].message.content

Entrée image en Base64

Pour des images privées, envoyez une data URL.
{
  "type": "image_url",
  "image_url": {
    "url": "data:image/png;base64,<BASE64_IMAGE>"
  }
}
Gardez une taille de charge raisonnable. Pour les grosses images, préférez une URL HTTPS temporaire lorsque c’est possible.

Exemple Python

import base64
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["YOUROUTER_API_KEY"],
    base_url="https://api.yourouter.ai/v1",
)

with open("image.jpg", "rb") as image_file:
    encoded = base64.b64encode(image_file.read()).decode("utf-8")

completion = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "What is shown in this image?"},
                {
                    "type": "image_url",
                    "image_url": {
                        "url": f"data:image/jpeg;base64,{encoded}"
                    },
                },
            ],
        }
    ],
)

print(completion.choices[0].message.content)

Multimodal natif Gemini

Utilisez le format generateContent de Google lorsque votre intégration dépend de champs de requête propres à Gemini.
curl https://api.yourouter.ai/v1/projects/cognition/locations/us/publishers/google/models/gemini-2.5-flash:generateContent \
  -H "Authorization: Bearer $YOUROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -H "vendor: google" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [
          { "text": "Describe this image in one sentence." },
          {
            "inlineData": {
              "mimeType": "image/jpeg",
              "data": "<BASE64_IMAGE>"
            }
          }
        ]
      }
    ]
  }'
Voir Génération de contenu Gemini pour la page de référence.

Messages natifs Claude

Utilisez le format Messages d’Anthropic lorsque vous avez besoin du comportement de requête natif Claude.
curl https://api.yourouter.ai/v1/messages \
  -H "Authorization: Bearer $YOUROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -H "anthropic-version: 2023-06-01" \
  -H "vendor: anthropic" \
  -d '{
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 300,
    "messages": [
      {
        "role": "user",
        "content": [
          { "type": "text", "text": "Describe this image in one sentence." },
          {
            "type": "image",
            "source": {
              "type": "base64",
              "media_type": "image/jpeg",
              "data": "<BASE64_IMAGE>"
            }
          }
        ]
      }
    ]
  }'
Voir Messages Anthropic pour la page de référence.

Tâches de génération vidéo

La génération vidéo repose sur des tâches : créez une tâche, puis interrogez jusqu’à la fin.
curl -X POST https://api.yourouter.ai/api/v3/contents/generations/tasks \
  -H "Authorization: Bearer $YOUROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-1-0-pro-250528",
    "content": [
      {
        "type": "text",
        "text": "A cinematic product shot with soft studio lighting --duration 5 --resolution 1080p"
      }
    ]
  }'
L’appel de création renvoie un id de tâche. Interrogez cette tâche jusqu’à la fin :
curl https://api.yourouter.ai/api/v3/contents/generations/tasks/{id} \
  -H "Authorization: Bearer $YOUROUTER_API_KEY"
Voir Ark texte vers vidéo pour le flux complet par tâches.

Conseils d’intégration

  • Gardez les ID de modèle configurables pour changer de modèles vision ou multimodaux sans modifier le code.
  • Utilisez vendor seulement lorsque vous avez besoin d’un format ou comportement spécifique au fournisseur.
  • Préférez les URL d’image HTTPS pour les gros fichiers ; utilisez les data URL base64 pour les images privées ou les tests locaux.
  • Conservez les ID de requête des réponses lors du diagnostic de problèmes multimodaux propres à un fournisseur.