クイックスタート
チャット補完の公開エンドポイントは OpenAI と同じパスです。コンソールで API Key を作成し、Base URL を次に変更します: https://api.9start.cn/v1。モデル名には次を指定します: deepseek-flash。
エンドポイント
https://api.9start.cn/v1
最初のリクエスト
YOUR_API_KEY をコンソールで作成したキーに置き換え、サーバー側でのみ使用してください。公開エンドポイント GET /v1/models では、認証なしで利用可能なモデルを取得できます。
レスポンスは OpenAI と同じ構造です。本文は choices[0].message.content、使用量は usage に入力・キャッシュヒット・出力トークン別に表示され、コンソールの利用明細と対応します。
API Key の取得
API Key は API リクエストの認証に使用します。コンソールを開くから、次の4つの手順を実行してください。
- 1サービスのカードコードでコンソールにログインします。カードコードがアカウントとなるため、別途登録は不要です。
- 2「API Keys」を開き、用途が分かる名前でキーを作成します。
- 3キー全体は作成時に一度だけ表示されます。閉じる前にサーバー側の環境変数やシークレット管理ツールへ保存してください。
- 4不要になったキーは一覧で無効化または削除できます。変更は直ちに反映されます。
キーをフロントエンドやクライアントの配布物へ埋め込まないでください。自分のバックエンドで中継し、キーはサーバー側で保持してください。
リクエストパラメータ
主なフィールドは以下のとおりです。その他の OpenAI 標準フィールドはそのまま転送され、実際の動作はモデルに依存します。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
| messages | array | はい | 会話メッセージの配列です。role は system / user / assistant を指定し、複数ターンの履歴を時系列順に含めます。 |
| model | string | はい | モデル ID。現在は deepseek-flash のみ対応し、他の値では 400 model_not_supported を返します。 |
| stream | boolean | いいえ | 既定値は false。true にすると SSE で差分を順次送信します。 |
| temperature | number | いいえ | サンプリング温度は0〜2です。低いほど確定的、高いほど多様になり、省略時はモデルの既定値を使用します。 |
| max_tokens | integer | いいえ | 今回の生成における最大出力長です。リクエストごとのコスト上限の調整に使います。 |
| tools | array | いいえ | ツール(関数)の定義一覧です。tool_choice と組み合わせ、関数呼び出しや複数ターンのツール処理に使用します。 |
| tool_choice | string | object | いいえ | ツールの選択方法です。auto はモデルが判断し、none は呼び出しを行いません。特定の関数も指定できます。 |
| response_format | object | いいえ | JSON など、プログラムで解析しやすい構造化出力の形式を指定します。 |
| enable_thinking | boolean | いいえ | 思考モードの切り替えです。有効時は回答の前に推論が出力され、より慎重な処理のため待ち時間が長くなります。 |
ストリーミング
次の値を設定します: stream → true。サーバーは SSE で差分を順次送信し、各フレームの delta は本文の一部です。
- 各チャンクを受信したら直ちに出力してください。中継層で全体をバッファリングすると、最初のトークンが遅れます。
- 受信した data: [DONE] を終了マーカーとして扱い、接続終了だけで完了を判断しないでください。
- HTTP keep-alive を有効にし、タイムアウトは60秒以上、長文や思考モードでは180秒以上を推奨します。
- 使用量は最後のフレームまたは個別の usage フレームに含まれ、照合のために保存できます。
対応機能
ストリーミング
SSE による差分出力で、チャット画面へ生成中のテキストを順次表示できます。
ツール呼び出し
標準の tools 構造で関数呼び出しと複数ターンの処理に対応します。
構造化出力
response_format で JSON 出力を指定し、プログラムで解析・保存できます。
思考モード
複雑な推論には enable_thinking で追加の思考処理を有効にできます。
複数ターンの会話
標準の messages 構造で会話履歴を管理し、会話を継続します。
長いコンテキスト
長い文書やコードをまとめて入力し、分割による情報損失を抑えられます。
エラー
エラーレスポンスの形式は {"error": {"code": "...", "message": "中国語の説明"}}です。message をユーザーへ表示できます。
| ステータス | code | 意味と対処 |
|---|---|---|
| 401 | invalid_api_key | キーが存在しない、無効化されている、またはアカウントが停止されています。キーとコンソールの状態を確認してください。 |
| 402 | insufficient_quota | 残高が不足しています。入金後に自動復旧し、コードの変更は不要です。 |
| 429 | rate_limit_exceeded | レート制限またはプール枠の上限です。並列数を下げ、指数バックオフで再試行してください。 |
| 400 | invalid_request | リクエスト本文が不正です。必須項目、型、値の範囲を確認してください。 |
| 400 | model_not_supported | モデルが未対応です。deepseek-flash を使用してください。 |
| 404 | not_found | パスが存在しません。/v1 の付け忘れを確認してください。 |
| 500 | internal_error | 内部エラーです。一度再試行し、続く場合は request-id を添えてサポートへ連絡してください。 |
| 501 | not_implemented | 未提供の機能です。例:Anthropic 互換の /v1/messages。 |
上限と課金
- 入力・キャッシュヒット・出力トークンを個別に課金します。平日09:00〜12:00と14:00〜18:00はピーク時間で、単価は通常の2倍です。
- 具体的な単価と計算例は料金。
- API Key ごとに5時間枠、日次枠、毎秒リクエスト数(QPS)を制限し、いずれかの上限で429を返します。
- 枠や並列数の引き上げはサポートへご相談ください。キーの交換は不要です。
- コンソールの利用量は日別に集計され、CSV に書き出して照合できます。
よくある質問
OpenAI 互換 SDK(公式 Python / Node.js SDK を含む)を利用できます。base_url を上記の URL、モデルを deepseek-flash に設定します。
通常は60秒以上、長文や推論では180秒以上に設定し、keep-alive を有効にしてストリームを順次読み取ってください。
並列数と QPS は API Key ごとに制限されます。引き上げはサポートへご相談ください。
入力・キャッシュヒット・出力の実使用量を個別に計算し、ピーク時は通常の2倍です。日別明細と CSV はコンソールで確認できます。
キーはサーバー側の環境変数で保管し、フロントエンドや公開リポジトリに埋め込まないでください。漏洩時は無効化してから削除・再発行してください。
安全のためサーバーにはダイジェストのみ保存し、再表示はできません。削除して新しいキーを作成し、保存してください。
402 は残高不足で、入金後に復旧します。429 はレート制限またはプール上限のため、指数バックオフで再試行してください。