Skip to main content
Different AI providers use different API formats. OpenAI uses its Chat Completions schema, Anthropic uses the Claude Messages format, and Google uses the Gemini format. Without a gateway, switching providers means rewriting your integration code. OpenOpen8 eliminates this by accepting requests in any supported format and converting to whatever format the selected backend channel expects — and converting the response back.

Supported formats

OpenOpen8 accepts requests at these endpoints, each corresponding to a specific format:
EndpointFormatPrimary use
POST /v1/chat/completionsOpenAI Chat CompletionsThe universal default — works with any OpenAI-compatible client
POST /v1/completionsOpenAI legacy completionsOlder OpenAI text completion clients
POST /v1/messagesClaude MessagesAnthropic-native clients and SDKs
POST /v1/responsesOpenAI ResponsesNewer OpenAI Responses API format
POST /v1beta/models/{model}:generateContentGeminiGoogle AI clients and SDKs

How format conversion works

When you send a request, OpenOpen8 reads the incoming format based on the endpoint you called. It then converts the request to match the format required by the backend channel it routes to, and converts the response back to the format you sent. For example, if you send a Claude Messages request to /v1/messages and OpenOpen8 routes it to an OpenAI-compatible channel, it converts your request to OpenAI format before sending it upstream, then converts the OpenAI response back to Claude Messages format before returning it to you.

Supported conversions

OpenOpen8 can translate in both directions between the OpenAI Chat Completions format and the Anthropic Claude Messages format.
  • OpenAI → Claude: Send to /v1/chat/completions, route to an Anthropic channel. OpenOpen8 converts the request to Claude Messages format and the response back to OpenAI format.
  • Claude → OpenAI: Send to /v1/messages, route to an OpenAI-compatible channel. OpenOpen8 converts the request to OpenAI format and the response back to Claude Messages format.
This is fully bidirectional — you can use Claude-native clients against OpenAI-backed channels, or OpenAI clients against Claude-backed channels.
Send a standard OpenAI Chat Completions request and route it to a Google Gemini channel. OpenOpen8 converts the request to Gemini’s generateContent format and returns an OpenAI-compatible response.
Send a Gemini-format request to /v1beta/models/{model}:generateContent and route it to an OpenAI-compatible channel. OpenOpen8 converts the request and returns a Gemini-format response.
Gemini → OpenAI conversion currently supports text only. Function calling is not yet supported in this direction.
OpenOpen8 accepts requests at POST /v1/responses using the newer OpenAI Responses API format. Conversion between the Responses format and the standard Chat Completions format is in active development.

Reasoning effort

Several models support adjustable reasoning effort. OpenOpen8 exposes this through model name suffixes — you append a suffix to the model name in your request, and OpenOpen8 translates it to the appropriate provider-specific parameter.
SuffixEffect
-thinkingEnable extended reasoning / thinking mode
-highHigh reasoning effort
-mediumMedium reasoning effort
-lowLow reasoning effort
-nothinkingDisable thinking mode (Gemini models)
Append -high, -medium, or -low to a supported model name:
o3-mini-high
o3-mini-medium
o3-mini-low
gpt-5-high
gpt-5-medium
gpt-5-low
Append -thinking to enable extended thinking:
claude-3-7-sonnet-20250219-thinking
Append -thinking to enable, -nothinking to disable, or -low/-medium/-high for effort level:
gemini-2.5-flash-thinking
gemini-2.5-flash-nothinking
gemini-2.5-pro-thinking
gemini-2.5-pro-high
gemini-2.5-flash-low
You can also append a token budget: gemini-2.5-pro-thinking-128 sets a thinking budget of 128 tokens.

Supported providers

See all providers available through OpenOpen8.

API reference

Full request and response schemas for each supported format.