Guides
Base URLs and protocols
Which protocol to pick for your tool and model, which base URL to enter, and which header carries the API key.
NoviaHub offers three API protocols, that is, three request formats: OpenAI, Anthropic (Claude) and Google Gemini. They all use the same API key and differ only in the address and the request format. This page helps you decide which one to use.
The short answer
Section titled “The short answer”| What you are using | Protocol | Base URL |
|---|---|---|
| Claude Code, or another tool that only supports the Anthropic API | Anthropic Messages | https://noviahub.com |
| Codex | OpenAI Responses | https://noviahub.com/v1 |
Google’s official Gen AI SDK (google-genai / @google/genai) |
Gemini | https://noviahub.com |
| The official OpenAI SDK, and most apps that “support OpenAI-compatible APIs” | OpenAI Chat Completions | https://noviahub.com/v1 |
If you are unsure, choose OpenAI Chat Completions: as of 2026-09-29, every model on NoviaHub supports it.
For step-by-step setup of each tool, see Integrations.
Which protocols a model supports
Section titled “Which protocols a model supports”Open Models & Pricing and click a model. The labels below its name are its endpoint labels:
| Label | Protocol and path |
|---|---|
| Chat | OpenAI Chat Completions, POST /v1/chat/completions |
| Response | OpenAI Responses, POST /v1/responses |
| Anthropic | Anthropic Messages, POST /v1/messages |
| Gemini | Gemini, POST /v1beta/models/{model}:generateContent |
| Image | OpenAI Images, POST /v1/images/generations |
openai-response-compact, openai-alpha-search |
Two additional endpoints; see Responses · Responses Compact and /v1/alpha/search |
Calling a model only through the protocols in its labels gives the most reliable results.
The models online on 2026-09-29, as an example (models are added and removed, so check the model page):
- Every model has Chat.
- Claude models: Anthropic, Chat.
- Gemini models: Gemini, Chat.
- GPT models: Chat, Response, Anthropic.
glm-5.3-flash: Anthropic, Chat.- DeepSeek models and
kimi-k3: Chat, Response, Anthropic and Gemini, plusopenai-response-compactandopenai-alpha-search. gpt-image-2: Image, Chat.
When you call a model through a protocol other than its own, NoviaHub converts the format in between. Conversion brings some differences, for example a field that has no counterpart in the other protocol. See Protocol conversion.
Should the base URL end in /v1?
Section titled “Should the base URL end in /v1?”This is the easiest thing to get wrong, because each vendor’s SDK builds the path differently:
| Protocol | Enter | What the SDK actually requests |
|---|---|---|
| OpenAI (Chat, Responses, Images) | https://noviahub.com/v1 |
https://noviahub.com/v1/chat/completions and so on |
| Anthropic | https://noviahub.com |
The SDK appends /v1/messages |
| Gemini | https://noviahub.com |
The SDK appends /v1beta/models/... |
What you see when it’s wrong:
- An extra
/v1on the Anthropic or Gemini address: the request goes to an address such as/v1/v1/messagesor/v1/v1beta/models/...and gets HTTP 404 with a message likeInvalid URL (POST /v1/v1/messages). - A missing
/v1on the OpenAI address: the request goes tohttps://noviahub.com/chat/completions. That address is not an API, so NoviaHub answers HTTP 200 with a whole web page (HTML). Programs usually report that they can’t parse JSON, or an error likeUnexpected token '<'. If you see one of these, first check that the address ends in/v1. - The full path entered as the base URL (for example
https://noviahub.com/v1/chat/completions): the SDK appends the path again, and the result is again a 404Invalid URL.
Which header carries the API key
Section titled “Which header carries the API key”| Header | Works on |
|---|---|
Authorization: Bearer <API key> |
Every endpoint |
x-api-key: <API key> |
Only /v1/messages and /v1/models |
x-goog-api-key: <API key>, or ?key=<API key> added to the URL |
Only /v1beta/models/... and /v1/models |
With the wrong header, NoviaHub can’t find the key and returns HTTP 401 Invalid token, for example when you send x-api-key to /v1/chat/completions.
The official SDKs send the right header on their own; just give the key to the SDK. If you build HTTP requests yourself, Authorization: Bearer is the safe choice everywhere.
Next steps
Section titled “Next steps”- Your first call: Quickstart
- Full parameters for each protocol: API reference
- What conversion loses or changes: Protocol conversion