This is the page to check before you commit. It is complete — if a feature you use is not listed, ask us and we will add a row rather than leave you guessing.
Support matrix
| Feature | Anthropic | OpenAI | Note |
|---|---|---|---|
Streaming (SSE) | Yes | Yes | Byte-for-byte pass-through |
Tool / function calling | Yes | Yes | Including parallel calls |
Vision (image input) | Yes | Yes | URL and base64 |
PDF input | Yes | Partial | OpenAI: via Files API only |
Prompt caching | Yes | Yes | Discount applies to cache reads |
Structured outputs | Yes | Yes | Strict JSON schema supported |
Extended thinking | Yes | Yes | Reasoning tokens billed as output |
Batch API | List price | List price | Works, but no discount |
Embeddings | No | Yes | Anthropic does not offer them |
Token counting | Yes | No | No upstream endpoint for OpenAI |
Files API | Partial | Partial | Uploads proxied, not stored by us |
Fine-tuned models | No | No | Tied to your own provider account |
Assistants / Agents SDK | No | No | Stateful, not a token endpoint |
Notes on the partials
Batch. Batch requests are proxied and work exactly as upstream, but they are billed at the provider’s list price with no markup and no discount. If your workload is mostly batch, we will not save you money — the reasoning is on the pricing page.
Files. Uploads are forwarded to the provider and the resulting file ID is returned to you. We do not keep a copy, which also means a file uploaded through us is only visible to requests made through us with the same key.
PDF on OpenAI. Upstream accepts PDFs through the Files API rather than inline in a message. That constraint is theirs, not ours, and it applies identically whether you go through us or direct.
Not supported
Fine-tuned models and the stateful Assistants-style APIs are out of scope and are likely to stay that way. They are bound to a specific provider account and to state held on the provider’s side, which is not something a token reseller can sit in front of. If you depend on either, keep a direct provider key for those calls and route the rest through us — that split works fine and plenty of customers run it.