本文へ移動
cccskills
無料GitHub で公開日本語紹介

omni-inference

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.

連携ツールOpenAI
AI評価70点/ 100インストール方法を見る

こんなときに便利

  • チャットや画像生成を組み込みたいとき
  • 読み上げや文字起こしを追加したいとき
  • 検索用に文章を数値化したいとき
  • Web検索と本文取得を連携したいとき

日本語での紹介

できること

OmniRouteのAPIを使い、AIエージェントに文章や画像の生成、読み上げ、音声の文字起こしを組み込みます。検索などに使う文章の数値表現である埋め込みの生成、Web検索、ページ本文の取得も扱います。チャットはOpenAI形式、Anthropic Messages形式、OpenAI Responses APIの呼び出し例があり、利用可能なモデルの調べ方も示されています。

こんなときに便利

複数のAI機能をエージェントから呼び出したい場合に向いています。音声の文字起こしを字幕形式で受け取る、読み上げ音声をファイルに保存する、取得したページをMarkdownで受け取るといった用途を検討できます。複数の接続先を順に試すモデルの組み合わせも利用できます。

使い方の例

  • 「チャットと画像生成を呼び出す処理を組み込んで」
  • 「音声ファイルを文字起こしして、字幕形式で受け取って」
  • 「Web検索とページ本文の取得を連携させて」

注意点

OMNIROUTE_URLとOMNIROUTE_KEYの設定が必要です。API認証にはBearerトークンまたはセッションCookieを使います。利用できる画像サイズ、音声の種類、入力長やファイル容量の上限は、モデルや提供元によって異なります。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

客観評価

SKILL.md の中身だけを根拠に、AI が 4 つの観点で判定しました。スター数や人気は判定に入れていません。

指示の明確さいつ使い、何をするかが読み取れるか
A良好概要にチャット・画像・音声などの推論APIとエージェント統合の用途が明記されています。
手順の具体性手順・入出力・例が具体的に書かれているか
B一部不足提供部分にはAPIのメソッドとパスがありますが、要求本文や応答例はありません。
安全面送信・削除・コマンド実行などの扱いが明示されているか
B一部不足認証情報取得や削除のAPIが列挙されていますが、実行前の確認手順はありません。
導入のしやすさ必要なツールや API キーが少ないか、書かれているか
B一部不足トークン取得先と認証方式はありますが、OmniRouteの導入手順はありません。

合計点は、各項目を A=25点・B=15点・C=5点として足したものです。 2026年10月22日 時点で AI(OpenAI Codex)が判定しました。目安なので、入れる前に原文も確認してください。

評価が違うと思ったら、見直しを依頼する

どの項目が、なぜ違うと思うかを書いてください。ログインは不要です。内容を SKILL.md と照らし合わせて評価を作り直し、この欄に反映します。

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

含まれるファイル(2)

  • SKILL.md21.5 KB
  • references/endpoints.md42.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

<!-- 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

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 format
  • POST $OMNIROUTE_URL/v1/messages — Anthropic Messages format
  • POST $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 key
  • 400 invalid_model → model not in registry; check /v1/models
  • 503 circuit_open → provider circuit breaker tripped; retry later or use combo
  • 429 rate_limited → honor Retry-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-image
  • POST $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/image
  • 400 content_policy_violation → blocked by provider safety
  • 503 → 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.mp3

Voices

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 model
  • 400 input_too_long → input exceeds model character limit
  • 503 → 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 text
  • POST $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 format
  • 400 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 exceeds max_input_tokens for this model
  • 400 invalid_encoding_format → use float or base64
  • 503 → 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

FieldTypeDescription
modelstringProvider model from /v1/models/web
querystringSearch query
max_resultsnumberMax results (default: 5)
include_answerbooleanInclude AI-synthesized answer
search_depthstringbasic or advanced (Tavily)

Errors

  • 400 query_too_long → shorten the search query
  • 503 → 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

FieldTypeDescription
modelstringProvider from /v1/models/web (e.g. jina/reader, firecrawl/scrape)
urlstringURL to fetch
formatstringmarkdown (default), html, text

Errors

  • 400 invalid_url → URL must be http/https
  • 403 blocked → provider blocked by target site; try a different model
  • 503 → provider unavailable; try another model in /v1/models/web
<!-- skill:custom-end -->

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

cli-a2a

無料概要ありAI評価 90点

コマンドラインからOmniRouteのA2Aサーバーへタスクを送り、実行履歴やログの確認、進行状況の監視、エージェント間通信のテストを行うスキル。

  • サーバー状態とスキルを確認したいとき
  • JSON入力でスキルを呼び出したいとき
  • タスクの実行履歴やログの確認
cheaper-inference/OmniRoute8万2026年10月22日 更新

cli-backup-sync

無料概要ありAI評価 70点

OmniRouteのデータをコマンドでバックアップ・復元するスキル。差分保存、暗号化、クラウド同期、定期実行の設定や同期用ファイルの入出力を扱います。

  • 設定変更前にバックアップしたいとき
  • 定期バックアップと保持数の設定
  • クラウドへデータを同期したいとき
cheaper-inference/OmniRoute8万2026年10月22日 更新

cli-batches

無料概要あり

AIへの推論リクエストをまとめてコマンドから投入し、進行状況の確認から結果・エラーの保存まで扱います。処理用ファイルの管理やCI/CDへの組み込みにも使えます。

  • JSONLからAIリクエストを一括投入
  • バッチの進行確認と完了待ち
  • 処理結果とエラーの保存
cheaper-inference/OmniRoute8万2026年10月22日 更新

cli-chat

無料概要ありAI評価 90点

端末からLLMに質問を送り、回答の逐次表示や対話を行うスキルです。ファイル入力、モデル選択、システムプロンプトの指定にも対応します。

  • 端末からAIに質問したいとき
  • ファイルの内容を質問に使いたいとき
  • 回答を逐次表示して保存したいとき
cheaper-inference/OmniRoute8万2026年10月22日 更新

cli-compression

無料概要ありAI評価 80点

プロンプトを短くする圧縮設定をコマンドラインで管理し、RTKやCavemanのルール、複数方式の組み合わせを調整して、実際の入力で結果を確認するスキル。

  • 実際の入力で圧縮結果を確認したいとき
  • RTKやCavemanのルール調整
  • 複数の圧縮方式を比較したいとき
cheaper-inference/OmniRoute8万2026年10月22日 更新

cli-contexts

無料概要ありAI評価 80点

コマンドラインでAIに渡す情報の処理設定やフィルターを調整し、OmniRouteの接続先の切り替えと会話セッションの確認・管理を行うスキル。

  • トークン予算やフィルターを調整したいとき
  • 登録済みの接続先を切り替えたいとき
  • 接続設定をJSONで入出力したいとき
cheaper-inference/OmniRoute8万2026年10月22日 更新

cheaper-inference のスキルをすべて見る

このスキルの問題を報告する