メインコンテンツへスキップ

インターフェースと機能

このドキュメントに記載されているインターフェースは、https://api.ourzai.com/v1/ にあり、OpenAI 互換形式と Anthropic 互換形式の両方をサポートしています。認証の詳細については、API クイックスタート を参照してください。

モデルが使用できるインターフェース​

モデルごとにサポートするインターフェースは異なります。チャットモデルは画像を生成できず、動画生成モデルはチャットできません。コンソールの Pricing ページで、各モデルがサポートするインターフェースを確認してから呼び出しを行ってください。モデルがサポートしていないインターフェースを使用した場合や、アカウントで利用できないモデルを呼び出した場合は、404 が返されます。

認証​

API キーは、次のいずれかの方法で渡します。

  • Authorization: Bearer <YOUR_API_KEY> (推奨。すべての OpenAI 互換インターフェースで使用)
  • x-api-key: <YOUR_API_KEY> (Anthropic SDK の方式)
  • x-goog-api-key: <YOUR_API_KEY> (キーの受け渡しに使用可能。ただし、ネイティブ Gemini インターフェースのサポートを意味するものではありません)

キーを URL クエリパラメータ (例: ?api_key=) に含めないでください。そのようなリクエストは拒否されます。

テキスト​

メソッドとパス目的
POST /v1/chat/completionsチャット補完 (OpenAI 互換)。stream によるストリーミングに対応
POST /v1/responsesOpenAI Responses インターフェース
POST /v1/messagesAnthropic Messages 互換
POST /v1/messages/count_tokensAnthropic 形式のリクエストのトークン数を計算
POST /v1/embeddingsテキストベクター。一部のモデルのみ対応
GET /v1/modelsモデル一覧

画像​

メソッドとパス目的
POST /v1/images/generationsテキストからの画像生成 (OpenAI 互換)
POST /v1/images/edits画像からの画像生成および画像編集 (OpenAI 互換)

画像インターフェースは同期的に結果を返します。

音声​

メソッドとパス目的
POST /v1/audio/speechテキスト読み上げ (OpenAI 互換)
POST /v1/audio/transcriptions音声認識 (OpenAI 互換)

使用するモデルに応じて、レスポンスに X-Zai-Audio-Duration-Ms (音声の長さ、ミリ秒単位) または X-Zai-Audio-Confidence (文字起こしの信頼度) が含まれる場合があります。

動画生成​

動画生成は非同期で行われます。まずタスクを送信して request_id を受け取り、その後ステータスをポーリングし、動画が完成したら結果をダウンロードします。

メソッドとパス目的
POST /v1/videos/generations動画タスクを送信。request_id を返します
GET /v1/videos/generations/{request_id}タスクのステータスを問い合わせ
GET /v1/videos/generations/{request_id}/content生成された動画をダウンロード

/v1/videos と /v1/videos/{request_id} は同等の短縮パスです。

タスクの送信​

リクエストボディのフィールド:

フィールド説明
model必須。動画モデル名
prompt映像と動きの説明
duration長さ (秒)
aspect_ratioアスペクト比
resolution解像度
generate_audio音声トラックを生成するかどうか
seed乱数シード
watermarkウォーターマークを追加するかどうか
image最初のフレーム画像
last_frame最後のフレーム画像
reference_images参照画像のリスト
reference_audios参照音声クリップのリスト

サポートされるフィールドと値はモデルによって異なります。Pricing ページで動画インターフェースと料金を確認し、選択したモデルの機能に応じて具体的なパラメータを指定してください。パラメータの検証に失敗した場合、レスポンスとして 400 と video_input_unsupported が返され、field にどのフィールドを調整する必要があるかが示されることがあります。

curl https://api.ourzai.com/v1/videos/generations \
-H "Authorization: Bearer $ZAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "<VIDEO_MODEL_ID>", "prompt": "Sunset by the sea, with a slow camera push-in", "duration": 5}'

ステータスの問い合わせと結果の取得​

問い合わせ結果には request_id と status が含まれます。動画の準備が完了すると、video.url (長さや解像度などの情報も含む) が含まれます。失敗した場合は、error.code と error.message が含まれます。status に指定できる値:

ステータス意味
pending生成中。後で再度確認してください
done完了。ダウンロード可能
failed生成失敗。error を参照
expiredタスクの有効期限切れ

動画のダウンロード​

done の後、/content をリクエストして動画ファイルを取得します。動画がまだ準備できていない場合、リクエストは 409 video_not_ready を返します。その場合は、後で再試行してください。

動画生成の課金は、正常に完了した場合にのみ一度だけ発生します。ポーリングは何度行っても追加料金はかかりません。

Gemini モデルの呼び出し​

/v1beta/ 配下のネイティブ Gemini インターフェースは現在利用できません。Gemini モデルを呼び出すには、まず Pricing ページでそのモデルがサポートする互換インターフェースを確認し、対応する /v1/ パスを使用してください。

モデル別の接続​

モデル一覧と接続方法 — モデルを選び、公開されているエンドポイントと完全なリクエスト例を確認してください。モデル ID は正確に指定します。同じ提供元でも対応する API は異なります。