omni-inference
Skill83k starsChanged 10 days agoMITView on GitHub
The core OpenAI-compatible inference endpoints: chat completions, embeddings, images, audio (TTS/STT), moderations, rerank, and the Responses API. The primary integration surface for AI agents.
- Reads credentials
- Sends data out
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 13
All requests require a valid Bearer token or session cookie.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->Overview
The core OpenAI-compatible inference endpoints: chat completions, embeddings, images, audio (TTS/STT), moderations, rerank, and the Responses API. The primary integration surface for AI agents.
Authentication
All requests require a valid Bearer token or session cookie. Obtain a token via POST /api/auth/login or configure REQUIRE_API_KEY=false for local development.
Endpoints
POST /api/v1/session-leasesGET /api/v1/searchPOST /api/v1/searchPOST /api/v1/chat/completionsGET /api/v1/wsPOST /api/v1/providers/{provider}/chat/completionsPOST /api/v1/api/chatPOST /api/v1/messagesPOST /api/v1/messages/count_tokensPOST /api/v1/responsesPOST /api/v1/embeddingsGET /api/v1/multimodal-embeddingsPOST /api/v1/multimodal-embeddingsPOST /api/v1/providers/{provider}/embeddingsPOST /api/v1/images/generationsPOST /api/v1/providers/{provider}/images/generationsPOST /api/v1/audio/speechPOST /api/v1/audio/transcriptionsPOST /api/v1/moderationsPOST /api/v1/rerankGET /api/v1GET /api/v1/providers/{provider}/modelsGET /api/v1/management/proxy-subscriptionsPOST /api/v1/management/proxy-subscriptionsGET /api/v1/management/proxy-subscriptions/{id}PATCH /api/v1/management/proxy-subscriptions/{id}DELETE /api/v1/management/proxy-subscriptions/{id}GET /api/v1/management/proxy-subscriptions/{id}/nodesPOST /api/v1/management/proxy-subscriptions/{id}/refreshPOST /api/v1/ocrPOST /api/v1/audio/translationsGET /api/v1/voicesPOST /api/v1/speech-to-textPOST /api/v1/text-to-speech/{voiceId}POST /api/v1/sound-generationPOST /api/v1/musicPOST /api/v1/music/streamPOST /api/v1/music/detailedPOST /api/v1/music/detailed/streamPOST /api/v1/music/planGET /api/v1/explain/routingGET /api/v1/providers/suggested-modelsGET /api/v1/provider-plugin-manifestGET /api/v1/{omnirouteCatchAll}POST /api/v1/{omnirouteCatchAll}PUT /api/v1/{omnirouteCatchAll}PATCH /api/v1/{omnirouteCatchAll}DELETE /api/v1/{omnirouteCatchAll}GET /api/v1/accounts/{id}/limitsPUT /api/v1/accounts/{id}/limitsGET /api/v1/agents/credentialsPOST /api/v1/agents/credentialsGET /api/v1/agents/healthGET /api/v1/agents/tasksPOST /api/v1/agents/tasksDELETE /api/v1/agents/tasksGET /api/v1/agents/tasks/{id}POST /api/v1/agents/tasks/{id}DELETE /api/v1/agents/tasks/{id}POST /api/v1/antigravityGET /api/v1/auto-combo/{channel}/candidatesGET /api/v1/batchesPOST /api/v1/batchesGET /api/v1/batches/{id}DELETE /api/v1/batches/{id}POST /api/v1/batches/{id}/cancelDELETE /api/v1/batches/delete-completedPOST /api/v1/classifyGET /api/v1/combosPOST /api/v1/completionsGET /api/v1/filesPOST /api/v1/filesGET /api/v1/files/{id}DELETE /api/v1/files/{id}GET /api/v1/files/{id}/contentPOST /api/v1/images/editsGET /api/v1/images/upscalePOST /api/v1/images/upscaleGET /api/v1/media/{id}POST /api/v1/issues/reportGET /api/v1/management/proxiesPOST /api/v1/management/proxiesPATCH /api/v1/management/proxiesDELETE /api/v1/management/proxiesGET /api/v1/management/proxies/assignmentsPUT /api/v1/management/proxies/assignmentsPUT /api/v1/management/proxies/bulk-assignGET /api/v1/management/proxies/healthGET /api/v1/me/statusGET /api/v1/muse-code/modelsGET /api/v1/music/generationsPOST /api/v1/music/generationsGET /api/v1/providers/{provider}/limitsPUT /api/v1/providers/{provider}/limitsGET /api/v1/quotas/checkGET /api/v1/registered-keysPOST /api/v1/registered-keysGET /api/v1/registered-keys/{id}DELETE /api/v1/registered-keys/{id}POST /api/v1/registered-keys/{id}/revokePOST /api/v1/relay/chat/completionsPOST /api/v1/relay/chat/completions/bifrostPOST /api/v1/responses/{path}GET /api/v1/search/analyticsPOST /api/v1/segmentGET /api/v1/video-bridge/drilldownDELETE /api/v1/video-bridge/drilldownGET /api/v1/videos/generationsPOST /api/v1/videos/generationsGET /api/v1/vscode/{token}POST /api/v1/vscode/{token}/api/chatPOST /api/v1/vscode/{token}/api/showGET /api/v1/vscode/{token}/api/tagsGET /api/v1/vscode/{token}/api/versionPOST /api/v1/vscode/{token}/chat/completionsGET /api/v1/vscode/{token}/combosGET /api/v1/vscode/{token}/modelsPOST /api/v1/vscode/{token}/responsesPOST /api/v1/vscode/{token}/v1/chat/completionsGET /api/v1/vscode/{token}/v1/modelsGET /api/v1/vscode/combos/{token}/{{slug}}POST /api/v1/vscode/combos/{token}/{{slug}}GET /api/v1/vscode/raw/{token}POST /api/v1/vscode/raw/{token}/api/chatPOST /api/v1/vscode/raw/{token}/api/showGET /api/v1/vscode/raw/{token}/api/tagsGET /api/v1/vscode/raw/{token}/api/versionPOST /api/v1/vscode/raw/{token}/chat/completionsGET /api/v1/vscode/raw/{token}/combosGET /api/v1/vscode/raw/{token}/modelsPOST /api/v1/vscode/raw/{token}/responsesPOST /api/v1/vscode/raw/{token}/v1/chat/completionsGET /api/v1/vscode/raw/{token}/v1/modelsPOST /api/v1/web/fetch
Payloads
See the full OpenAPI specification at GET /api/openapi/spec or docs/openapi.yaml for detailed request/response schemas.
<!-- skill:custom-start --><!-- Aggregated from: omniroute-chat, omniroute-image, omniroute-tts, omniroute-stt, omniroute-embeddings, omniroute-web-search, omniroute-web-fetch -->Chat completions
Requires OMNIROUTE_URL and OMNIROUTE_KEY. See entry-point SKILL for setup.
Endpoints
POST $OMNIROUTE_URL/v1/chat/completions— OpenAI formatPOST $OMNIROUTE_URL/v1/messages— Anthropic Messages formatPOST $OMNIROUTE_URL/v1/responses— OpenAI Responses API
Discover
curl $OMNIROUTE_URL/v1/models | jq '.data[].id'Combos (e.g. auto, cost-optimized, subscription) auto-fallback through multiple providers.
OpenAI format example
curl -X POST $OMNIROUTE_URL/v1/chat/completions \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-4-7",
"messages": [{"role": "user", "content": "Refactor this function"}],
"stream": true
}'Anthropic format example
curl -X POST $OMNIROUTE_URL/v1/messages \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-4-7",
"max_tokens": 4096,
"messages": [{"role": "user", "content": "Hi"}]
}'Tool use
Supports OpenAI tools array and Anthropic tools block. Tool results
auto-compressed via RTK (47 filters: git-diff, grep, test-jest, terraform-plan,
docker-logs, etc.) — 20-40% token savings. Disable per-request with
X-Omniroute-Rtk: off header.
Reasoning / thinking
Anthropic extended thinking and OpenAI Responses reasoning blocks are forwarded verbatim. Cached automatically via reasoning cache.
Errors
401→ invalid API key400 invalid_model→ model not in registry; check/v1/models503 circuit_open→ provider circuit breaker tripped; retry later or use combo429 rate_limited→ honorRetry-After; consider using a combo for auto-fallback
Image generation
Requires OMNIROUTE_URL and OMNIROUTE_KEY. See entry-point SKILL for setup.
Endpoints
POST $OMNIROUTE_URL/v1/images/generations— Text-to-imagePOST $OMNIROUTE_URL/v1/images/edits— Image edit (mask)POST $OMNIROUTE_URL/v1/images/variations— Variations
Discover
curl $OMNIROUTE_URL/v1/models/image | jq '.data[]'Returns { id, owned_by, sizes:[...], capabilities:[...] } per model.
Generate example
curl -X POST $OMNIROUTE_URL/v1/images/generations \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "dall-e-3",
"prompt": "a red bicycle on a wet street, photoreal",
"n": 1,
"size": "1024x1024",
"response_format": "b64_json"
}'Response: { created, data: [{ url? or b64_json, revised_prompt }] }
Errors
400 invalid_size→ not supported by this model; check/v1/models/image400 content_policy_violation→ blocked by provider safety503→ provider unavailable; try another model in/v1/models/image
Text-to-speech
Requires OMNIROUTE_URL and OMNIROUTE_KEY. See entry-point SKILL for setup.
Endpoint
POST $OMNIROUTE_URL/v1/audio/speech— returns binary audio (mp3/opus/wav/flac)
Discover
curl $OMNIROUTE_URL/v1/models/tts | jq '.data[]'Each entry includes voices:[...] for the available voice names per provider.
Example
curl -X POST $OMNIROUTE_URL/v1/audio/speech \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tts-1",
"input": "Hello from OmniRoute.",
"voice": "alloy",
"response_format": "mp3"
}' --output speech.mp3Voices
Voice names vary by provider. Check /v1/models/tts — each entry has voices:[...].
Common OpenAI voices: alloy, echo, fable, onyx, nova, shimmer.
Errors
400 invalid_voice→ voice not supported by this model400 input_too_long→ input exceeds model character limit503→ provider unavailable; try another model in/v1/models/tts
Speech-to-text
Requires OMNIROUTE_URL and OMNIROUTE_KEY. See entry-point SKILL for setup.
Endpoints
POST $OMNIROUTE_URL/v1/audio/transcriptions— multipart upload, returns textPOST $OMNIROUTE_URL/v1/audio/translations— transcribe + translate to English
Discover
curl $OMNIROUTE_URL/v1/models/stt | jq '.data[]'Example
curl -X POST $OMNIROUTE_URL/v1/audio/transcriptions \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-F "file=@audio.mp3" \
-F "model=whisper-1" \
-F "response_format=verbose_json"Response: { text, language, duration, segments?:[{ start, end, text }] }
Supported formats
Audio: mp3, mp4, mpeg, mpga, m4a, wav, webm.
Response formats: json, text, srt, verbose_json, vtt.
Errors
400 invalid_file_format→ unsupported audio format400 file_too_large→ exceeds provider limit (usually 25MB)503→ provider unavailable; try another model in/v1/models/stt
Embeddings
Requires OMNIROUTE_URL and OMNIROUTE_KEY. See entry-point SKILL for setup.
Endpoint
POST $OMNIROUTE_URL/v1/embeddings
Discover
curl $OMNIROUTE_URL/v1/models/embedding | jq '.data[]'Each entry: { id, owned_by, dimensions, max_input_tokens }.
Example
curl -X POST $OMNIROUTE_URL/v1/embeddings \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "text-embedding-3-large",
"input": ["first text", "second text"],
"encoding_format": "float"
}'Response: { data:[{ embedding:[...], index }], usage:{ prompt_tokens, total_tokens } }
Batch input
input accepts a string or array of strings (up to provider batch limit, typically 2048 items).
Errors
400 input_too_long→ input exceedsmax_input_tokensfor this model400 invalid_encoding_format→ usefloatorbase64503→ provider unavailable; try another model in/v1/models/embedding
Web search
Requires OMNIROUTE_URL and OMNIROUTE_KEY. See entry-point SKILL for setup.
Endpoint
POST $OMNIROUTE_URL/v1/web/search— unified search format
Discover
curl $OMNIROUTE_URL/v1/models/web | jq '.data[] | select(.kind == "webSearch")'Example
curl -X POST $OMNIROUTE_URL/v1/web/search \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tavily/search",
"query": "OmniRoute github latest release",
"max_results": 5,
"include_answer": true
}'Response: { answer?, results:[{ url, title, content, score }] }
Parameters
| Field | Type | Description |
model | string | Provider model from /v1/models/web |
query | string | Search query |
max_results | number | Max results (default: 5) |
include_answer | boolean | Include AI-synthesized answer |
search_depth | string | basic or advanced (Tavily) |
Errors
400 query_too_long→ shorten the search query503→ provider unavailable; try another model in/v1/models/web
Web fetch
Requires OMNIROUTE_URL and OMNIROUTE_KEY. See entry-point SKILL for setup.
Endpoint
POST $OMNIROUTE_URL/v1/web/fetch
Discover
curl $OMNIROUTE_URL/v1/models/web | jq '.data[] | select(.kind == "webFetch")'Example
curl -X POST $OMNIROUTE_URL/v1/web/fetch \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "jina/reader",
"url": "https://anthropic.com",
"format": "markdown"
}'Response: { url, title, markdown, links?:[...], images?:[...] }
Parameters
| Field | Type | Description |
model | string | Provider from /v1/models/web (e.g. jina/reader, firecrawl/scrape) |
url | string | URL to fetch |
format | string | markdown (default), html, text |
Errors
400 invalid_url→ URL must be http/https403 blocked→ provider blocked by target site; try a different model503→ provider unavailable; try another model in/v1/models/web
<!-- skill:custom-end -->Trending
More talk lately.about the whole repository
Who's talking about cheaper-inference/OmniRoute
- Ravi Gupta“9 Billion AI Token free 🤯 These 2 GitHub repositories could help you explore free AI 👇🏻”YouTube · Oct 25, 2026 · 1.4k views
- AI씬 | AI뉴스 오픈소스“클로드 코드 '공짜'의 대가 | 별 23만 개 저장소들, 열어 보니”YouTube · Oct 27, 2026 · 975 views
- Compile Time“How to Use Claude Code for FREE in 2026 (Step-by-Step Guide) - Unlimited with OmniRoute - Part 1”YouTube · Oct 25, 2026 · 884 views
- Zaid Alsaleh“1.6 مليار توكن مجاناً كل شهر لكلود كود 🤯 أداة OmniRoute”YouTube · Oct 26, 2026 · 853 views
- Naveen | AI“OmniRoute: Use Claude Code, Cursor and Codex for Free #AIcoding #ClaudeCode #OpenSource”YouTube · Oct 23, 2026 · 507 views
The biggest 5 of 35 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 35
Talked about on YouTube, GitHub and the web (35 times).
On YouTube · 13
- Oct 25, 20269 Billion AI Token free 🤯 These 2 GitHub repositories could help you explore free AI 👇🏻 — Ravi Gupta1.4k views · 11 comments
- Oct 27, 2026클로드 코드 '공짜'의 대가 | 별 23만 개 저장소들, 열어 보니 — AI씬 | AI뉴스 오픈소스975 views
- Oct 25, 2026How to Use Claude Code for FREE in 2026 (Step-by-Step Guide) - Unlimited with OmniRoute - Part 1 — Compile Time884 views · 2 comments
- Oct 26, 20261.6 مليار توكن مجاناً كل شهر لكلود كود 🤯 أداة OmniRoute — Zaid Alsaleh853 views · 1 comment
- Oct 23, 2026OmniRoute: Use Claude Code, Cursor and Codex for Free #AIcoding #ClaudeCode #OpenSource — Naveen | AI507 views · 1 comment
8 more on YouTube
- Oct 26, 2026Never run out of Claude Code tokens (2 free repos) #shorts — Satwik JS288 views · 1 comment
- Oct 25, 2026Claude Code: 4 plugin đỡ tốn token nên cài ngay — VietlinhAI190 views
- Oct 26, 2026🔥 Claude Code for FREE? 2 GitHub Repos That Change Everything! 🤯 — WHAT IF ? LAB148 views · 2 comments
- Oct 26, 20262 Free AI Routers Share 1 Catch — WorkSmartOS97 views · 1 comment
- Oct 26, 2026Agent hit its quota? 150 free providers are next in line — thenightlybuild87 views
- Oct 23, 2026Best GitHub Repos For AI Agents 2024 #Shorts — AI Húp5 views
- Oct 27, 2026Claude Code ke 3 plugins jo tokens bachate hain (Ponytail, Graphify, OmniRoute) — Neural Drop Hindi0 views
- Oct 27, 20263 Claude Code plugins that save you tokens (Ponytail, Graphify, OmniRoute) — Neural Drop0 views
On GitHub · 11
- Oct 21, 2026feat(api): serve Jev combos through OpenCode Free and CommandCode — PixmaNts/OmniRoute1 reaction
- Oct 28, 2026Auto-discovery: 15 verified AI agent repos (2026-10-28) — tayyabimam1/awesome-ai-agent-stack0 reactions · 2 comments
- Oct 28, 2026Research and adapt architecture patterns from similar gateway/router projects — gordonpn/shunt-shim0 reactions
- Oct 27, 2026Implement tele-proxy: combo policies, durable accounting, and external observability — Kitkitkittt/tele-proxy0 reactions · 1 comment
- Oct 27, 2026[Candidate] cheaper-inference/omniroute - large collection (52 SKILL.md files) — ProSkillsMD/proskills0 reactions · 1 comment
6 more on GitHub
- Oct 26, 2026feat(decisions): prepare System One codec for Jev integration — ekinnee/omniroute-openclaw0 reactions
- Oct 26, 2026Catalogue digest — 2026-10-26 — vatsalp2008/AI-Agent-Discovery0 reactions
- Oct 25, 2026⚠️ Failed to create server discovery PR — fuzzylabs/awesome-secure-mcp-servers0 reactions
- Oct 22, 2026feat(providers): add the local MiniMax Code provider with native tool calling — megamen32/OmniRoute0 reactions
- Oct 22, 2026feat(omniroute): new add-on for OmniRoute AI inference gateway — alexbelgium/hassio-addons0 reactions · 6 comments
- Oct 21, 2026✏️ ახალი მისამართი: diegosouzapw/OmniRoute → cheaper-inference/OmniRoute — tornikebolokadze1-cyber/awesome-ai-pulse-georgia0 reactions
On the web · 11
- Oct 29, 2026Omniroute Review 2026: LLM Routing, Cost, Failover — swarm.beetlix.com
- Oct 20, 2026Run Claude Code for Free on Windows with OmniRoute and Google AI Studio (Gemini Flash) — dev.to
- Oct 19, 2026Benchmarking OmniRoute: Quota-Aware Fallback Latency and Token Compression Under Load — dev.tosays it tested it
- Oct 6, 2026How to Use Claude Code for Free with OmniRoute — dev.to
- Sep 23, 2026OmniRoute AI: Installation, Claude Code, Docker, and Troubleshooting — honestaireview.hashnode.dev
6 more on the web
- Sep 10, 2026Self-hosting OmniRoute with Docker Compose to structurally solve quota issues|株式会社ホコサキ — note.com
- Aug 5, 2026How to Give Claude Code 1.5 Billion Free Tokens a Month — mattpaige68.substack.com
- Jul 26, 2026How I Routed One Billion AI Tokens for $0 With OmniRoute — dev.to
- Jul 22, 2026I Call 250 Different AI APIs. This Gateway Gives Me One Endpoint Instead. — dev.to
- Jul 20, 2026OmniRoute Review (2026): Is the 20k-Star Free AI Gateway Worth It vs OpenRouter & LiteLLM? — dev.to
- Jul 5, 2026OmniRoute: Free AI Gateway with 231 LLM Providers (2026 Review) — andrew.ooo — andrew.ooo
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
- diegosouzapw/OmniRoute★ 81k98% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository48 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- cli-a2aSkill
- cli-backup-syncSkill
- cli-batchesSkill
- cli-chatSkill
- cli-compressionSkill
- cli-contextsSkill
- cli-cost-usageSkill
- cli-evalSkill
- cli-healthSkill
- cli-keysSkill
- cli-mcpSkill
- cli-modelsSkill
- cli-plugins-skillsSkill
- cli-policy-auditSkill
- cli-providersSkill
- cli-resilienceSkill
- cli-routingSkill
- cli-serveSkill
- cli-setupSkill
- cli-skill-collectorSkill
- cli-tunnelSkill
- config-codex-cliSkill
- omni-agents-a2aSkill
- omni-api-keysSkill
- omni-authSkill
- omni-budgetSkill
- omni-cacheSkill
- omni-cli-toolsSkill
- omni-combos-routingSkill
- omni-compressionSkill
- omni-context-rtkSkill
- omni-db-backupsSkill
- omni-github-skillsSkill
- omni-mcpSkill
- omni-modelsSkill
- omni-providersSkill
- omni-proxiesSkill
- omni-resilienceSkill
- omni-settingsSkill
- omni-sync-cloudSkill
- omni-tunnelsSkill
- omni-usage-logsSkill
- omni-version-managerSkill
- omni-webhooksSkill
- ponytailSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

