Image Analysis
Send images to vision-capable models with standard content blocks.
There is no special endpoint for image analysis. You send image content blocks
in a normal request. Vision-capable models include Opus, Sonnet, and Haiku, as
well as GPT models (input modalities text, image, pdf).
Claude (/v1/messages)
Send an image content block with a URL or base64 source:
curl https://api.tryarcflow.com/v1/messages \
-H "Authorization: Bearer sk-..." \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"max_tokens": 512,
"messages": [{
"role": "user",
"content": [
{ "type": "text", "text": "Describe what you see in this image." },
{ "type": "image", "source": { "type": "url", "url": "https://example.com/photo.jpg" } }
]
}]
}'OpenAI-compatible (/v1/chat/completions)
Use an image_url content part instead:
{ "type": "image_url", "image_url": { "url": "https://example.com/photo.jpg" } }Base64 images
Both surfaces accept base64-encoded images. For Claude, use
source.type: "base64" with a media_type:
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": "<base64-encoded bytes>"
}
}For the OpenAI-compatible surface, pass a data: URL in image_url.url.