Add Omnious as an inference provider - #4034
Open
LJ-XRPL wants to merge 1 commit into
Open
Conversation
Contributor
Action items
|
Omnious serves an OpenAI-compatible endpoint over a live per-request auction: providers bid to serve each call and the winner is paid a second-score price capped by a genuine rival, so a class's served price moves with the book rather than sitting on a rate card. That makes a hand-authored [cost] stale on arrival, so this lands with a sync module instead. `GET /v1/models` is public (no key) and reports the current best bid per class as best_in / best_out in USDC base units per 1M tokens, which the module converts to USD and writes as [cost]. Runs in the aggregators group, so the existing automation keeps it current. Price is the only provider-specific fact here: Omnious publishes no context or capability data, so each entry carries base_model plus [cost] and inherits the rest. Classes are attributed by issuer, falling back to a unique-suffix match when the router reports none, and skipped when models.dev doesn't carry that base model yet — 128 of 291 classes map today.
LJ-XRPL
force-pushed
the
add-omnious-provider
branch
from
August 4, 2026 05:04
ed12d43 to
d2eceec
Compare
Contributor
Action items
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Omnious serves an OpenAI-compatible endpoint over a live per-request auction: providers bid to serve each call, and the winner is paid a second-score price capped by a genuine rival. A class's served price therefore moves with the book rather than sitting on a rate card.
That makes a hand-authored
[cost]stale on arrival, so this adds a sync module rather than static pricing.GET /v1/modelsis public (no key required) and reports the current best bid per class asbest_in/best_outin USDC base units per 1M tokens; the module converts those to USD and writes them as[cost]. It runs in theaggregatorsgroup so the existing automation keeps it current.What each entry carries
Price is the only provider-specific fact Omnious publishes — there's no context, limit or capability data in the catalog. So each entry is
base_modelplus[cost]and inherits everything else, which means it can't contradict the base model:Attribution
Classes are attributed by the router's
issuerfield, mapped to a models.dev author. When the router reports no issuer, the module falls back to a suffix match and takes it only when exactly one author publishes that model ID, so an ambiguous short name is skipped rather than assigned to whichever author sorted first.A class is skipped when models.dev doesn't carry its base model yet, or when that base model has no
limit.outputto inherit (sakana/fugu-ultra,thinkingmachines/inkling) — inventing a ceiling seemed worse than omitting the row. 128 of 291 classes map today; the rest need their author metadata added undermodels/first.Lookups resolve through an index built from
models/, keyed lowercase and mapped back to the ID as authored, because Omnious class names are lowercase while some base models aren't (minimax/MiniMax-M2). That also avoids anexistsSyncprobe answering yes on a case-insensitive volume and then failing catalog generation on Linux.Verification
bun models:sync omnious→ 128 createdbun validate→ passes[cost]against the live endpoint (glm-5.2→ 0.64526 / 2.027962,kimi-k3→ 3.3 / 16.5)