Eterial Docs
Migrating

From OpenRouter

Same OpenAI-shaped API, a fraction of the bill — what to change and what to expect.

Both are OpenAI-shaped, so the move is the base URL, the key, and the model ids.

- baseURL: 'https://openrouter.ai/api/v1'
+ baseURL: 'https://chat.eterial.ai/v1'

Model ids are short

OpenRouter namespaces a model by its publisher. Eterial's ids are the model, not the route to it — the same id resolves to whichever backend serves it.

OpenRouterEterial
moonshotai/kimi-k2.6kimi-k2.6
minimax/minimax-m2.7minimax-m2.7
deepseek/deepseek-v4-flashdeepseek-v4-flash

OpenRouter-only fields

The request body is forwarded to the backend untouched, so these are neither stripped nor rejected — but they are not part of Eterial's contract, and on a request the GPU network serves they mean nothing at all:

  • provider — routing preferences. Eterial decides the order itself; see Routing.
  • models — OpenRouter's fallback array. Eterial's fallback is automatic and needs no declaring.
  • transforms, route — no equivalent.
  • The HTTP-Referer and X-Title headers — attribution for OpenRouter's leaderboards. Harmless, and pointless here.

One field does carry over exactly: plugins: [{ "id": "web" }] is recognised as a request for web search and routes accordingly, alongside web_search_options and a web-search entry in tools.

The bill

This is the reason to move: the same models, served by the GPU network, cost a small fraction of what an aggregator charges for them. See Pricing for the rates.

Requests that fall back

OpenRouter is also Eterial's fallback provider. A request the network cannot serve is retried there and priced accordingly, so the saving applies to the requests the network served — see Failover & retries.

Other differences

  • The catalogue is much smaller. Eterial serves a curated set rather than every model on the market. GET /v1/models is the live list.
  • Capabilities narrow the routing, and a combination no single backend supports is a 400 even when /v1/models advertises both.
  • Idempotency-Key is supported.

On this page