ドキュメント

Layer AI は OpenAI の Chat Completions API と同じ形で使えます。

はじめかた

  1. Layer アカウントでログインし、「API キー」でキーを発行します(初回はお試しクレジットが付きます)。
  2. OpenAI SDK の base_url を https://ai.layer.fan/api/v1 に、api_key を発行したキーにします。
  3. 使えるモデルは GET /api/v1/models で確認します。
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://ai.layer.fan/api/v1", apiKey: process.env.LAYER_AI_API_KEY });

const stream = await client.chat.completions.create({
  model: "openai/gpt-4o-mini",
  messages: [{ role: "user", content: "俳句をひとつ" }],
  stream: true,
});
for await (const chunk of stream) process.stdout.write(chunk.choices[0]?.delta?.content ?? "");

認証

Authorization: Bearer sk-layer-… を付けます(x-api-key ヘッダーでも可)。 キーは発行時に一度だけ表示されます。漏れたら「API キー」から失効させ、新しく発行してください。

エンドポイント

メソッドパス説明
GET/api/v1/models使えるモデルと単価(USD / 100 万トークン)
GET/api/v1/models/{model}1 つのモデル
POST/api/v1/chat/completionsチャット補完。stream: true で SSE
GET/api/v1/dashboard/billing/subscription・/usage残高と使用額(OpenAI の旧 billing API と同じ形。既存ツールの残高表示用)

ストリーミングで使用量も受け取りたいときは "stream_options": {"include_usage": true} を付けます。

料金と上限

送る前に、入力の長さと max_tokens から見積額を出して残高から押さえ、終わったら実際の利用額で精算します (差額は戻ります)。見積額に残高が足りないときは 402 を返します。max_tokens を指定しないと見積額が大きくなるので、 残高が少ないうちは指定してください。失敗したリクエストは請求しません。

キーには使用額の上限・使えるモデル・有効期限を付けられます。応答の x-request-id は「使用量」の記録と対応します。

キーごとに 1 日(UTC)のリクエスト数とトークン数の上限があります。現在の値と今日の使用量は「API キー」で確認できます。

エラー

OpenAI と同じ {"error": {"message", "type", "code"}} の形で返します。

statuscode / type意味
400invalid_request_error本文が JSON でない、model / messages が無いなど
401invalid_api_keyキーが無い・正しくない・失効している
401expired_api_keyキーの有効期限が切れている
402insufficient_balance残高がこのリクエストの見積額に足りない(max_tokens を小さくすると下がる)
402key_spend_limitキーの使用額の上限に達する
403model_not_allowedこのキーではそのモデルを使えない
404model_not_foundそのモデルは使えない
429daily_request_limit / daily_token_limitキーの 1 日の上限に達した(UTC 0 時に戻る)
502upstream_error推論先に接続できなかった
501not_implementedまだ対応していないエンドポイント(embeddings など)
503upstream_unavailable一時的に推論を受け付けられない。時間をおいて再試行