コマンドラインからOmniRouteのA2Aサーバーへタスクを送り、実行履歴やログの確認、進行状況の監視、エージェント間通信のテストを行うスキル。
- サーバー状態とスキルを確認したいとき
- JSON入力でスキルを呼び出したいとき
- タスクの実行履歴やログの確認
OmniRoute経由で文章・画像の生成、読み上げ、文字起こし、検索用の数値変換やWeb検索・本文取得を呼び出し、AIエージェントに組み込むスキル。
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.
OmniRouteのAPIを使い、AIエージェントに文章や画像の生成、読み上げ、音声の文字起こしを組み込みます。検索などに使う文章の数値表現である埋め込みの生成、Web検索、ページ本文の取得も扱います。チャットはOpenAI形式、Anthropic Messages形式、OpenAI Responses APIの呼び出し例があり、利用可能なモデルの調べ方も示されています。
複数のAI機能をエージェントから呼び出したい場合に向いています。音声の文字起こしを字幕形式で受け取る、読み上げ音声をファイルに保存する、取得したページをMarkdownで受け取るといった用途を検討できます。複数の接続先を順に試すモデルの組み合わせも利用できます。
OMNIROUTE_URLとOMNIROUTE_KEYの設定が必要です。API認証にはBearerトークンまたはセッションCookieを使います。利用できる画像サイズ、音声の種類、入力長やファイル容量の上限は、モデルや提供元によって異なります。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
SKILL.md の中身だけを根拠に、AI が 4 つの観点で判定しました。スター数や人気は判定に入れていません。
合計点は、各項目を A=25点・B=15点・C=5点として足したものです。 2026年10月22日 時点で AI(OpenAI Codex)が判定しました。目安なので、入れる前に原文も確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
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.
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.
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}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/fetchSee the full OpenAPI specification at GET /api/openapi/spec or docs/openapi.yaml for detailed request/response schemas.
Requires OMNIROUTE_URL and OMNIROUTE_KEY. See entry-point SKILL for setup.
POST $OMNIROUTE_URL/v1/chat/completions — OpenAI formatPOST $OMNIROUTE_URL/v1/messages — Anthropic Messages formatPOST $OMNIROUTE_URL/v1/responses — OpenAI Responses APIcurl $OMNIROUTE_URL/v1/models | jq '.data[].id'
Combos (e.g. auto, cost-optimized, subscription) auto-fallback through multiple providers.
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
}'
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"}]
}'
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.
Anthropic extended thinking and OpenAI Responses reasoning blocks are forwarded verbatim. Cached automatically via reasoning cache.
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 → honor Retry-After; consider using a combo for auto-fallbackRequires OMNIROUTE_URL and OMNIROUTE_KEY. See entry-point SKILL for setup.
POST $OMNIROUTE_URL/v1/images/generations — Text-to-imagePOST $OMNIROUTE_URL/v1/images/edits — Image edit (mask)POST $OMNIROUTE_URL/v1/images/variations — Variationscurl $OMNIROUTE_URL/v1/models/image | jq '.data[]'
Returns { id, owned_by, sizes:[...], capabilities:[...] } per model.
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 }] }
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/imageRequires OMNIROUTE_URL and OMNIROUTE_KEY. See entry-point SKILL for setup.
POST $OMNIROUTE_URL/v1/audio/speech — returns binary audio (mp3/opus/wav/flac)curl $OMNIROUTE_URL/v1/models/tts | jq '.data[]'
Each entry includes voices:[...] for the available voice names per provider.
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
Voice names vary by provider. Check /v1/models/tts — each entry has voices:[...].
Common OpenAI voices: alloy, echo, fable, onyx, nova, shimmer.
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/ttsRequires OMNIROUTE_URL and OMNIROUTE_KEY. See entry-point SKILL for setup.
POST $OMNIROUTE_URL/v1/audio/transcriptions — multipart upload, returns textPOST $OMNIROUTE_URL/v1/audio/translations — transcribe + translate to Englishcurl $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"
Response: { text, language, duration, segments?:[{ start, end, text }] }
Audio: mp3, mp4, mpeg, mpga, m4a, wav, webm.
Response formats: json, text, srt, verbose_json, vtt.
400 invalid_file_format → unsupported audio format400 file_too_large → exceeds provider limit (usually 25MB)503 → provider unavailable; try another model in /v1/models/sttRequires OMNIROUTE_URL and OMNIROUTE_KEY. See entry-point SKILL for setup.
POST $OMNIROUTE_URL/v1/embeddingscurl $OMNIROUTE_URL/v1/models/embedding | jq '.data[]'
Each entry: { 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"
}'
Response: { data:[{ embedding:[...], index }], usage:{ prompt_tokens, total_tokens } }
input accepts a string or array of strings (up to provider batch limit, typically 2048 items).
400 input_too_long → input exceeds max_input_tokens for this model400 invalid_encoding_format → use float or base64503 → provider unavailable; try another model in /v1/models/embeddingRequires OMNIROUTE_URL and OMNIROUTE_KEY. See entry-point SKILL for setup.
POST $OMNIROUTE_URL/v1/web/search — unified search formatcurl $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
}'
Response: { answer?, results:[{ url, title, content, score }] }
| 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) |
400 query_too_long → shorten the search query503 → provider unavailable; try another model in /v1/models/webRequires OMNIROUTE_URL and OMNIROUTE_KEY. See entry-point SKILL for setup.
POST $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"
}'
Response: { url, title, markdown, links?:[...], images?:[...] }
| 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 |
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まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
コマンドラインからOmniRouteのA2Aサーバーへタスクを送り、実行履歴やログの確認、進行状況の監視、エージェント間通信のテストを行うスキル。
OmniRouteのデータをコマンドでバックアップ・復元するスキル。差分保存、暗号化、クラウド同期、定期実行の設定や同期用ファイルの入出力を扱います。
AIへの推論リクエストをまとめてコマンドから投入し、進行状況の確認から結果・エラーの保存まで扱います。処理用ファイルの管理やCI/CDへの組み込みにも使えます。
端末からLLMに質問を送り、回答の逐次表示や対話を行うスキルです。ファイル入力、モデル選択、システムプロンプトの指定にも対応します。
プロンプトを短くする圧縮設定をコマンドラインで管理し、RTKやCavemanのルール、複数方式の組み合わせを調整して、実際の入力で結果を確認するスキル。
コマンドラインでAIに渡す情報の処理設定やフィルターを調整し、OmniRouteの接続先の切り替えと会話セッションの確認・管理を行うスキル。