Hunyuan Chat Completions
1 つの BeatAPI キーで、同じ OpenAI Chat Completions エンドポイントから Hunyuan の HY4 Preview と HY3 を呼び出せます。
- 1 つのエンドポイント
POST /v1/chat/completionsで、現行の Hunyuan モデルすべてを呼び出せます。modelを変えるだけで切り替わります。 - ストリーミングと関数呼び出しに対応します。
hy3には毎日ピーク料金の時間帯があります。下の時間帯別の料金を参照してください。 - OpenAI SDK で使えます。base URL を変え、BeatAPI のキーを使うだけです。
- 同じモデルは OpenAI Responses と Anthropic Messages でも呼び出せます。
テキストリクエストの base URL には https://direct.beatapi.io を推奨します。Cloudflare の 100 秒制限を受けないため、長時間のノンストリーミングリクエストが途中で切れません。https://api.beatapi.io も使え、ネットワークから direct.beatapi.io に届かない場合の代替になります。キー、モデル、価格はどちらも同じです。画像・動画 API は https://api.beatapi.io のみを使います。
このエンドポイントをテスト画面で開きます。BeatAPI の API キーを入力して送信してください。実際に呼び出され、ご自身の残高から課金されます。
モデル
次の ID のいずれかを model として送ります。それぞれ別のモデルで、互いのエイリアスではありません。
- 価格は基本ティアで、割引適用後です。長文コンテキストのティア、キャッシュ入力価格、キャッシュ書き込み価格はこの表に含まれません。価格表を参照してください。
—はカタログが数値を公開していないことを示します。- * ピーク時間帯には価格倍率が適用されます。表の価格はピーク時間外の基本価格です。
クイックスタート
サーバーに openai パッケージをインストールし、キーは BEATAPI_API_KEY に置いてください。ブラウザのコードには書かないでください。以下はリクエスト例であり、実際のモデル出力の記録ではありません。
回答は choices[0].message.content から読み取り、続けて finish_reason と usage を確認します。HTTP 200 だけでは回答がタスクを満たす証拠になりません。内容はアプリケーション側で検証してください。テキストのリクエストは直接結果を返すので、/v1/tasks をポーリングする必要はありません。
エンドポイントと認証
POST https://direct.beatapi.io/v1/chat/completions
Authorization
string
必須
Bearer <BEATAPI_API_KEY>。キーは sk- プレフィックスの有無どちらでも使えます。
リクエストパラメーター
OpenAI Chat Completions の標準フィールドを受け付けます。リクエスト形式が互換でも、すべてのモデルがあらゆるオプションに対応するわけではありません。依存するオプションは自分で試してください。
model
string
必須
正確なモデル ID。
指定できる値:hy4-preview, hy3
- 各 ID は独立したモデルで、他のモデルの別名ではありません。
- キーで
GET /v1/modelsを呼ぶと、そのキーで有効なモデルを確認できます。
messages
object[]
必須
会話の内容。古いメッセージが先頭です。各メッセージには role(system、user、assistant、tool)と content があります。
max_tokens
integer
任意
生成するトークン数の上限。推論の分も含みます。
- ゲートウェイは、指定値を上の表の最大出力と照合しません。その数値以下に収めてください。
max_tokensは、リクエストに必要な残高の見積もりにも使われます。極端に大きい値だと、実際の出力が短くても402 insufficient_creditsで拒否されることがあります。必要な分だけ指定してください。
推論型モデルは先に推論を出力します。max_tokens が小さすぎると推論で使い切られ、content が空になって finish_reason が length になります。推論と本文の両方に余裕を持たせ、length が出たら値を増やしてください。
stream
boolean
任意デフォルト: false
回答をサーバー送信イベント(SSE)として返します。下の「ストリーミング」を参照してください。
デフォルト:false
temperature
number
任意
サンプリング温度。top_p とはどちらか一方だけ調整してください。
top_p
number
任意
nucleus sampling のしきい値。
stop
string | string[]
任意
生成を止める文字列を 1 つ以上指定します。
tools
object[]
任意
モデルが呼び出せる関数の定義。モデルは tool_calls で応答します。各結果は、対応する tool_call_id を付けた次の tool メッセージで返してください。
tool_choice
string | object
任意
モデルがツールを呼び出してよいか、必ず呼ぶか、呼ばないかを指定します。依存する値は使うモデルで試してください。
時間帯別の料金
hy4-preview は、毎日どの時間帯も同じ料金で課金されます。
hy3 には毎日のピーク時間帯があります。北京時間(GMT+8)の毎日 08:00〜24:00 は、すべての料金が 1.6 倍になります。週末も同じで、入力、キャッシュ入力、出力のいずれも対象です。00:00〜08:00 は非ピーク料金で、上のモデル表と料金表に表示されている価格です。
レスポンス
非ストリーミングの呼び出しは JSON オブジェクトを 1 つ返します。以下は省略した例です。
レスポンスのフィールド
ストリーミング
"stream": true を指定します。回答は chat.completion.chunk イベントとして順に届き、最後に data: [DONE] で終わります。
- レスポンスは
text/event-streamです。ストリーミングしない場合はapplication/jsonです。 - テキストは
choices[0].delta.contentに入ります。推論型モデルは、先にdelta.reasoning_contentで推論を送ります。 - モデルを呼び出す前に失敗した場合は、ストリームイベントではなく、HTTP ステータス付きの通常の JSON エラーが返ります。
- 明示的なタイムアウトを設定し、ストリーミングの再接続は安全に行ってください。
エラー
HTTP エラー早見表
認証、ルーティング、レート制限、存在しないモデルの失敗はモデルを呼ぶ前に起き、BeatAPI のエンベロープ(error.code、error.message、retryable、request_id)で返ります。それ以外の失敗は OpenAI SDK の形式 {"error": {"message", "type", "code"}} のままで、コードは error.code、request id は message の末尾にあります。詳しくはエラーを参照してください。
全エラーコード表と再試行ポリシーはエラーを参照してください。
注意事項
- Hunyuan モデルは OpenAI Responses と Anthropic Messages でも呼び出せます。
- API キーは信頼できるサーバーにだけ置き、レスポンスのリクエスト ID を記録し、再試行は
429、500、503に限ってください。
認証
Send your API key as Authorization: Bearer <BEATAPI_API_KEY>.
リクエスト
正確なモデル ID。
各 ID は独立したモデルで、他のモデルの別名ではありません。
キーで GET /v1/models を呼ぶと、そのキーで有効なモデルを確認できます。
hy4-preview, hy3
会話の内容。古いメッセージが先頭です。各メッセージには role(system、user、assistant、tool)と content があります。
生成するトークン数の上限。推論の分も含みます。
ゲートウェイは、指定値を上の表の最大出力と照合しません。その数値以下に収めてください。
max_tokens は、リクエストに必要な残高の見積もりにも使われます。極端に大きい値だと、実際の出力が短くても 402 insufficient_credits で拒否されることがあります。必要な分だけ指定してください。
推論型モデルは先に推論を出力します。max_tokens が小さすぎると推論で使い切られ、content が空になって finish_reason が length になります。推論と本文の両方に余裕を持たせ、length が出たら値を増やしてください。
回答をサーバー送信イベント(SSE)として返します。下の「ストリーミング」を参照してください。
サンプリング温度。top_p とはどちらか一方だけ調整してください。
nucleus sampling のしきい値。
生成を止める文字列を 1 つ以上指定します。
モデルが呼び出せる関数の定義。モデルは tool_calls で応答します。各結果は、対応する tool_call_id を付けた次の tool メッセージで返してください。
モデルがツールを呼び出してよいか、必ず呼ぶか、呼ばないかを指定します。依存する値は使うモデルで試してください。
レスポンス
非ストリーミングの呼び出しは JSON オブジェクトを 1 つ返します。以下は省略した例です。
補完 ID。サポート対応や請求の照合のため、リクエスト ID と合わせて記録してください。
実際に回答したモデル。
トークン数。呼び出しは実際のトークン使用量で計量されます。

