Supported models
| Model | Multimodal |
|---|---|
moonshotai/Kimi-K2.5 | ✓ |
400 with model '<id>' does not support image input. See Supported Models for the full list and capabilities.
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.
- LoRA adapters and image inputs can be combined on a multimodal base model that also supports LoRA (see LoRA Adapters).