API クイックスタートと接続ガイド

1 つの API キーでテキスト・画像・動画を利用できます。以下の例ではこのサイトを API エンドポイントとして使用します。

認証とモデルの選択

コンソールでキーを作成・保存し、Authorization: Bearer ヘッダーに指定してください。キーはサーバー側で管理してください。

MODEL_ID を公開中のモデル ID に置き換えてください。対応プロトコル・長さ・解像度・料金はモデルごとに異なります。

OpenAI SDK
base_url = "https://www.lvzhouai.cc/v1"

テキスト

POST /v1/chat/completions

bash
curl 'https://www.lvzhouai.cc/v1/chat/completions' \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6-luna",
"messages": [
{
"role": "user",
"content": "Hello"
}
],
"max_tokens": 64
}'

画像

POST /v1/images/tasks

bash
curl 'https://www.lvzhouai.cc/v1/images/tasks' \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID" \
-d '{
"model": "gpt-image-2",
"prompt": "A blue ceramic cup on a wooden table",
"resolution": "1K"
}'

動画

POST /v1/videos/tasks

bash
curl 'https://www.lvzhouai.cc/v1/videos/tasks' \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID" \
-d '{
"model": "grok-imagine-video-1.5",
"prompt": "A slow camera movement through a garden",
"resolution": "480p",
"duration": 8
}'

Python・Node.js で始める

サーバーの環境変数 API_STATION_KEY を設定してください。以下の例は curl と同じテキストエンドポイントを使用します。

Python 3
import json, os
from urllib.request import Request, urlopen

request = Request(
"https://www.lvzhouai.cc/v1/chat/completions",
data=json.dumps({"model": "gpt-6-luna", "messages": [{"role": "user", "content": "Hello"}], "max_tokens": 64}).encode(),
headers={"Authorization": "Bearer " + os.environ["API_STATION_KEY"], "Content-Type": "application/json"},
)
with urlopen(request, timeout=60) as response:
print(json.load(response)["choices"][0]["message"]["content"])
Node.js 20+
const response = await fetch("https://www.lvzhouai.cc/v1/chat/completions", {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.API_STATION_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "gpt-6-luna",
messages: [{ role: "user", content: "Hello" }],
max_tokens: 64,
}),
});
const result = await response.json();
if (!response.ok) throw new Error(result.error?.message || "Request failed");
console.log(result.choices[0].message.content);

モデル・仕様・課金単位

テキスト料金は入力・出力それぞれ100万トークン単位、画像は1枚単位、動画は生成された秒数単位です。料金はモデルと仕様により異なるため、送信前に最新の一覧をご確認ください。

例では公開済みの仕様を使用します。gpt-image-2 は 1K、grok-imagine-video-1.5 は 480p・8秒です。他のサイズ、長さ、ツール呼び出し、メディア入力への対応はモデルの説明をご確認ください。

GET /v1/models で、そのキーで利用できるモデルを取得できます。公開一覧には仕様と料金が表示されますが、キーの権限によって利用可能なモデルは制限される場合があります。

bash
curl 'https://www.lvzhouai.cc/v1/models' \
-H "Authorization: Bearer YOUR_API_KEY"

メディアタスクの作成時は HTTP 201 と id、state、billing_state が返ります。同じ API キーで GET /v1/tasks/{id} をポーリングしてください。succeeded は生成完了、settled は課金確定を表すため、別々に確認します。送信結果が不明な場合は、同じ Idempotency-Key と入力を保持してください。

タスクの状態と結果

画像・動画の操作ごとに、一意の 16~128 文字の Idempotency-Key を指定してください。送信結果が不明な場合は同じキーと入力で再試行してください。

タスク作成時の id を保存し、同じ API キーで状態を取得してください。state が succeeded になったら results[].url を読み取り、billing_state で請求状態を確認します。

GET /v1/tasks/{id}

bash
curl 'https://www.lvzhouai.cc/v1/tasks/TASK_ID' \
-H "Authorization: Bearer YOUR_API_KEY"

results[].url と、提供される場合は results[].expires_at を確認してください。リンクは一時的なため、必要なファイルは保存してください。同じタスクへの問い合わせは再生成せずサイトのアクセスリンクを更新しますが、上流の結果自体が期限切れになる場合があります。

リクエストの問題への対処

401 / 403
API キーの有効状態と、モデルへのアクセス権限をご確認ください。
400
モデル ID と対応する入力仕様をご確認ください。
402
このリクエストを送信するための利用可能残高が不足しています。
409
再試行は元の Idempotency-Key と同一の入力を使用してください。別の処理には新しい冪等キーを使用します。
429
Retry-After に指定された時間を待ってから再試行してください。
503
サービスが停止中、または未設定の可能性があります。管理者に利用状況をご確認ください。

問題の報告時にはレスポンスヘッダーの X-Oneapi-Request-Id を保持してください。API キー、パスワード、認証コードは添付しないでください。

テキストのストリーム開始後は自動で再試行しないでください。接続が切れた場合はリクエスト ID を保存し、利用履歴を確認してください。

利用履歴を見る