Sail accepts image inputs on multimodal base models. Images can be supplied as base64 data URIs or as HTTP(S) URLs.Documentation Index
Fetch the complete documentation index at: https://docs.sailresearch.com/llms.txt
Use this file to discover all available pages before exploring further.
Supported models
Multimodal support is per-model. The Models page is the canonical list — any row with a check in the Image column accepts the content blocks shown below. Requesting image input on a non-multimodal model returns400 with model '<id>' does not support image input.
Limits
- Max 20 images per request.
- Max 20 MB per image. This is the size of the image bytes, not the base64-encoded length.
- Formats: JPEG, PNG, WebP, GIF.
- No pixel-dimension limit. The 20 MB byte cap is the effective bound; very large dimensions may be resized or tiled by the model before decoding.
- URL images must be on
http://orhttps://and must be reachable from the public internet. If Sail can’t fetch a URL within 10 s, the request fails with400.
Responses API
Pass aninput_image block inside a message’s content array. The image_url value can be a data URI or a public URL.
detail ("auto", "low", "high") is supported.
Chat Completions API
Use OpenAI’s standardimage_url content part.
url field:
Messages API (Anthropic)
Use the Anthropicimage content block. Both base64 and url source types are supported.
Error cases
| Condition | Status | Message |
|---|---|---|
model is not multimodal | 400 | model '<id>' does not support image input |
| More than 20 images in one request | 400 | too many images: maximum 20 images per request |
| Image larger than 20 MB decoded | 400 | image too large: exceeds maximum of ... bytes |
| Unsupported MIME type | 400 | unsupported image type ... |
| URL scheme not http/https | 400 | unsupported URL scheme ... |
| URL not reachable from the public internet | 400 | blocked: ... |
| URL returns non-200 or times out (10 s) | 400 | failed to download image: ... |
| Data URI declared MIME does not match actual bytes | 400 | declared type ... does not match detected type ... |
Notes
- If you already have the image bytes, sending them as a base64 data URI is typically faster than a URL.
- Image bytes are not cached across requests.
- LoRAs and image inputs can be combined on a multimodal base model that also supports LoRA (see LoRAs).