Docs · Configuration
Bring your own key
ShipFlow is model-agnostic. It routes model calls through OpenRouter, so a single API key unlocks dozens of providers — and your requests, spend, and data stay under your control.
Why bring your own key
Instead of paying a markup on someone else's inference, you point ShipFlow at your own account. You decide which model drafts PRDs and which model performs the deeper, more expensive review pass.
Tiered routing out of the box
Get a key
- 1
Create an OpenRouter account
Sign up at openrouter.ai and add credits (or connect your own provider keys inside OpenRouter). - 2
Generate an API key
Open Keys → Create Key. Copy the value — you will only see it once. - 3
Add it to your environment
Set the key as an environment variable so ShipFlow can use it for every model call.
Configure the environment
Add the following to your environment file:
# apps/web/.env.local
# Your OpenRouter API key — powers all ShipFlow model calls
OPENROUTER_API_KEY="sk-or-..."That is the only key required to enable AI features. Restart the dev server (or redeploy) after changing it.
Choose your models
Model routing is centralized in one file, so swapping models is a one-line change rather than a search-and-replace across the codebase.
// apps/web/src/lib/ai/models.ts
export const models = {
// Structured work: PRDs, task breakdowns, clarifying questions
fast: openrouter("google/gemini-2.5-flash"),
// Code review: needs to catch subtle bugs & security issues
review: openrouter("anthropic/claude-sonnet-4.5"),
} as const;Verify slugs before deploying
Your data boundary
With your own key, model requests go directly to the provider you selected through OpenRouter. Your repositories are used only to generate reviews and artifacts for you — never to train models.