Loading...
Loading...
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.
npx skill4agent add cheaper-inference/omniroute omni-inferencePOST /api/auth/loginREQUIRE_API_KEY=falsePOST /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}GET /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/fetchGET /api/openapi/specdocs/openapi.yamlPOST $OMNIROUTE_URL/v1/chat/completionsPOST $OMNIROUTE_URL/v1/messagesPOST $OMNIROUTE_URL/v1/responsescurl $OMNIROUTE_URL/v1/models | jq '.data[].id'autocost-optimizedsubscriptioncurl -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
}'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"}]
}'toolstoolsX-Omniroute-Rtk: off401400 invalid_model/v1/models503 circuit_open429 rate_limitedRetry-AfterPOST $OMNIROUTE_URL/v1/images/generationsPOST $OMNIROUTE_URL/v1/images/editsPOST $OMNIROUTE_URL/v1/images/variationscurl $OMNIROUTE_URL/v1/models/image | jq '.data[]'{ id, owned_by, sizes:[...], capabilities:[...] }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"
}'{ created, data: [{ url? or b64_json, revised_prompt }] }400 invalid_size/v1/models/image400 content_policy_violation503/v1/models/imagePOST $OMNIROUTE_URL/v1/audio/speechcurl $OMNIROUTE_URL/v1/models/tts | jq '.data[]'voices:[...]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.mp3/v1/models/ttsvoices:[...]alloyechofableonyxnovashimmer400 invalid_voice400 input_too_long503/v1/models/ttsPOST $OMNIROUTE_URL/v1/audio/transcriptionsPOST $OMNIROUTE_URL/v1/audio/translationscurl $OMNIROUTE_URL/v1/models/stt | jq '.data[]'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"{ text, language, duration, segments?:[{ start, end, text }] }mp3mp4mpegmpgam4awavwebmjsontextsrtverbose_jsonvtt400 invalid_file_format400 file_too_large503/v1/models/sttPOST $OMNIROUTE_URL/v1/embeddingscurl $OMNIROUTE_URL/v1/models/embedding | jq '.data[]'{ id, owned_by, dimensions, max_input_tokens }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"
}'{ data:[{ embedding:[...], index }], usage:{ prompt_tokens, total_tokens } }input400 input_too_longmax_input_tokens400 invalid_encoding_formatfloatbase64503/v1/models/embeddingPOST $OMNIROUTE_URL/v1/web/searchcurl $OMNIROUTE_URL/v1/models/web | jq '.data[] | select(.kind == "webSearch")'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
}'{ answer?, results:[{ url, title, content, score }] }| Field | Type | Description |
|---|---|---|
| string | Provider model from |
| string | Search query |
| number | Max results (default: 5) |
| boolean | Include AI-synthesized answer |
| string | |
400 query_too_long503/v1/models/webPOST $OMNIROUTE_URL/v1/web/fetchcurl $OMNIROUTE_URL/v1/models/web | jq '.data[] | select(.kind == "webFetch")'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"
}'{ url, title, markdown, links?:[...], images?:[...] }| Field | Type | Description |
|---|---|---|
| string | Provider from |
| string | URL to fetch |
| string | |
400 invalid_url403 blocked503/v1/models/web