Models
Models の概要
Grafilab Models はホスト型の推論 API です。API キーを 1 つ作り、クライアントを 1 つのベース URL に向ければ、テキスト・埋め込み・画像・動画のモデルを呼び出せます。 リクエスト形式は OpenAI 方言でも Anthropic 方言でも、いま使っているツールが すでに話せるほうを選べます。
Models とは
Section titled “Models とは”Models は、同じカタログと同じクレジット残高の上に立つ 2 つの顔を持ちます。
- Playground — ブラウザ側です。コンソールの Models Playground にあります。すべての モデルをコンテキストサイズと価格つきで見て、プロンプトを実行し、画像や動画を 生成し、複数モデルの回答を並べて比較できます。コードは不要です。 Playgroundを参照してください。
- Inference API — プログラム側です。
https://llm.grafilab.aiにあります。 Playground ができることはすべて、自分で発行できる HTTP 呼び出しです。 クイックスタートを参照してください。
どちらも同じ API キーで認証し、GPU レンタルと同じ クレジットを消費します。推論のために別プランを契約する必要はありません。 チャージは Billing ページから行います。 クレジットと請求を参照してください。
2 つの互換サーフェス
Section titled “2 つの互換サーフェス”Grafilab は同じモデル群を 2 つのリクエスト形式で公開しています。ツールや SDK が すでに向いているほうを選んでください。変換作業は必要ありません。
| Your tool speaks… | Base URL | Notes |
|---|---|---|
| OpenAI (chat completions, embeddings, images, videos, SDKs) | https://llm.grafilab.ai/v1 | Clients append /chat/completions, /models, and so on. |
| Anthropic (Messages API, Claude Code, Anthropic SDK) | https://llm.grafilab.ai | Clients append /v1/messages themselves — do not add /v1. |
OpenAI サーフェスは完全版です。chat completions、embeddings、images、videos、 そしてモデルカタログを扱えます。OpenAI SDK、Cursor、Cline、Open WebUI、その他 「OpenAI 互換」と説明されるものにはこちらを使ってください。
Anthropic サーフェスは Messages API を実装しており、ツール利用とストリーミングに
対応します。Anthropic SDK や Claude Code 向けです。ただしサブセットです。
サーバーサイドツール、未知のコンテンツブロック型、未知のメッセージロールは、
黙って捨てられるのではなく 400 で拒否されます。またこのサーフェスにモデル一覧は
ないため、モデル一覧は OpenAI サーフェスで取得してください。全体の対応表は
連携についてを参照してください。
呼び出せるもの
Section titled “呼び出せるもの”| エンドポイント | 何をするか |
|---|---|
POST /v1/chat/completions | テキスト生成。server-sent events を使うには stream: true を指定します。ストリームは data: [DONE] で終わります。終端の前に使用量フレームを受け取るには stream_options: {"include_usage": true} を追加します。 |
POST /v1/embeddings | 埋め込みベクトル。encoding_format は float または base64(リトルエンディアンの float32)です。 |
POST /v1/images/generations | 同期的な画像生成。response_format は url または b64_json、n は 1〜10 です。 |
POST /v1/images/edits | マルチパートの画像編集。編集対応モデルが必要で、そうでなければ 400 edit_unsupported になります。最大 10 ファイル、1 ファイル 20 MB までです。 |
POST /v1/videos | 非同期ジョブを作成し、queued の状態で返します。GET /v1/videos はカーソルページングでジョブを一覧します。 |
GET /v1/videos/{video_id} | 1 件のジョブをポーリングします。queued、in_progress、completed、failed のいずれかです。 |
GET /v1/videos/{video_id}/content | 完成した MP4 へリダイレクト(302)します。リダイレクト先にキーは不要で、結果は完了後 7 日間保持されます。 |
GET /v1/models | 最新のカタログ。GET /v1/models/{model} は 1 件を取得します。/ を含む id はエンコードせずに使えます。 |
POST /v1/messages | Anthropic Messages。ツール利用とストリーミングに対応します。max_tokens は必須です。 |
リクエストとレスポンスの完全なスキーマは、API リファレンス llm.grafilab.ai/docs にあります。
モデルの選び方
Section titled “モデルの選び方”カタログは常に最新なので、このページにモデルの一覧は載せません。次の 2 か所の
どちらかで確認し、表示された id をそのまま送る文字列として扱ってください。
- Playground のカードには、テキストモデルごとに Context、Input、 Cached、Output が表示され、画像・動画モデルには生成ごとや秒あたりの 料金が表示されます。カードには Coming Soon や By Invitation のリボンが 付くことがあります。招待制モデルは、アカウントにアクセス権が付与されるまで 呼び出せません。
GET /v1/modelsは同じ id を機械可読な形で返し、各エントリに Grafilab 独自の 拡張としてregionとtagsを加えます。
モデル id は大文字小文字を区別せずに照合され、/ を含むことがあります。レスポンスは
カタログ側の正規表記を返すため、送った文字列と異なる場合があります。id で照合する
なら大文字小文字を区別せずに比較してください。
課金の仕組み
Section titled “課金の仕組み”料金は呼び出しごとに、アカウントの通貨でクレジット残高から引かれます。
- テキストと埋め込み — トークン単位で、100 万トークンあたりの価格として 提示されます。入力、キャッシュ済み入力、出力でそれぞれ別のレートです。 キャッシュ済み入力トークンは入力トークンの一部であり、上乗せの課金ではありません。
- 画像 — 生成 1 回あたりです。
- 動画 — 出力 1 秒あたりで、ジョブの完了時ではなく作成時に課金されます。
現在のレートは Playground のカードと API ページの料金表にあり、実際に請求される
金額と常に一致します。アカウントの通貨で価格が設定されていないモデルは提供されず、
カタログから隠され、404 model_not_found を返します。
よく出会うエラー
Section titled “よく出会うエラー”失敗には必ず対応する HTTP ステータスが伴います。API がエラーを 200 に見せかける
ことはありません。唯一の例外は、最初のフレームを送った後に失敗したストリームです。
この場合ステータスは 200 のままで、エラーはストリーム内で届きます。そのため
ストリーミングクライアントは、ストリーム内のエラーフレームを失敗として扱う必要が
あります。
| ステータス | code | 意味と対処 |
|---|---|---|
401 | invalid_api_key | キーが誤っている、ローテーション済み、または空白が混じっています。API からコピーし直してください。 |
403 | billing_currency_unset | アカウントに請求通貨が設定されていません。プロフィールで国を設定してください。 |
404 | model_not_found | id の綴りが違うか、招待制か、あなたの通貨で価格が設定されていません。 |
429 | insufficient_quota | レート制限ではなく、残高不足です。Billing でチャージしてください。 |
500 | server_error | 再試行して構いません。ただしレスポンスに x-should-retry: false がある場合は、すでに処理・課金済みの作業を意味します。 |
すべてのレスポンスには X-Request-Id ヘッダー(req_ に続く 24 桁の 16 進数)が
付きます。Anthropic サーフェスではエラーボディの request_id にも同じ値が入ります。
サポートに問い合わせる際はこの値を伝えてください。

