Arcflow

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.