# クイックスタート > API キーの発行から最初の API リクエストまでを手順どおりに案内します。 Source: https://kiln.bricksum.com/docs/ja/quickstart Kiln は OpenAI 互換です。アカウントを作成し、API キーを発行して、OpenAI クライアントの接続先を Kiln のエンドポイントに変更します。この 3 ステップで qwen3-32b からレスポンスを受け取れます。 ## 1. サインアップ [サインアップページ](https://kiln.bricksum.com/signup) でメールアドレス、または GitHub・Google・Naver アカウントで登録します。個人組織が自動的に作成され、キー・使用量・クレジットはその組織に属します。 - メールアドレスを確認してください。トライアルクレジットは確認後に一度だけ付与され、30 日後に失効します。金額と残高はコンソールのクレジットページで確認できます。 - オープンベータ期間中は、運用チームがアカウントを承認するまでコンソールを利用できない場合があります。承認待ちページに 2 つの確認状態が表示され、自動的に更新されます。 ## 2. API キーを発行 [コンソール → API キー](https://kiln.bricksum.com/app/keys) で、組織の管理者がプロジェクトにキーを発行します。キーは `sk-bk-` で始まり、値の全体は発行時に一度だけ表示されるため、その場でコピーしてください。メール確認とアカウント承認が完了するまでキーは発行できません。 ヒント API キーは秘密に保管してください。ソース管理にコミットしたり、 クライアントコードに含めたりしないでください。環境変数(例:`KILN_API_KEY`)から読み込み、漏洩した場合はすぐに ローテーションしてください。 ## 3. 最初のリクエストを送信 OpenAI 互換クライアントであれば何でも動作します。公式 OpenAI SDK が最も簡単です。 **Python** ```bash pip install openai ``` **JavaScript** ```bash npm install openai ``` クライアントの `base_url` を `https://api.bricksum.com/v1` に設定します。この 1 行だけで完了し、あとは OpenAI API と同じように動作します。一部のパラメータは未対応です。API リファレンスの「既知の制限」を参照してください。 **base_url** ```python base_url = "https://api.bricksum.com/v1" ``` chat/completions リクエストを送信します。レスポンスの形式は、課金の根拠となる usage フィールドも含めて OpenAI API と同じです。 **curl** ```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** ```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** ```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)としてリアルタイムに受信できます。 **curl** ```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** ```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** ```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 ?? ""); } ``` ## 次のステップ - [モデルカタログ](https://kiln.bricksum.com/models) — 提供中の全モデルの現在価格、直近 24 時間の実測スループット、90 日稼働率を確認してモデルを選び、そのモデル ID をリクエストの model フィールドに指定します - [API リファレンス](https://kiln.bricksum.com/docs/ja/api-reference) — 対応エンドポイント・リクエストフィールド・既知の制限 - [エラー](https://kiln.bricksum.com/docs/ja/errors) — 401(キーの誤り)・402(クレジット不足)・429(レート制限)の意味とリトライ方法 - [レート制限](https://kiln.bricksum.com/docs/ja/rate-limits) — レート制限(デフォルト 60 RPM)とリトライガイド - [コンソール → ツール連携](https://kiln.bricksum.com/app/tools) — Claude Code・Codex CLI・OpenCode・Cursor を 1 ステップで接続