APIドキュメント - KimiCode
数秒で当社の無制限LLM APIへのリクエスト送信を開始できます。サービスは完全にOpenAI互換のため、既存のクライアントコードのベースURLとAPIキーを変更するだけで利用可能です。
ベースURLと認証
ベースURLを更新し、ヘッダーにキーを提供することでコードをAPIに接続します。標準的な認証をサポートしているため、既存の OpenAI SDK クライアントは複雑なセットアップなしで即座に動作します。APIキーは、Googleまたはメールでのサインアップ直後に表示され、電話番号は必要ありません。
各アカウントには同時に1つのアクティブなキーのみ保持され、新しいキーを生成すると古いキーが置き換えられます。リクエストはAuthorizationヘッダーによって認証され、前払い残高への安全なアクセスが確保されます。
最初のリクエスト
シンプルなPOSTリクエストで標準のチャット完了エンドポイントを使用して最初のメッセージを送信してください。これにより、高度な機能やストリーミングデータに着手する前に統合が機能することが確認できます。応答にはuncensoredモデルからのテキスト出力が返されます。
- YOUR_API_KEYをダッシュボードのキーに置き換えます。
- モデルを「uncensored」に設定して、当社の専用オープンウェイトモデルを使用します。
curl https://api.kimicodepricing.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List available plan tiers and token costs"}]
}'
Python SDK統合
ベースURLをポイントすることで、公式のOpenAI Pythonライブラリを使用してAPIと対話します。このアプローチは馴染みのある構文を活用し、アプリケーションのロジック全体を書き換えることなくプロバイダーを切り替えることができます。ライブラリはトークン化とリクエストのフォーマットを自動的に処理します。
- pip経由でopenaiパッケージをインストールしてください。
- ベースURLを当社のサービスに向けてください。
from openai import OpenAI
client = OpenAI(base_url="https://api.kimicodepricing.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Node SDKの統合
当社のAPIをJavaScriptまたはTypeScriptアプリケーションにNode SDKを使用して統合します。これにより、フロントエンドとバックエンドの環境間で一貫した動作が保証されます。標準のOpenAI互換サービスと同様に、メッセージを渡してレスポンスを受け取ることができます。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.kimicodepricing.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
ストリーミングとトークン使用量
Server-Sent Events (SSE)を介したリアルタイムのトークン生成を受信するためにストリーミングを有効にします。これによりユーザーの知覚されるレイテンシが軽減され、部分結果の即時表示が可能になります。入力および出力カウントを含むトークン使用データは、ストリームの最後のチャンクに埋め込まれます。
この方法は、即時フィードバックが重要なチャットインターフェースに最適です。ストリームを解析して、応答全体を待たずにUIを段階的に更新できます。
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
制限、エラー、コンテキスト
レートリミットと一般的なエラーコードを理解して使用状況を管理します。APIは100,000トークンのコンテキストウィンドウをサポートし、深い会話履歴を可能にします。キーごとに1分あたり300リクエスト、並列リクエストは最大8件までという制限があります。
- 401は無効または欠落したAPIキーを示します。
- 402は、前払いクレジットが枯渇したことを示します。
- 429はレートリミットを超えたことを意味します。
エラーはクレジットを消費しないため、失敗したリクエストをペナルティなしで再試行できます。
FAQs
kimicodeのトークンあたりの価格はいくらですか?
1M入力トークンあたり$0.15、1M出力トークンあたり$0.50を請求します。エラーと拒否はクレジットを消費しないため、成功したレスポンスに対してのみお支払いください。
APIはストリーミングレスポンスをサポートしていますか?
はい、APIはServer-Sent Events (SSE) を介したストリーミングに対応しています。トークン使用の詳細はストリームの最終チャンクに含まれており、リアルタイムでのコスト追跡を可能にします。
レートリミットを処理するにはどうすればよいですか?
1分あたり300リクエスト、キーあたり8つの同時リクエストに制限されています。これらの制限を超えると、429エラーコードが返され、クレジットは減算されません。