FlagshipRouter
Local/remote AI gateway exposing OpenAI-compatible REST. One key, many providers, auto-fallback.
Setup
bashexport FLAGSHIPROUTER_URL="http://localhost:20128" # or VPS / tunnel URL export FLAGSHIPROUTER_KEY="sk-..." # from Dashboard → Keys (only if requireApiKey=true)
All requests: ${FLAGSHIPROUTER_URL}/v1/... with header Authorization: Bearer ${FLAGSHIPROUTER_KEY} (omit if auth disabled).
Verify: curl $FLAGSHIPROUTER_URL/api/health → {"ok":true}
Discover models
bashcurl $FLAGSHIPROUTER_URL/v1/models # chat/LLM (default) curl $FLAGSHIPROUTER_URL/v1/models/image # image-gen curl $FLAGSHIPROUTER_URL/v1/models/tts # text-to-speech curl $FLAGSHIPROUTER_URL/v1/models/embedding # embeddings curl $FLAGSHIPROUTER_URL/v1/models/web # web search + fetch (entries have `kind` field) curl $FLAGSHIPROUTER_URL/v1/models/stt # speech-to-text curl $FLAGSHIPROUTER_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 } ]}
Capability skills
When the user needs a specific capability, fetch that skill's SKILL.md from its raw URL:
Errors
- 401 → set/refresh
FLAGSHIPROUTER_KEY(Dashboard → Keys) - 400
Invalid model format→ checkmodelexists in/v1/models/<kind> - 503
All accounts unavailable→ waitretry-afteror add another provider account


