
Sign up and top up in KRW
Add credits with Toss Payments in a few clicks.
Every major AI model through one API. Pay in KRW and get Korean tax invoices.
Tax invoices
Keep the same OpenAI, Anthropic and Google models, pay in KRW and get tax invoices.

Text, images, video and audio
Every major model in one place, on one key and one KRW wallet.
460+Models on one API
Browse all modelsHigher availability
Distributed infrastructure falls back to another provider automatically.
Price and performance
Requests run close to your users for minimal latency, and every request is priced in KRW.
Custom data policies
Send prompts only to the providers you choose, with zero data retention and no training on your data.
View docsHow it works

Add credits with Toss Payments in a few clicks.

One key calls every model.

Call models with the SDK you already use and see every cost in KRW.
SDKs
OpenAI SDK, Anthropic SDK, Vercel AI SDK and other standard clients work as they are. Swap the base URL and keep your code.
Endpoints
POST/api/v1/chat/completionsChat CompletionsPOST/api/v1/responsesResponsesPOST/api/v1/messagesAnthropic MessagesPOST/api/v1/messages/count_tokensToken countingGET/api/v1/modelsModel listPOST/api/v1/images/generationsImage generationOpenAI Python
import os
from openai import OpenAI
client = OpenAI(
base_url="https://router.strokecompany.io/api/v1",
api_key=os.environ["SPEEDGATEWAY_API_KEY"],
)
response = client.chat.completions.create(
model="anthropic/claude-opus-5.5",
messages=[{"role": "user", "content": "Hello"}],
)
print(response.choices[0].message.content)OpenAI Node.js
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://router.strokecompany.io/api/v1",
apiKey: process.env.SPEEDGATEWAY_API_KEY,
});
const response = await client.chat.completions.create({
model: "anthropic/claude-opus-5.5",
messages: [{ role: "user", content: "Hello" }],
});
console.log(response.choices[0].message.content);Anthropic
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
baseURL: "https://router.strokecompany.io/api",
apiKey: process.env.SPEEDGATEWAY_API_KEY,
});
const message = await client.messages.create({
model: "anthropic/claude-opus-5.5",
max_tokens: 1024,
messages: [{ role: "user", content: "Hello" }],
});
console.log(message.content);Vercel AI SDK
import { generateText } from "ai";
import { createOpenAI } from "@ai-sdk/openai";
import { createAnthropic } from "@ai-sdk/anthropic";
const baseURL = "https://router.strokecompany.io/api/v1";
const apiKey = process.env.SPEEDGATEWAY_API_KEY;
const openai = createOpenAI({ baseURL, apiKey });
const anthropic = createAnthropic({ baseURL, apiKey });
const { text } = await generateText({
// or openai("anthropic/claude-opus-5.5")
model: anthropic("anthropic/claude-opus-5.5"),
prompt: "Hello",
});curl
curl https://router.strokecompany.io/api/v1/chat/completions \
-H "Authorization: Bearer $SPEEDGATEWAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic/claude-opus-5.5",
"messages": [{ "role": "user", "content": "Hello" }]
}'Create an account, top up in KRW and call every major AI model with one key.
Get started