Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Entry point for 9Router — local/remote AI gateway with OpenAI-compatible REST for chat, image, TTS, embeddings, web search, web fetch. Use when the user mentions 9Router, NINEROUTER_URL, or wants AI without writing provider boilerplate. This skill covers setup + indexes capability skills; fetch the relevant capability SKILL.md from the URLs below when needed.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 32% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 76% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 1% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 29% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 25% | 0% |
Local/remote AI gateway exposing OpenAI-compatible REST. One key, many providers, auto-fallback.
bashexport NINEROUTER_URL="http://localhost:20128" # or VPS / tunnel URL export NINEROUTER_KEY="sk-..." # from Dashboard → Keys (only if requireApiKey=true)
All requests: ${NINEROUTER_URL}/v1/... with header Authorization: Bearer ${NINEROUTER_KEY} (omit if auth disabled).
Verify: curl $NINEROUTER_URL/api/health → {"ok":true}
bashcurl $NINEROUTER_URL/v1/models # chat/LLM (default) curl $NINEROUTER_URL/v1/models/image # image-gen curl $NINEROUTER_URL/v1/models/tts # text-to-speech curl $NINEROUTER_URL/v1/models/embedding # embeddings curl $NINEROUTER_URL/v1/models/web # web search + fetch (entries have `kind` field) curl $NINEROUTER_URL/v1/models/stt # speech-to-text curl $NINEROUTER_URL/v1/models/image-to-text # vision
Use data[].id as model field in requests. Combos appear with owned_by:"combo".
Response shape:
json{ "object": "list", "data": [ { "id": "openai/gpt-5", "object": "model", "owned_by": "openai", "created": 1735000000 }, { "id": "tavily/search", "object": "model", "kind": "webSearch", "owned_by": "tavily", "created": 1735000000 } ]}
When the user needs a specific capability, fetch that skill's SKILL.md from its raw URL:
| Capability | Raw URL | |---|---| | Chat / code-gen | https://raw.githubusercontent.com/decolua/9router/refs/heads/master/skills/9router-chat/SKILL.md | | Image generation | https://raw.githubusercontent.com/decolua/9router/refs/heads/master/skills/9router-image/SKILL.md | | Text-to-speech | https://raw.githubusercontent.com/decolua/9router/refs/heads/master/skills/9router-tts/SKILL.md | | Speech-to-text | https://raw.githubusercontent.com/decolua/9router/refs/heads/master/skills/9router-stt/SKILL.md | | Embeddings | https://raw.githubusercontent.com/decolua/9router/refs/heads/master/skills/9router-embeddings/SKILL.md | | Web search | https://raw.githubusercontent.com/decolua/9router/refs/heads/master/skills/9router-web-search/SKILL.md | | Web fetch (URL → markdown) | https://raw.githubusercontent.com/decolua/9router/refs/heads/master/skills/9router-web-fetch/SKILL.md |
NINEROUTER_KEY (Dashboard → Keys)Invalid model format → check model exists in /v1/models/<kind>All accounts unavailable → wait retry-after or add another provider accountOther measured skills in the registry, with their headline benchmark lift.