Visione
Invia immagini a Claude tramite /v1/messages in base64 o come URL. Formato della richiesta, tipi di file, limiti di dimensione e modello da scegliere.
Tutti i modelli Claude accettano immagini. Passale in linea come base64 oppure come URL in un blocco di contenuto immagine.
Tutti i modelli, le funzionalità e i prezzi Indice della documentazione per agenti AI:https://oneprovider.dev/docs/llms.txt Blocco di contenuto immagine
Mescola blocchi di testo e di immagine nello stesso array content. Il modello li tratta come un unico flusso ordinato.
{
"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..."
}
}
]
}
]
} Sorgente URL
L'API accetta anche un URL HTTPS pubblico: scarichiamo l'immagine lato server e la passiamo al modello.
json{
"type": "image",
"source": {
"type": "url",
"url": "https://example.com/diagram.png"
}
} Formati e limiti
- Tipi di media:
image/jpeg,image/png,image/gif,image/webp. - Fino a 20 immagini per richiesta e 5 MB per immagine prima della codifica in base64.
- Delle GIF animate viene decodificato solo il primo fotogramma.
- I token di visione sono addebitati come token di input: una tipica immagine 1024×1024 vale circa 1600 token.
Python (file → 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) Scegliere un modello per la visione
- OCR e testo fitto:
claude-opus-5-5quando la precisione conta più del costo. - Descrizione di oggetti e scene:
claude-sonnet-5-5come scelta bilanciata predefinita. - Diagrammi semplici e screenshot di interfacce:
claude-haiku-5-5per l'elaborazione in blocco a basso costo; porta i casi complessi su Sonnet o Opus.
Risposte rapide
Quale base URL devo usare?
Claude Code e gli SDK Anthropic usano https://api.oneprovider.dev. Gli SDK OpenAI e i client compatibili con OpenAI usano https://api.oneprovider.dev/v1. Con una sola chiave funzionano entrambi; l'elenco dei modelli è nella pagina dei modelli , le tariffe nella pagina dei prezzi .
Come mi autentico?
Invia la chiave sk-… così com'è in x-api-key oppure in Authorization: Bearer: uno dei due, mai entrambi. Tieni la chiave in una variabile d'ambiente, non in un file che finisce nel commit. Altro sull'autenticazione .
Dove ottengo una chiave?
Apri la tua area personale nel bot Telegram @oneprovider_robot oppure su app.oneprovider.dev, ricarica il saldo e premi «Emetti una chiave». Ogni chiave può avere un proprio limite di spesa. Area personale e chiavi API .
Cosa significano 401, 404 e 429?
401: la chiave manca, è scritta male o è inviata nell'header sbagliato; incolla la chiave intera, senza virgolette né spazi. 404: di solito la base URL è sbagliata, per esempio manca /v1 o è doppio. 429 con “Insufficient balance”: il saldo dell'area personale o il limite di spesa della chiave è esaurito, quindi ricarica invece di riprovare; qualsiasi altro 429 è un limite di frequenza, quindi attendi il tempo indicato in Retry-After. Dettagli: codici di errore e risoluzione dei problemi .
Perché gli stream si interrompono o si resettano?
VPN e proxy VLESS spesso mettono in buffer gli SSE o rompono la negoziazione HTTP/2. OneProvider non ha restrizioni regionali e non mette in buffer gli stream: disattiva il proxy e riprova.
Dove chiedo se non basta?
Scrivi a @Oneproviderhelpbot su Telegram oppure apri «Assistenza» nell'area personale sul sito, indicando il codice di stato HTTP e il testo esatto dell'errore. Come funziona l'assistenza .
Ultimo aggiornamento: 2026-11-08 Hai trovato un errore? @Oneproviderhelpbot