Developer guide

API を呼び出す

API 互換パスとストリーミング・音声のルール

このページでは、認証後に実際に呼び出すパスについて説明します。
OpenAI 互換パスと Anthropic 互換パスの一覧、リクエスト本文で stream を有効にした場合のレスポンスの返り方、
音声・ボイスパスにのみ適用されるルールの順に説明します。
モデル ID とモデルごとに許可されている呼び出しはモデルページに、認証ヘッダーと base URL は API キーで認証するページに記載されています。

進行パス

2 つの互換規格では同じ API キーを使用し、対話型推論モデルはどちらの規格からでも呼び出せます。目的と使用している SDK に応じてパスを選択します。

目的規格パス
対話型推論、OpenAI SDK を使用OpenAI 互換POST /chat/completions または POST /responses
対話型推論、Anthropic SDK を使用Anthropic 互換POST /v1/messages
埋め込みの生成OpenAI 互換POST /embeddings
音声合成・文字起こし、ボイス管理OpenAI 互換/audio および /voices 配下のパス
呼び出し可能なモデルの確認両方GET /models

OpenAI 互換パス

base URL は https://platform.clevi.net/api/v2/aiservice/openai/v1 で、リクエストとレスポンスの本文は OpenAI 規格に準拠します。下表は推論とモデルのパスです。音声・ボイスパスは後のセクションに別途まとめています。

メソッドパス説明
POST/api/v2/aiservice/openai/v1/chat/completionsチャット形式の推論。stream を有効にすると SSE で応答します。
POST/api/v2/aiservice/openai/v1/responsesResponses 仕様による呼び出し。stream をサポートします。
GET/api/v2/aiservice/openai/v1/responses/{responseId}保存された応答を1件取得します。
GET/api/v2/aiservice/openai/v1/responses/{responseId}/input_items保存された応答の入力項目一覧です。
POST/api/v2/aiservice/openai/v1/responses/{responseId}/cancelバックグラウンドで進行中の応答をキャンセルします。
DELETE/api/v2/aiservice/openai/v1/responses/{responseId}保存された応答を削除します。
POST/api/v2/aiservice/openai/v1/completionsレガシーテキスト補完。stream をサポートします。
POST/api/v2/aiservice/openai/v1/embeddings埋め込みを生成します。ストリーミングはサポートしていません。
GET/api/v2/aiservice/openai/v1/modelsこのキーで呼び出せるモデル一覧です。
GET/api/v2/aiservice/openai/v1/models/{modelId}モデルを1件取得します。アクセスできない場合は404です。
curl https://platform.clevi.net/api/v2/aiservice/openai/v1/chat/completions \
  -H "X-API-Key: sk-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "cip-5.5-im",
    "messages": [{"role": "user", "content": "안녕하세요"}]
  }'

sk-... にはAPIキー画面で発行したキーを、model にはモデルページのIDを入力します。

その他のパス

パス説明
GET /api/v2/aiservice/openai/v1/healthz音声 provider の状態を確認します。
/api/v2/aiservice/openai/v1/api/status · /api/options · /api/generate · /outputs/{filename}レガシー Cosa の状態・オプション照会、生成呼び出し(multipart)、成果物のダウンロードです。
/api/v2/aiservice/openai/v1/{routeKey} (GET · POST · PUT · PATCH · DELETE)上記にない provider パスをルールに従って中継します。POST 中継で chat/completions、completions、embeddings、responses を呼び出すと 404 となり、これら4つは専用パスで処理されます。

Anthropic 互換パス

base URL は https://platform.clevi.net/api/v2/aiservice/anthropic で、Anthropic SDK がパスに /v1 を自動的に付加します。リクエストとレスポンスの本文は Anthropic Messages 仕様に準拠します。

メソッドパス説明
POST/api/v2/aiservice/anthropic/v1/messagesMessages 仕様に準拠した呼び出しです。model・messages・max_tokens が必要で、stream をサポートします。
POST/api/v2/aiservice/anthropic/v1/messages/count_tokens課金なしで入力トークン数のみを推定します。max_tokens は不要です。
GET/api/v2/aiservice/anthropic/v1/modelsカーソルページネーションによるモデル一覧です。limit は 1~1000 で、範囲外の場合は 400 です。
GET/api/v2/aiservice/anthropic/v1/models/{modelId}モデルを1件取得します。アクセスできない場合は 404 です。
curl https://platform.clevi.net/api/v2/aiservice/anthropic/v1/messages \
  -H "X-API-Key: sk-..." \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "cip-5.5-im",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "안녕하세요"}]
  }'

ストリーミング (SSE)

リクエスト本文に "stream": true を含めると、サーバーは Server-Sent Events で応答します。パスとモデルによって以下のように異なります。

対象動作
OpenAI 互換 POST /chat/completions · POST /completions · POST /responsesstream をサポートします。
Anthropic 互換 POST /v1/messagesstream をサポートします。
POST /embeddingsストリーミングをサポートしていません。
Ivy 検索系モデル(ivy-4-mm-search など)stream を有効にしても、サーバーが無効にして一括で応答します。
GET /responses/{responseId}?stream=true400 で拒否されます。バックグラウンド応答の使用量を正確に一度だけ計測できるまで閉じておくパスです。

最初のチャンクとともに、以下の3つのヘッダーが返されます。その後はチャンクごとに event: 行(アップストリームがイベント名を指定した場合のみ)と data: 行を送信し、直ちに flush します。

  • Content-Type: text/event-stream
  • Cache-Control: no-cache
  • X-Accel-Buffering: no

Anthropic 互換パスのチャンクは、event 行と data 行が対になります。

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"안"}}

chat/completions のチャンクは data 行で送られ、最後に data: [DONE] がそのまま転送されます。

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[...]}

data: [DONE]

音声とボイスのパス

TTS・STT と Cosa ボイス管理パスは OpenAI 互換仕様に対応しており、通常の推論とは異なるルールがいくつかあります。どのモデルがどのパスを許可するかは、モデルページの Cosa 表に記載されています。

メソッドパス説明
POST/api/v2/aiservice/openai/v1/audio/speechテキストを音声に合成し、音声ファイルをそのままダウンロードします。
POST/api/v2/aiservice/openai/v1/audio/transcriptions音声をテキストに文字起こしします(multipart)。
POST/api/v2/aiservice/openai/v1/audio/speech/cloneクローンボイスで音声を合成します(multipart)。
GET/api/v2/aiservice/openai/v1/voices利用可能なボイスの一覧です。
POST/api/v2/aiservice/openai/v1/voices音声サンプルからボイスを登録します(multipart)。
POST/api/v2/aiservice/openai/v1/voices/design説明文から合成ボイスを作成します。
DELETE/api/v2/aiservice/openai/v1/voices/{voiceId}ボイスを削除します。所有者のみ実行できます。
音声・ボイスのパスにのみ適用されるルール
ルール内容
バイナリ転送audio/speech、audio/speech/clone、outputs/{filename} の成功レスポンスは、オーディオをそのままストリーミングしながら、同時に CleviDrive に保存します。
領収書ヘッダーX-Clevi-Drive-File-Id、X-Clevi-Drive-File-Version-Id、X-Clevi-Drive-Download-Url、X-Clevi-Drive-Expires-At、X-Clevi-Drive-Retention-Days: 3 が返されます。保持期間は3日間で、その後は404になります。
Product の選択audio/speech と audio/transcriptions は、本文の model で Product を選択します。音声・診断パスには X-Product-Sku ヘッダーまたは product_sku クエリが必要です。
音声の所有権複製・登録した音声は、作成した主体に帰属します。第三者の音声で合成または削除を行おうとすると403になり、GET /voices の一覧にも本人が所有するものだけが残ります。
サイズと時間リクエスト上限は28 MiB、アップストリーム呼び出しの制限時間は5分です。
provider の混雑アップストリームが混雑している場合は409がそのまま転送され、Retry-After が提供されていれば、その値も併せて転送されます。ゲートウェイが再試行したり、キューに入れたりすることはありません。
CLEVI

言語と地域

機械翻訳された言語にはマークが付いています。利用状況は公開済みのサイトバンドルに従います。

136の言語

おすすめ

1

東アジア

7

東南アジア

11

南アジア

18

中央アジア

5

中東・コーカサス

10

西ヨーロッパ、南ヨーロッパ

16

イギリス、アイルランド

4

北ヨーロッパ

10

中央ヨーロッパ・バルカン

14

東ヨーロッパ

5

東アフリカ

8

西アフリカ、中部アフリカ

9

南部アフリカ

8

アメリカ大陸

5

オセアニア

5