ERNIE 5.5 Flash API が2か所で利用可能になりました。1つは百度千帆(Qianfan)で、https://qianfan.baidubce.com/v2/chat/completions に対して ernie-5.5-flash-preview を呼び出します。もう1つは OpenRouter で、baidu/ernie-5.5-flash-preview:free はトークン単価 $0 です。どちらも OpenAI Chat Completions 形式に対応しているため、ベース URL、キー、モデル名を変更するだけで、公式の OpenAI SDK からどちらでも呼び出せます。
以下では、API キーの取得、curl・Python・JavaScript での最初のリクエスト、ストリーミング、推論トークン、100万トークンのコンテキストウィンドウ、そしてエラーについて解説します。記載されているすべてのフィールドと制限値は、2026年11月12日時点で確認した Qianfan および OpenRouter の公式ページに基づいています。
背景情報については、ERNIE 5.5 Flash とは何か、または前世代については ERNIE 5.1 API ガイドをご覧ください。
ERNIE 5.5 Flash API とは?
ERNIE 5.5 Flash API は、百度がホスティングする ERNIE 5.5 Flash Preview のエンドポイントです。このモデルは、総パラメータ数 2,800 億、トークンあたりのアクティブパラメータが 140 億、コンテキスト長 100 万トークンのスパースな Mixture-of-Experts モデルです。百度は 2026 年 11 月 11 日に、ERNIE 5.5 Flash Base を基盤とした初のポストトレーニング済みモデルとしてリリースし、Qianfan と OpenRouter を通じて提供しています。

百度のリリース記事では、コーディング、エージェント処理、3D モデリング、ナレッジワーク、コンテンツ制作向けにこのモデルを推奨しています。また、このモデルは中間チェックポイントとして位置づけられているため、挙動が変わる可能性があること、そして重みが「近日中に」Apache 2.0 ライセンスでオープンソース化される予定(時期は未定)であることが説明されています。
Qianfan vs OpenRouter:どちらのエンドポイントを使うべきか?
それぞれのプラットフォームが現在公開している情報をもとに、2 つのルートを比較します。
| 百度 Qianfan | OpenRouter | |
|---|---|---|
| ベース URL | https://qianfan.baidubce.com/v2 |
https://openrouter.ai/api/v1 |
| モデル ID | ernie-5.5-flash-preview |
baidu/ernie-5.5-flash-preview:free |
| 認証ヘッダー | Authorization: Bearer <Qianfan API キー> |
Authorization: Bearer <OpenRouter キー> |
| コンテキスト | 入力 100 万、出力 100 万トークン | 1,024,000 トークン |
| 価格 | 百度 AI Cloud の残高に課金。レートはコンソールで確認可能 | :free 版は $0 |
| デフォルト制限 | 300 リクエスト/分、3,000,000 トークン/分 | 20 リクエスト/分。50/日、クレジット $10 購入後は 1,000/日 |
| 推論 | 常時有効、effort は high 固定 |
reasoning オブジェクトで制御 |

OpenRouter ではプロバイダーとして百度 Qianfan のみが登録されているため、どちらのルートも同じバックエンドに到達します。実際の違いは制限値です。OpenRouter の無料枠はプロトタイピングや評価に適しており、Qianfan のデフォルトである 300 RPM は本番環境に適しています。$0 で利用できるルートについては、ERNIE 5.5 Flash 無料ガイドで詳しく解説しています。
ERNIE 5.5 Flash の API キーを取得する方法
Qianfan
- 百度 AI Cloud アカウントで Qianfan コンソールにサインインします。
- システム管理の API Key を開き、キーを作成します。キーは
bce-v3/ALTAK-...のような形式です。 - エクスポートします:
export QIANFAN_API_KEY="bce-v3/ALTAK-..."。
Qianfan は呼び出しごとに百度 AI Cloud の残高へ課金されます。残高がマイナスになると 403 account_overdue が返されるため、負荷テストの前にチャージしておきましょう。
OpenRouter
- OpenRouter でアカウントとキーを作成します。
- エクスポートします:
export OPENROUTER_API_KEY="sk-or-v1-..."。 - モデル ID として
baidu/ernie-5.5-flash-preview:freeを使用します。
最初の ERNIE 5.5 Flash リクエストを送る
curl
Qianfan:
curl https://qianfan.baidubce.com/v2/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $QIANFAN_API_KEY" \
-d '{
"model": "ernie-5.5-flash-preview",
"messages": [
{"role": "system", "content": "You are a concise senior engineer."},
{"role": "user", "content": "Write a Python function that validates an ISO 8601 date."}
]
}'
OpenRouter:
curl https://openrouter.ai/api/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-d '{
"model": "baidu/ernie-5.5-flash-preview:free",
"messages": [
{"role": "user", "content": "Write a Python function that validates an ISO 8601 date."}
]
}'
Python
pip install openai で SDK をインストールし、プロバイダーに応じてベース URL を切り替えます:
import os
from openai import OpenAI
PROVIDERS = {
"qianfan": ("https://qianfan.baidubce.com/v2", "QIANFAN_API_KEY", "ernie-5.5-flash-preview"),
"openrouter": ("https://openrouter.ai/api/v1", "OPENROUTER_API_KEY", "baidu/ernie-5.5-flash-preview:free"),
}
base_url, key_env, model = PROVIDERS["qianfan"]
client = OpenAI(base_url=base_url, api_key=os.environ[key_env])
resp = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": "Explain idempotency keys in two sentences."}],
max_completion_tokens=4096,
)
print(resp.choices[0].message.content)
print(resp.usage)
JavaScript
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://openrouter.ai/api/v1",
apiKey: process.env.OPENROUTER_API_KEY,
});
const resp = await client.chat.completions.create({
model: "baidu/ernie-5.5-flash-preview:free",
messages: [{ role: "user", content: "List three causes of HTTP 499 errors." }],
});
console.log(resp.choices[0].message.content);
ERNIE 5.5 Flash のレスポンスをストリーミングする方法
"stream": true を追加すると、どちらのプロバイダーも data: [DONE] で終わる Server-Sent Events を返します。Qianfan では "stream_options": {"include_usage": true} を追加すると、最後のチャンクでトークン数を取得できます。この形式に不慣れな場合は、SSE ストリーミングガイドで通信フォーマットの解説をしています。
stream = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": "Draft a README for a CLI tool."}],
stream=True,
stream_options={"include_usage": True},
)
for chunk in stream:
if chunk.choices:
delta = chunk.choices[0].delta
thinking = getattr(delta, "reasoning_content", None)
if thinking:
print(f"[thinking] {thinking}", end="", flush=True)
if delta.content:
print(delta.content, end="", flush=True)
if chunk.usage:
print("\n", chunk.usage)
デフォルトでストリーミングを使いましょう。このモデルは回答の前に推論を行うため、ブロッキング呼び出しではしばらく無音のまま待つことになりかねません。
各プロバイダーにおける推論トークンの仕組み
ERNIE 5.5 Flash Preview は推論モデルであり、その扱い方は 2 つのプラットフォームで異なります。
Qianfan の場合、ディープシンキングのドキュメントでは、thinking パラメータについて ernie-5.5-flash-preview は「有効化のみ可能、無効化は不可」、また reasoning_effort のデフォルト値 high は「変更不可」とされています。つまり、このエンドポイントでは推論をオフにしたり弱めたりすることはできません。思考の連鎖(Chain of Thought)は content とは別に reasoning_content として返されます。Qianfan ではこれが max_completion_tokens の枠内にカウントされるため、上限が小さいと最終回答が途中で切られ、finish_reason: "length" となる可能性があります。
OpenRouter の場合、reasoning オブジェクトで推論を制御し、トレースは reasoning_details から読み取ります。トレースをレスポンスから除外するには:
{
"model": "baidu/ernie-5.5-flash-preview:free",
"reasoning": { "exclude": true },
"messages": [{ "role": "user", "content": "Is 2^61 - 1 prime?" }]
}
マルチターンのチャットでは、モデルが前のターンから推論を継続できるよう、アシスタントメッセージと一緒に完全な reasoning_details を渡すことが推奨されています。推論トークン数は usage.completion_tokens_details.reasoning_tokens に表示されます。
100 万トークンのコンテキストウィンドウ活用のコツ
100 万トークンあれば中規模のコードベースが収まります。長い呼び出しを予測可能に保つための 4 つの習慣を紹介します:
- リクエスト数だけでなく、トークン数/分も管理する。 Qianfan のデフォルトは 3,000,000 TPM なので、100 万トークンのプロンプトを 1 分に 3 回投げるとクォータを消費し尽くします。各レスポンスの
X-Ratelimit-Remaining-Input-Tokensを監視しましょう。 - 安定したコンテンツを先頭に置く。 システムプロンプトや参照ドキュメントは冒頭に、変化する質問は末尾に置くことで、繰り返されるプレフィックスがキャッシュにヒットしやすくなります。OpenRouter では 11 月 12 日時点で、このモデルのキャッシュヒット率が 90.83% と報告されていました。
- 推論用の余裕を残す。
max_completion_tokensは、思考分+回答分をカバーできるだけ大きく設定しましょう。 - 速度の主張を鵜呑みにする前に実測する。 百度はこのモデルの生成速度を秒間 200 トークン超としています。しかし OpenRouter の無料エンドポイントでは、11 月 12 日時点の P50 スループットは秒間 79 トークン、P50 レイテンシは 2.53 秒でした。
構造化出力については、リリース前に入念なテストが必要です。OpenRouter は JSON スキーマ付きの response_format を受け付けますが、同ページではこのモデルの 3 日間の構造化出力エラー率が 21.70%、ツール呼び出しのエラー率が 1.01% と報告されていました。すべての JSON レスポンスを検証し、パース失敗時にはリトライしましょう。
ERNIE 5.5 Flash API のエラーとレート制限
Qianfan のエラーコード表と OpenRouter の制限ページから、よく目にするコードを紹介します:
| ステータス | プロバイダー | コードまたは原因 | 対処法 |
|---|---|---|---|
| 400 | Qianfan | tokens_too_long |
プロンプトを 100 万トークンの入力上限以下に削る |
| 401 | Qianfan | invalid_iam_token |
キーが間違っているか期限切れ、または Bearer プレフィックスがない |
| 401 | Qianfan | invalid_model |
モデル ID が正確に ernie-5.5-flash-preview であることを確認する |
| 403 | Qianfan | account_overdue |
残高がマイナス。チャージする |
| 429 | Qianfan | rpm_rate_limit_exceeded、tpm_rate_limit_exceeded |
バックオフする。クォータは 60 秒以内に回復する |
| 402 | OpenRouter | クレジット残高がマイナス | クレジットを追加する。:free でも必要 |
| 429 | OpenRouter | 無料モデルの上限(20/分、50 または 1,000/日) | X-RateLimit-Reset を確認、または GET /api/v1/key をチェックする |
OpenRouter では、GET https://openrouter.ai/api/v1/key が free_model_daily_requests.remaining を返します。429 は指数バックオフ+ジッターでリトライし、400 や 401 は決してリトライしないでください。
Apidog CLI でコーディングエージェントに両エンドポイントをテストさせる
両プロバイダーが応答するようになったら、次は「正しく応答し続けていること」の証明、つまり正しいステータス、正しいレスポンス構造、許容範囲のレイテンシが必要です。それをコーディングエージェントに任せましょう。Apidog CLI を使えば、Claude Code、Codex、Cursor、OpenCode に、エンドポイントのインポート、プロバイダーごとの環境保存、そして各環境に対するテストシナリオの実行を指示できます。

まず一度だけセットアップします:
npm install -g apidog-cli@latest
apidog auth login --with-token <YOUR_APIDOG_TOKEN>
apidog skill install
そして、エージェントに次のようなプロンプトを 1 つ渡します:
Write an OpenAPI 3 file for POST /chat/completions that matches the ERNIE 5.5 Flash
request and response shape (model, messages, stream; choices[0].message.content, usage).
Import it into Apidog project <projectId>. Create two environments: "qianfan" with base
URL https://qianfan.baidubce.com/v2 and "openrouter" with https://openrouter.ai/api/v1,
each with a "model" variable. Build one test scenario that sends a short prompt and
asserts status 200, the response schema, and a response time under 30 seconds. Run it
against both environments, passing the API keys as environment variables, and summarize
any failures.
エージェントは各スキーマを確認し、ペイロードを検証し、以下のようなコマンドを実行します:
apidog import --project <projectId> --format openapi --file ./ernie-5-5-flash.openapi.yaml
apidog environment create qianfan --project <projectId> --base-url https://qianfan.baidubce.com/v2
apidog environment create openrouter --project <projectId> --base-url https://openrouter.ai/api/v1
apidog cli-schema get test-scenario-create
apidog test-scenario create --project <projectId> --name "ERNIE 5.5 Flash smoke" --folder-id <folderId> --priority <priority>
apidog test-scenario import-steps <scenarioId> --project <projectId> --source endpoint --ids <endpointId> --sync manual
apidog run -t <scenarioId> --project <projectId> -e <qianfanEnvId> --env-var "apiKey=$QIANFAN_API_KEY" -r cli,json
apidog run -t <scenarioId> --project <projectId> -e <openrouterEnvId> --env-var "apiKey=$OPENROUTER_API_KEY" -r cli,json
--env-var でキーを渡せば、保存されたプロジェクトにキーが残らないうえ、1 つのシナリオで両ルートを並べて確認できます。同じ apidog run に -r junit を付ければパイプラインに組み込めます。セットアップ方法は Apidog CLI CI/CD ガイド、エージェント側の詳細は Claude Code での Apidog CLI をご覧ください。Apidog の Free プランは最大 4 ユーザーまで利用できます。
FAQ
ERNIE 5.5 Flash API は無料ですか? OpenRouter では無料です。baidu/ernie-5.5-flash-preview:free はトークン単価 $0 で、制限は毎分 20 リクエスト、1 日 50 リクエスト、クレジットを $10 購入すれば 1 日 1,000 リクエストになります。Qianfan は呼び出しごとに百度 AI Cloud の残高へ課金されます。
ERNIE 5.5 Flash のモデル ID は何ですか? Qianfan では ernie-5.5-flash-preview、OpenRouter では baidu/ernie-5.5-flash-preview:free を使用してください。
Qianfan で思考モードをオフにできますか? できません。Qianfan のドキュメントによると、このモデルでは思考モードは有効化のみ可能で、reasoning_effort は high 固定です。推論トレース分の出力トークンを予算に組み込みましょう。
ERNIE 5.5 Flash API はツール呼び出しに対応していますか? はい。Qianfan は Function Call と構造化出力をサポート対象としており、OpenRouter は tools、tool_choice、response_format を受け付けます。ただし、OpenRouter で構造化出力のエラー率が高いと報告されているため、必ず検証してください。
ERNIE 5.5 Flash を自分で実行できますか? 百度は ERNIE 5.5 Flash Base を Hugging Face で公開しており、Preview の重みも Apache 2.0 で公開される予定です。vLLM で ERNIE 5.5 Flash をローカル実行する方法を参照してください。
DeepSeek V4.1 Flash との比較は? ERNIE 5.5 Flash vs DeepSeek V4.1 Flash と DeepSeek V4.1 Flash API ガイドをご覧ください。
