Artfical AI / API
Obter uma chave de API Abrir tAI
Opções do pedido

Imagens

Envie uma imagem junto com texto em tai-4.1 e tai-4.2, usando o mesmo formato de array de conteúdo que os modelos com visão da OpenAI aceitam.

Que modelos

Apenas tai-4.1 e tai-4.2 aceitam entrada de imagem; consulte o resumo completo na página Modelos. Enviar uma imagem para qualquer outro modelo não dá erro diretamente, mas a imagem é silenciosamente ignorada e só a parte de texto da mensagem é considerada, por isso vale a pena verificar o campo do modelo se a compreensão de imagens não aparecer numa resposta da forma esperada.

O formato do conteúdo

Para uma mensagem sem imagem, content é uma string simples. Para anexar uma imagem, content passa a ser um array de partes tipadas, misturando uma ou mais partes text com uma ou mais partes image_url:

{
  "role": "user",
  "content": [
    {"type": "text", "text": "Bu görselde ne var?"},
    {"type": "image_url", "image_url": {"url": "data:image/png;base64,iVBORw0KGgoAAAANSU..."}}
  ]
}

image_url.url recebe um data URI codificado em base64, não uma ligação simples para uma imagem alojada; a API não vai buscar um URL remoto por si. Codifique os bytes da imagem em base64, prefixe-os com o tipo MIME correto, e envie o conjunto como o valor de url.

# Python: a construir o data URI a partir de um ficheiro local
import base64

with open("photo.jpg", "rb") as f:
    b64 = base64.b64encode(f.read()).decode()
data_url = f"data:image/jpeg;base64,{b64}"

Formatos suportados

PNG, JPEG e WebP são todos aceites. Use o tipo MIME correspondente no prefixo do data URI (image/png, image/jpeg, image/webp) para que a imagem seja descodificada corretamente.

Tamanho

Não há um limite rígido de documento aplicado do lado do cliente que precise de calcular, mas imagens muito grandes acrescentam latência real (a codificação em base64 aumenta o tamanho em cerca de um terço, e o corpo do pedido inteiro tem de ser transmitido e processado antes de a geração começar) e pedidos muito grandes têm mais probabilidade de ser rejeitados por infraestrutura intermédia bem antes de atingirem qualquer limite do lado do modelo. Redimensionar uma imagem para a resolução que é realmente útil para a tarefa, em vez de enviar um original em resolução completa, é geralmente a decisão certa e raramente perde algo que o modelo teria usado de qualquer forma.

Várias imagens numa só mensagem

O array content de uma única mensagem pode incluir mais do que uma parte image_url, junto com tanto ou tão pouco text quanto necessário:

{
  "role": "user",
  "content": [
    {"type": "text", "text": "Bu iki görsel arasındaki fark ne?"},
    {"type": "image_url", "image_url": {"url": "data:image/png;base64,..."}},
    {"type": "image_url", "image_url": {"url": "data:image/png;base64,..."}}
  ]
}

Combinado com chamada de ferramentas

Uma imagem e tools podem estar presentes no mesmo pedido; o modelo pode chamar uma ferramenta com base, em parte, no que vê numa imagem anexada, da mesma forma que faria com base apenas em texto. Consulte Chamada de ferramentas para saber como funciona o ciclo de chamada e resposta.