Saltar para o conteúdo principal
O OrcaRouter expõe a geração de imagens através de dois caminhos, dependendo de qual modelo você escolher:
  1. /v1/images/generations — formato da API de imagens da OpenAI. Melhor para modelos dedicados de geração de imagens (família substituta do DALL-E, Imagen, Grok Imagine).
  2. /v1/chat/completions — geração de imagens em estilo chat. Melhor quando você quer um modelo que retorna texto e uma imagem em uma única rodada (família nano-banana / “imagine” do Gemini).

Caminho 1: API dedicada de imagens

/v1/images/generations segue o formato da API de imagens da OpenAI. Famílias de modelos que servem 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"
  }'

Caminho 2: geração de imagem via chat completions

Alguns modelos Gemini podem retornar uma imagem como parte de uma rodada normal de chat completion. Quando você escolhe um destes modelos, o OrcaRouter automaticamente diz ao upstream para emitir tanto texto quanto uma imagem na resposta:
  • google/gemini-2.5-flash-image
  • google/gemini-3-pro-image-preview
  • google/gemini-3.1-flash-image-preview

Exemplo

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 carrega texto + uma data URL de imagem ou
# bloco inline_data, dependendo da serialização do SDK. Inspecione a
# resposta bruta se seu SDK não expor a imagem diretamente.
Esses modelos não são chamáveis via /v1/images/generations — use chat completions para eles.

Veja também