クイックスタート
Kiln は OpenAI 互換です。アカウントを作成し、API キーを発行して、OpenAI クライアントの接続先を Kiln のエンドポイントに変更します。この 3 ステップで qwen3-32b からレスポンスを受け取れます。
1. サインアップ
サインアップページ でメールアドレス、または GitHub・Google・Naver アカウントで登録します。個人組織が自動的に作成され、キー・使用量・クレジットはその組織に属します。
- メールアドレスを確認してください。トライアルクレジットは確認後に一度だけ付与され、30 日後に失効します。金額と残高はコンソールのクレジットページで確認できます。
- オープンベータ期間中は、運用チームがアカウントを承認するまでコンソールを利用できない場合があります。承認待ちページに 2 つの確認状態が表示され、自動的に更新されます。
2. API キーを発行
コンソール → API キー で、組織の管理者がプロジェクトにキーを発行します。キーは sk-bk- で始まり、値の全体は発行時に一度だけ表示されるため、その場でコピーしてください。メール確認とアカウント承認が完了するまでキーは発行できません。
ヒント
API キーは秘密に保管してください。ソース管理にコミットしたり、 クライアントコードに含めたりしないでください。環境変数(例:
KILN_API_KEY)から読み込み、漏洩した場合はすぐに ローテーションしてください。3. 最初のリクエストを送信
OpenAI 互換クライアントであれば何でも動作します。公式 OpenAI SDK が最も簡単です。
bash
pip install openaibash
npm install openaiクライアントの base_url を https://api.bricksum.com/v1 に設定します。この 1 行だけで完了し、あとは OpenAI API と同じように動作します。一部のパラメータは未対応です。API リファレンスの「既知の制限」を参照してください。
base_url
base_url = "https://api.bricksum.com/v1"chat/completions リクエストを送信します。レスポンスの形式は、課金の根拠となる usage フィールドも含めて OpenAI API と同じです。
bash
curl https://api.bricksum.com/v1/chat/completions \
-H "Authorization: Bearer sk-bk-..." \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-32b",
"messages": [
{"role": "user", "content": "Hello!"}
]
}'python
from openai import OpenAI
client = OpenAI(
base_url="https://api.bricksum.com/v1",
api_key="sk-bk-...", # your Kiln API key
)
resp = client.chat.completions.create(
model="qwen3-32b",
messages=[{"role": "user", "content": "Hello!"}],
)
print(resp.choices[0].message.content)javascript
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.bricksum.com/v1",
apiKey: process.env.KILN_API_KEY, // sk-bk-...
});
const resp = await client.chat.completions.create({
model: "qwen3-32b",
messages: [{ role: "user", content: "Hello!" }],
});
console.log(resp.choices[0].message.content);ストリーミング
stream を true にすると、生成されるトークンを SSE(server-sent events)としてリアルタイムに受信できます。
bash
curl https://api.bricksum.com/v1/chat/completions \
-H "Authorization: Bearer sk-bk-..." \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-32b",
"messages": [{"role": "user", "content": "Hello!"}],
"stream": true
}'python
from openai import OpenAI
client = OpenAI(
base_url="https://api.bricksum.com/v1",
api_key="sk-bk-...",
)
stream = client.chat.completions.create(
model="qwen3-32b",
messages=[{"role": "user", "content": "Hello!"}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")javascript
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.bricksum.com/v1",
apiKey: process.env.KILN_API_KEY,
});
const stream = await client.chat.completions.create({
model: "qwen3-32b",
messages: [{ role: "user", content: "Hello!" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0].delta.content ?? "");
}次のステップ
- モデルカタログ — 提供中の全モデルの現在価格、直近 24 時間の実測スループット、90 日稼働率を確認してモデルを選び、そのモデル ID をリクエストの model フィールドに指定します
- API リファレンス — 対応エンドポイント・リクエストフィールド・既知の制限
- エラー — 401(キーの誤り)・402(クレジット不足)・429(レート制限)の意味とリトライ方法
- レート制限 — レート制限(デフォルト 60 RPM)とリトライガイド
- コンソール → ツール連携 — Claude Code・Codex CLI・OpenCode・Cursor を 1 ステップで接続