w worouter

OpenAI-compatible API across 4 providers

Point any OpenAI SDK at your workspace's /v1 base URL and call OpenAI, Anthropic, Google Gemini, Groq, or local Ollama models with one API key. Streaming, tools, and usage metering work the same as the OpenAI API.

Create a workspace Log in

Quick start

  1. Create a workspace — sign up and you get a <slug>.worouter.com subdomain with $1 of starter credit.
  2. Mint an API key on the API Keys page. It looks like wor_live_….
  3. Point any OpenAI SDK at your workspace's /v1 base with that key. Switch models by changing the model string.

Your API base URL

https://<your-workspace>.ai.wozinga.com/v1
Authentication: Authorization: Bearer wor_live_…

Video generation (async)

Video models (e.g. bytedance/seedance-1.5-pro) run as asynchronous tasks: create one, then poll until status is succeeded and download content.video_url. Billing uses the task's reported video tokens.

curl https://<your-workspace>.ai.wozinga.com/v1/videos/generations \
  -H "Authorization: Bearer wor_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "bytedance/seedance-1.5-pro",
    "content": [{"type":"text","text":"A sailboat at sunset --resolution 720p --duration 5"}]
  }'

Then poll with the returned task id:

curl https://<your-workspace>.ai.wozinga.com/v1/videos/generations/cgt-2026... \
  -H "Authorization: Bearer wor_live_..."

Example — curl

curl https://<your-workspace>.ai.wozinga.com/v1/chat/completions \
  -H "Authorization: Bearer wor_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-haiku-4.5",
    "messages": [
      {"role": "user", "content": "Hello!"}
    ]
  }'

Example — Python (openai SDK)

from openai import OpenAI

client = OpenAI(
    base_url="https://<your-workspace>.ai.wozinga.com/v1",
    api_key="wor_live_YOUR_KEY",
)

resp = client.chat.completions.create(
    model="anthropic/claude-haiku-4.5",
    messages=[{"role": "user", "content": "Hello!"}],
)

print(resp.choices[0].message.content)

Example — Node (openai SDK)

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://<your-workspace>.ai.wozinga.com/v1",
  apiKey: "wor_live_YOUR_KEY",
});

const resp = await client.chat.completions.create({
  model: "anthropic/claude-haiku-4.5",
  messages: [{ role: "user", content: "Hello!" }],
});

console.log(resp.choices[0].message.content);

Streaming

Add "stream": true to any request and the response is a Server-Sent Events stream of chat.completion.chunk objects — same shape as OpenAI.

curl -N https://<your-workspace>.ai.wozinga.com/v1/chat/completions \
  -H "Authorization: Bearer wor_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-haiku-4.5",
    "stream": true,
    "messages": [{"role":"user","content":"Tell me a story."}]
  }'

Available models (31)

Routed IDs are provider/model. Sell price is per million tokens (USD): prompt / completion. Up-to-date list comes from the live catalog.

Routed IDNameContextSell P/C ($/M)
anthropic/claude-fable-5Claude Fable 5200000$10 / $50
anthropic/claude-haiku-4.5Claude Haiku 4.5200000$1 / $5
anthropic/claude-opus-4.8Claude Opus 4.8200000$15 / $75
anthropic/claude-sonnet-4.6Claude Sonnet 4.6200000$3 / $15
anthropic/claude-sonnet-5Claude Sonnet 5200000$3 / $15
bytedance/seed-1.6Seed 1.6256000$0.25 / $2
bytedance/seed-1.8ByteDance Seed 1.8256000$0.25 / $2
bytedance/seedance-1.0-proSeedance 1.0 Pro0$0 / $2.5
bytedance/seedance-1.5-proSeedance 1.5 Pro0$0 / $1.2
bytedance/seedance-2.0Seedance 2.00$0 / $1.5
deepseek/deepseek-r1DeepSeek R1163840$1.5 / $6
gemini/gemini-2.0-flashGemini 2.0 Flash1000000$0.1 / $0.4
gemini/gemini-2.5-proGemini 2.5 Pro1000000$1.25 / $10
groq/llama-3.3-70bLlama 3.3 70B (Groq)128000$0.59 / $0.79
heygen/avatar-ivHeyGen Avatar IV0$0 / $66666.67
heygen/avatar-standardHeyGen Avatar (standard)0$0 / $16666.67
ollama/llama3.1Llama 3.1 (local)128000$0 / $0
openai/gpt-4.1GPT-4.11000000$2 / $8
openai/gpt-4oGPT-4o128000$2.5 / $10
openai/gpt-4o-miniGPT-4o mini128000$0.15 / $0.6
openai/o3-minio3-mini200000$1.1 / $4.4
wozinga/deepseek-r1DeepSeek R1 70B (Wozinga)65536$0 / $0
wozinga/qwen2.5-vl-7bQwen2.5-VL 7B (Wozinga)6144$0 / $0
wozinga/qwen3-14bQwen3 14B (Wozinga)32768$0 / $0
wozinga/qwen3-coderQwen3-Coder (Wozinga)131072$0 / $0
wozinga/qwen3-embedding-0.6bQwen3 Embedding 0.6B (Wozinga)32768$0 / $0
wozinga/whisper-large-v3Whisper Large v3 (Wozinga)0$0 / $0
xai/grok-4.20-non-reasoningGrok 4.20 (non-reasoning)256000$1.25 / $2.5
xai/grok-4.20-reasoningGrok 4.20 (reasoning)256000$1.25 / $2.5
xai/grok-4.3Grok 4.3256000$1.25 / $2.5
xai/grok-imagine-videoGrok Imagine (video)0$0 / $50000

What's compatible?