Saltar al contenido principal
OrcaRouter expone la generación de imágenes a través de dos caminos, según el modelo que elijas:
  1. /v1/images/generations — forma de API de imagen de OpenAI. Mejor para modelos dedicados de generación de imagen (familia de reemplazo DALL-E, Imagen, Grok Imagine).
  2. /v1/chat/completions — generación de imagen estilo chat. Mejor cuando quieres un modelo que devuelva texto e imagen en un turno (familia Gemini nano-banana / “imagine”).

Camino 1: API de imagen dedicada

/v1/images/generations sigue la forma de la API de imagen de OpenAI. Familias de modelos que sirven este endpoint:
  • OpenAI: openai/gpt-image-1, openai/gpt-image-1-mini, openai/gpt-image-1.5
  • Google Imagen: google/imagen-4.0-fast-generate-001, google/imagen-4.0-generate-001, google/imagen-4.0-ultra-generate-001
  • xAI: grok/grok-imagine-image, grok/grok-imagine-image-pro
curl https://api.orcarouter.ai/v1/images/generations \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-image-1",
    "prompt": "A cat astronaut on Mars, photorealistic",
    "size": "1024x1024"
  }'

Camino 2: generación de imagen vía chat completions

Algunos modelos Gemini pueden devolver una imagen como parte de un turno normal de chat completion. Cuando eliges uno de estos modelos, OrcaRouter le dice automáticamente al upstream que emita tanto texto como una imagen en la respuesta:
  • google/gemini-2.5-flash-image
  • google/gemini-3-pro-image-preview
  • google/gemini-3.1-flash-image-preview

Ejemplo

from openai import OpenAI

client = OpenAI(base_url="https://api.orcarouter.ai/v1", api_key="sk-orca-...")

resp = client.chat.completions.create(
    model="google/gemini-2.5-flash-image",
    messages=[{"role": "user", "content": "Draw a watercolour of a foggy harbor at dawn."}],
)

# resp.choices[0].message.content lleva texto + una data URL de imagen
# o bloque inline_data, dependiendo de la serialización del SDK.
# Inspecciona la respuesta cruda si tu SDK no expone la imagen
# directamente.
Estos modelos no son invocables vía /v1/images/generations — usa chat completions para ellos.

Véase también