Visão (imagens)
Envie imagens ao Claude pelo /v1/messages em base64 ou por URL. Veja o formato da requisição, tipos de arquivo, limites de tamanho e qual modelo escolher.
Todos os modelos Claude aceitam imagens. Envie-as inline em base64 ou como uma URL dentro de um bloco de conteúdo de imagem.
Todos os modelos, recursos e preços Índice da documentação para agentes de IA:https://oneprovider.dev/docs/llms.txt Bloco de conteúdo de imagem
Misture blocos de texto e de imagem no mesmo array content. O modelo os trata como um único fluxo ordenado.
{
"model": "claude-sonnet-5-5",
"max_tokens": 512,
"messages": [
{
"role": "user",
"content": [
{ "type": "text", "text": "Describe this image in one sentence." },
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": "iVBORw0KGgoAAAANSUhEUgAAA..."
}
}
]
}
]
} Origem por URL
A API também aceita uma URL HTTPS pública: buscamos a imagem no servidor e a entregamos ao modelo.
json{
"type": "image",
"source": {
"type": "url",
"url": "https://example.com/diagram.png"
}
} Formatos e limites
- Tipos de mídia:
image/jpeg,image/png,image/gif,image/webp. - Até 20 imagens por requisição e 5 MB por imagem antes da codificação em base64.
- Dos GIFs animados, só o primeiro quadro é decodificado.
- Os tokens de visão são cobrados como tokens de entrada — uma imagem típica de 1024×1024 consome ~1.600 tokens.
Python (arquivo → base64)
pythonimport base64, mimetypes
from anthropic import Anthropic
client = Anthropic(base_url="https://api.oneprovider.dev")
def encode_image(path: str):
with open(path, "rb") as f:
data = base64.standard_b64encode(f.read()).decode("ascii")
return {
"type": "base64",
"media_type": mimetypes.guess_type(path)[0] or "image/png",
"data": data,
}
msg = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=512,
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "What's in this screenshot?"},
{"type": "image", "source": encode_image("./screen.png")},
],
}],
)
print(msg.content[0].text) Como escolher um modelo para visão
- OCR e texto denso —
claude-opus-5-5, quando a precisão importa mais que o custo. - Descrição de objetos e cenas —
claude-sonnet-5-5, como padrão equilibrado. - Diagramas simples e capturas de tela de interfaces —
claude-haiku-5-5, para processamento em lote de baixo custo; leve os casos complexos para o Sonnet ou o Opus.
Respostas rápidas
Qual base URL devo usar?
O Claude Code e os SDKs da Anthropic usam https://api.oneprovider.dev. Os SDKs da OpenAI e os clientes compatíveis com a OpenAI usam https://api.oneprovider.dev/v1. Uma única chave funciona nos dois; a lista de modelos está na página de modelos e os preços, na página de preços .
Como me autentico?
Envie a chave sk-… pura em x-api-key ou em Authorization: Bearer: um dos dois, nunca ambos. Guarde a chave em uma variável de ambiente, não em um arquivo que vai para o commit. Mais sobre autenticação .
Onde consigo uma chave?
Abra o seu painel no bot do Telegram @oneprovider_robot ou em app.oneprovider.dev, recarregue o saldo e toque em “Emitir chave”. Cada chave pode ter o seu próprio limite de gastos. Painel e chaves de API .
O que significam 401, 404 e 429?
401: a chave está ausente, foi digitada errado ou enviada no cabeçalho errado; cole a chave inteira, sem aspas nem espaços. 404: em geral, uma base URL errada, por exemplo um /v1 ausente ou duplicado. 429 com “Insufficient balance”: o saldo do painel ou o limite de gastos da chave acabou, então recarregue em vez de tentar de novo; qualquer outro 429 é um limite de requisições, então aguarde o tempo de Retry-After. Detalhes: códigos de erro e solução de problemas .
Por que os streams são cortados ou reiniciados?
VPNs e proxies VLESS costumam armazenar SSE em buffer ou quebrar a negociação do HTTP/2. A OneProvider não tem restrições regionais e não armazena streams em buffer; desative o proxy e tente de novo.
Onde pergunto se isso não bastar?
Escreva para @Oneproviderhelpbot no Telegram ou abra “Suporte” no painel web, informando o código de status HTTP e a mensagem de erro exata. Como funciona o suporte .
Última atualização: 2026-11-08 Encontrou um erro? @Oneproviderhelpbot