OpenAI互換ルーターを介したDeepSeek APIアクセスは、プロバイダーごとの選択を毎回新しいSDK統合に変えたくないインディーハッカーにとって、実用的なセットアップパターンです。
きれいな経路は2つあります。直接DeepSeek経路では、DeepSeekのAPIキー、DeepSeekのOpenAI互換ベースURL、そしてDeepSeekのモデル名を使います。ルーター経路では、FlatkeyのOpenAI互換ベースURL、FlatkeyのAPIキー、そしてアカウントで利用可能なDeepSeekモデルIDを使います。どちらも機能します。適切な選択は、DeepSeekが唯一のモデルファミリーなのか、それともマルチモデル製品の一経路なのかによって決まります。
このガイドでは、OpenAI互換ルーターを介したDeepSeek APIアクセスの設定方法、直接プロバイダー経路をデバッグしやすく保つ方法、本番トラフィックが移る前に確認すべき点を示します。
簡単な答え: OpenAI互換ルーターを介したDeepSeek APIアクセス
OpenAIスタイルのアプリケーションでは、DeepSeek APIアクセスには実用的な2つの経路があります。
| 判断 | 直接DeepSeek API | Flatkey経由のDeepSeek |
|---|---|---|
| APIキー | DeepSeek APIキー | Flatkey APIキー |
| ベースURL | https://api.deepseek.com |
https://router.flatkey.ai/v1 |
| Anthropic形式のオプション | https://api.deepseek.com/anthropic |
ルートがサポートするFlatkeyのAPI形状を使用 |
| 現在確認すべきDeepSeekモデル名 | deepseek-flash, deepseek-v4-pro |
Flatkeyの/v1/modelsとモデルディレクトリにある、アカウントでアクセス可能なDeepSeekモデルID |
| 最適な用途 | DeepSeek専用のプロトタイプ、またはプロバイダー固有の統合 | 1つのクライアント、1つのキー、1つの利用状況レビュー、より簡単なフォールバックを求めるマルチモデルアプリ |
| 運用確認 | DeepSeekダッシュボード、プロバイダードキュメント、現在の料金表 | Flatkeyのモデル一覧、利用ログ、料金ページ、ステータスページ、ロールバックマニフェスト |
DeepSeekだけが必要なモデルで、プロバイダーレベルの制御が最重要な場合は直接経路を使ってください。DeepSeekがGPT、Claude、Gemini、Qwen、メディアモデル、または同じOpenAI互換クライアントの背後にあるコーディングエージェント経路と並ぶ場合は、Flatkeyを使ってください。
DeepSeekがAPI互換性について確認していること
DeepSeekの現在のAPIドキュメントによると、DeepSeek APIはOpenAIおよびAnthropicと互換性のあるAPI形式を使用します。OpenAI形式のベースURLは次のとおりです。
https://api.deepseek.com
DeepSeekはAnthropic形式のベースURLも記載しています。
https://api.deepseek.com/anthropic
同じドキュメントでは、deepseek-flash と deepseek-v4-pro がモデルオプションとして挙げられています。また、古い名前である deepseek-v4-flash と deepseek-v4-flash-vision-exp は互換性のために引き続き受け付けられるとしていますが、これらのリクエストは DeepSeek-V4.1-Flash として処理され、Flash価格で課金されます。新しいコードでは、古い名前は新規プロダクトにそのままコピーする名前ではなく、移行リスクとして扱ってください。
DeepSeekの価格ページでは、現在 deepseek-flash を DeepSeek-V4.1-Flash として、deepseek-v4-pro を DeepSeek-V4-Pro-0813 として説明しています。また、1Mのコンテキスト長と最大384Kの出力を記載しており、両モデルに対してJSON出力、ツール呼び出し、Responses API、Anthropic APIのサポートが示されています。VisionサポートはFlashにはあり、Proにはありません。正確な価格を自社ドキュメントに掲載する前に、必ずDeepSeekのライブ価格ページを確認してください。表ではピーク時とオフピーク時のトークン料金が使われているためです。
Flatkeyが変えること
Flatkeyは、DeepSeekの有効なモデルIDを選ぶ必要をなくすものではありません。ルートの設定場所と結果の確認場所を変えるものです。
FlatkeyのクイックスタートとモデルAPIドキュメントでは、次のOpenAI互換ベースURLを使用しています:
https://router.flatkey.ai/v1
Flatkeyの /v1/models エンドポイントは、アカウントで利用可能なモデルIDをOpenAI互換形式で返します。Flatkeyの利用状況ドキュメントによると、各リクエストは、使用されたモデル、入力および出力トークン数、コスト、タイムスタンプ、APIキー、ステータスとともに確認できます。これにより、DeepSeekが複数モデルの候補の1つである場合でも、OpenAI互換ルーターを介したDeepSeek APIアクセスの運用が容易になります。
ルーター版のルート記録は明示的であるべきです:
deepseek_route:
provider_access_layer: flatkey
base_url: https://router.flatkey.ai/v1
api_key_source: FLATKEY_API_KEY
candidate_models:
- deepseek-flash
- deepseek-v4-pro
verify_before_launch:
- account_accessible_v1_models
- live_model_directory
- pricing_page_units
- usage_log_readback
- fallback_or_rollback_policy
アプリケーションコードの中で、モデル名を文字列として隠さないでください。設定ファイルまたはモデルマニフェストに入れておけば、DeepSeekモデルの更新を緊急デプロイではなくレビュー可能な変更にできます。
ステップ1:DeepSeekを直接使うかルーターを使うかを選ぶ
SDKではなく、運用上の判断から始めてください。
| Question | Direct DeepSeek is usually enough when... | A router is usually better when... |
|---|---|---|
| DeepSeekだけを呼び出しますか? | はい、製品はDeepSeek専用です。 | いいえ、DeepSeekは他のプロバイダーの横にある1つのルートです。 |
| プロバイダー固有の制御が必要ですか? | はい、チームはDeepSeekネイティブの設定と請求確認を求めています。 | いいえ、アプリは共有アクセス層と共有ログを求めています。 |
| ユーザーやジョブがモデルを切り替えますか? | いいえ、1つの固定モデルで十分です。 | はい、ワークロードはDeepSeek、Qwen、Gemini、Claude、GPT、または他のモデルファミリー間を移動する可能性があります。 |
| コストと障害を誰が確認しますか? | 1人の開発者がDeepSeekアカウントを確認できます。 | キー、モデル、環境全体にわたる1つの利用台帳が必要です。 |
| ルートが失敗したらどうなりますか? | 機能を停止するか、後で再試行できます。 | フォールバック、ロールバック、または段階的リリースの制御が必要です。 |
多くのインディーハッカーにとって、最初のリリースはシンプルで構いません。単一モデルのプロトタイプならDirect DeepSeekで十分です。製品がモデルを比較するようになったり、コーディングエージェントを実行したり、異なるレイテンシやコスト要件を持つ顧客に提供したり、トークン使用量をデバッグする場所を1か所にしたりする段階になったら、OpenAI互換ルーターを介したDeepSeek APIアクセスのほうがすっきりします。
ステップ2:Flatkey OpenAIクライアントを設定する
プロジェクトですでに OpenAI SDK を使用している場合、ルーターの設定は主に base URL とキーの変更だけです。
Python:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["FLATKEY_API_KEY"],
base_url="https://router.flatkey.ai/v1",
)
Node.js:
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.FLATKEY_API_KEY,
baseURL: "https://router.flatkey.ai/v1",
});
DeepSeek へ直接接続する場合も同じ OpenAI スタイルのクライアント構成を使いますが、接続先は DeepSeek になります:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["DEEPSEEK_API_KEY"],
base_url="https://api.deepseek.com",
)
FLATKEY_API_KEY、DEEPSEEK_API_KEY、またはステージング用の上書き設定をリポジトリにコミットしないでください。両方のキーは環境変数またはシークレットストレージに保存してください。
ステップ 3: 最初のリクエストの前にモデル ID を確認する
OpenAI 互換ルーターを介した DeepSeek API アクセスは、コピーしたモデル文字列ではなく、モデルの検出から始めるべきです。
Flatkey では、アカウントがアクセスできるモデル ID をルーターに問い合わせます:
curl https://router.flatkey.ai/v1/models \
-H "Authorization: Bearer $FLATKEY_API_KEY"
その後、ライブの Flatkey モデルディレクトリと料金ページで候補を確認します。DeepSeek に直接接続する場合は、DeepSeek のドキュメントと料金ページでモデル名を確認してください。このソース確認時点では、DeepSeek のドキュメントは新しいコードを deepseek-flash と deepseek-v4-pro に向ける一方、古い V4 Flash のエイリアスは互換性名であると警告しています。
小さなマニフェストを作成します:
models:
deepseek_default:
id: deepseek-flash
route: flatkey
base_url: https://router.flatkey.ai/v1
use_for:
- coding_assistant
- structured_extraction
- long_context_review
owner: product_engineering
rollback: previous_production_model
これは DeepSeek ルートのレビュー記録です。ここに、モデル ID、ルートの所有者、ユースケース、ロールバック先を本番トラフィックがそのルートに依存する前に記録できます。リリースチェックリストと一緒に保管しておけば、OpenAI 互換ルーターを介した DeepSeek API アクセスを公開後も監査可能な状態に保てます。
ステップ 4: 最初の Chat Completion を実行する
まずは短く決定的なリクエストから始めます。これはルートのテストであり、ベンチマークではありません。
response = client.chat.completions.create(
model="deepseek-flash",
messages=[
{"role": "system", "content": "実装に関する簡潔なアドバイスを返してください。"},
{"role": "user", "content": "base_url の設定が重要な理由を 1 文で説明してください。"},
],
temperature=0.2,
max_tokens=120,
)
print(response.choices[0].message.content)
リクエストが失敗した場合は、次の順序で確認します:
| 確認項目 | 検出できる問題 |
|---|---|
base_url |
直接接続とルーターの混同、/v1 の欠落、プロバイダのパス違い |
| API key variable | 空の env var、誤ったキー種別、本番環境でのステージングキー |
| Model ID | 非推奨のエイリアス、アカウントにアクセス権がない、 টাইポ |
| Endpoint shape | Chat Completions、Responses、Anthropic Messages の不一致 |
| Feature support | Vision、thinking mode、JSON、tools、または streaming の前提 |
| Usage log | リクエストがルーターに到達していない、プロバイダ障害、トークン/コストの不一致 |
この順序は、設定の失敗をモデルの失敗として扱ってしまうという一般的なデバッグミスを防ぎます。
ステップ5:アプリが実際に使う機能をテストする
OpenAI互換だからといって、すべてのプロバイダ、モデル、ルーターパスが同じように動作するわけではありません。ワークロードに重要な機能をテストしてください。
| Feature | Smoke test | Pass condition |
|---|---|---|
| Non-streaming chat | 1つの短いプロンプト | 利用可能なメッセージが usage data とともに返る |
| Streaming | streaming を有効にした同じプロンプト | チャンクが順番に届き、UI が正常に閉じる |
| JSON output | 小さな抽出タスク | 出力が schema または修復パスに対して検証される |
| Tool calls | 1つのシンプルな関数スキーマ | tool-call フィールドが独自のハックなしで解析できる |
| Long context | 代表的な長い入力 | レイテンシ、コスト、品質が許容範囲に収まる |
| Vision | vision 対応モデルを使う場合のみ画像プロンプト | vision をサポートするルートでのみリクエストが成功する |
| Error handling | ステージングで無効な model ID | アプリがキーを公開せずにルート失敗をログに記録する |
各 Flatkey テストの後に Usage Logs を開いてください。リクエストには、想定したモデル、トークン数、ステータス、タイムスタンプ、API key、レイテンシ、コストが表示されるはずです。何も表示されない場合は、実際にリクエストで使用された base URL とキーを確認してください。
ステップ6:承認済み出力あたりのコストを正規化する
DeepSeek の公開トークン価格は魅力的に見えるかもしれませんが、トークン単価は本番コストの一部にすぎません。受け入れられた出力で比較してください。
このワークシートを使ってください:
| Metric | Why it matters |
|---|---|
| Input tokens | 長文コンテキストのプロンプトはコストの大半を占めることがあります。 |
| Output tokens | エージェントやコーディングのタスクでは、チャットよりはるかに長い応答が生成されることがあります。 |
| Cache behavior | cache-hit と cache-miss の input では価格が異なる場合があります。 |
| Retry rate | 安価なルートでも、再試行を繰り返す必要があれば高くつきます。 |
| Rejection rate | 無効な JSON、弱い tool calls、または低品質の回答はルートの評価を下げるべきです。 |
| Fallback usage | フォールバックのトラフィックは、端数として扱うのではなく可視化する必要があります。 |
| Human repair time | 手動での修正作業も実際の製品コストの一部です。 |
実用的な式:
accepted_output_cost =
(successful_request_cost + retry_cost + fallback_cost + human_repair_cost)
/ accepted_outputs
Direct プロバイダー単位には DeepSeek の最新料金ページを使用してください。ルーター経由の料金には Flatkey の最新料金ページと Usage Logs を使用してください。確認日と更新責任者を明記せずに、静的な料金行をアプリドキュメントへコピーしないでください。
ステップ 7: ロールバックポリシーを追加する
OpenAI互換ルーターを介したDeepSeek APIアクセスは、ユーザーが依存する前に元に戻せるようにしておくべきです。
deepseek_rollout:
environment: production
default_model: deepseek-flash
route: flatkey
start_percentage: 10
increase_when:
- accepted_output_rate >= 0.95
- p95_latency_ms <= 4500
- error_rate <= 0.02
- usage_log_present: true
- accepted_output_cost_within_budget: true
rollback_when:
- error_rate > 0.05
- schema_failures_above_threshold: true
- usage_log_missing: true
- unexpected_cost_spike: true
rollback_action:
set_model: previous_production_model
notify: engineering_owner
このポリシーにプラットフォームチームは必要ありません。必要なのは、ルートの責任者、1つのモデルマニフェスト、1つの利用状況レビュー習慣、そしてトラフィックを増やす前のステージングテストです。
Flatkey での位置づけ
DeepSeek がより広いモデルルーティングワークフローの一部である場合、Flatkey は適しています。
- すでに OpenAI互換 SDK を使っていて、複数のモデルファミリー向けに 1 つのベース URL を使いたい。
- 開発、ステージング、本番、またはコーディングエージェント用に、別々のキーやクォータが必要である。
- DeepSeek、Qwen、Gemini、Claude、GPT、その他のモデルを、1つのモデルカタログと利用状況ワークフローを通じて確認したい。
- モデル ID、価格単位、機能、またはプロバイダールートが変わったときにロールバック経路が必要である。
Flatkey API クイックスタートから始め、直接プロバイダー呼び出しを置き換える場合は OpenAI API 代替の移行ガイド を使用し、コストに敏感なワークロードが地域プロバイダーを比較する際はこのチェックリストを DeepSeek 対 Qwen の API ルーティングチェック と組み合わせてください。
本番判断では、最新の Flatkey モデルディレクトリ、料金ページ、ステータスページ を確認してください。DeepSeek のモデル挙動と直接プロバイダー料金については、提供当日の DeepSeek の API ドキュメントと料金ページを確認してください。
OpenAI互換ルーターを介したDeepSeek APIアクセスの最終チェックリスト
ユーザーに DeepSeek API アクセスを提供する前に、次を確認してください:
- モデル ID は、DeepSeek のドキュメントと Flatkey のアカウントからアクセスできるモデル一覧で最新です。
- DeepSeek の直接テストでは
https://api.deepseek.comと DeepSeek API キーを使用します。 - Flatkey ルーターのテストでは
https://router.flatkey.ai/v1と Flatkey API キーを使用します。 deepseek-v4-flashやdeepseek-v4-flash-vision-expを、新しい本番用モデル名として使用していません。- チャット、ストリーミング、JSON 出力、ツール呼び出し、長文コンテキスト、Vision は、アプリで必要な場合に個別にテストします。
- Usage Logs には、期待されるモデル ID、ステータス、トークン数、タイムスタンプ、レイテンシ、API キー、コストが表示されます。
- コストは、見出しのトークンレートだけでなく、受け入れられた出力に基づいて正規化されます。
- ロールバックは設定変更であり、緊急のコード書き換えではありません。
- プロバイダーのキーは環境変数またはシークレットストレージに保存し、コード内には保存しません。
OpenAI 互換ルーターを介した DeepSeek API アクセスは、経路が明示されている場合にシンプルな統合パターンです。DeepSeek だけが必要な場合は、直接 DeepSeek を使います。DeepSeek を、1 つのクライアント、1 つの base URL、1 つの使用ループ、そしてクリーンなロールバック経路を必要とするマルチモデル製品の一部として組み込む場合は、Flatkey を使います。
よくある質問
DeepSeek は OpenAI API をサポートしていますか?
DeepSeek の現在のドキュメントでは、DeepSeek API は OpenAI と Anthropic に互換性のある API 形式を使用するとされています。OpenAI 形式の base URL は https://api.deepseek.com です。
DeepSeek API アクセス用の Flatkey の base URL は何ですか?
Flatkey の OpenAI 互換 API には https://router.flatkey.ai/v1 を使用します。そのうえで、アカウントからアクセス可能な /v1/models レスポンスと、ライブの Flatkey モデルディレクトリから現在の DeepSeek モデル ID を選択します。
Flatkey 経由で DeepSeek を使う場合、同じ OpenAI SDK を使えますか?
はい。OpenAI SDK を、Flatkey API キーと https://router.flatkey.ai/v1 を base URL として設定します。互換性のあるモデルでは、リクエストは見慣れた Chat Completions 形式のままです。
新しいコードはどの DeepSeek モデル名を使うべきですか?
リリース前に最新の DeepSeek ドキュメントを確認してください。このソース確認時点では、DeepSeek は deepseek-flash と deepseek-v4-pro を掲載しています。古い V4 Flash 名は互換性のために受け入れられますが、DeepSeek-V4.1-Flash によって提供されるとされています。
自分のアプリのドキュメントに DeepSeek の正確な価格を掲載すべきですか?
確認日と更新担当者を含める場合に限ります。DeepSeek の価格ページではピーク時とオフピーク時のトークンレートが使用されており、Flatkey のルート提供状況や価格単位は、Flatkey のライブ価格ページとモデルページで確認する必要があります。



