Skip to main content

Format Conversion

Openference supports three wire formats:
  • OpenAI (chat/completions, responses, embeddings)
  • Anthropic (messages)
  • Gemini (via OpenAI compatibility layer on many routes)

Passthrough vs conversion

When the model route is configured with the exact format you send, we pass the body through unchanged (best performance and fidelity). When formats differ, we convert:
  • OpenAI ↔ Anthropic (full messages, tool calls, system prompts, streaming events)
  • Gemini is usually reached via its OpenAI-compatible surface

What is preserved

  • Roles and content
  • Tool / function calling roundtrips
  • System instructions (mapped to system for Claude)
  • Sampling parameters
  • Streaming event shapes (converted to the client-expected format)

What to expect

You can use your preferred client SDK and model ID without caring which upstream serves it. If a capability (e.g. vision, specific tool schema) is supported by the upstream model, it will work. See the source of truth for any given model on the Models page.