本文へスキップ

チャット API クイックスタート ​

OpenAI 互換チャット

1 つの API キーでチャットと音声を利用できます。リクエストは同期的に処理されます。最新のモデル名、ID、料金はモデル一覧で確認してください。

1. キーの作成とチャージ ​

コンソールに登録またはログインし、API キー → API キーを作成からキーを作成します。完全なキーは一度しか表示されないため、安全に保存してください。次にウォレット → クレジットを追加でチャージします。サブスクリプションは必須ではありません。キーを作成してもクレジットは付与されません。

キーはサーバー側で保管してください。認証とレート制限も参照してください。

ローカルでの決済テスト

Stripe のテスト決済で増えるのはサンドボックス残高のみです。実際のモデル呼び出しには使用できません。ローカルの結合テストでは、管理者がテストユーザーの API 残高をチャージできます。本番決済は支払い確認後に API 残高へ反映されます。

2. チャットと音声のサンプルを実行 ​

以下のコードを chat.py として保存してください。Python 3 の標準ライブラリのみを使うため、追加パッケージは不要です。環境変数 GIRLLAB_API_KEY を設定して実行します。

bash
export GIRLLAB_API_KEY='sk-your-key'
python3 chat.py
powershell
$env:GIRLLAB_API_KEY = 'sk-your-key'
python chat.py
python
import base64
import json
import os
from pathlib import Path
from urllib.error import HTTPError
from urllib.request import Request, urlopen

BASE = os.environ.get("GIRLLAB_API_BASE", "https://api.coldstart.win").rstrip("/")
KEY = os.environ["GIRLLAB_API_KEY"]
MODEL = os.environ.get("GIRLLAB_CHAT_MODEL")
VOICE = os.environ.get("GIRLLAB_VOICE")

def api(path, body=None):
    request = Request(
        BASE + path,
        data=json.dumps(body).encode() if body is not None else None,
        headers={"Authorization": "Bearer " + KEY,
                 "Content-Type": "application/json"},
    )
    try:
        with urlopen(request, timeout=90) as response:
            return json.load(response)
    except HTTPError as error:
        raise SystemExit(f"HTTP {error.code}: {error.read().decode()}")

catalog = api("/v1/chat/catalog")
MODEL = MODEL or catalog["defaultModel"]
VOICE = VOICE or catalog["defaultVoice"]
model = next((m for m in catalog["models"] if m["id"] == MODEL), None)
voice = next((v for v in catalog["voices"] if v["id"] == VOICE), None)
if not model or not model["available"] or not voice or not voice["available"]:
    raise SystemExit("Choose an available model and voice from /v1/chat/catalog.")

reply = api("/v1/chat/completions", {
    "model": MODEL,
    "messages": [
        {"role": "system", "content": "You are a friendly assistant."},
        {"role": "user", "content": "Say hello in one short sentence."},
    ],
    "max_tokens": 64,
})
print(json.dumps(reply, ensure_ascii=False, indent=2))
# For another turn, append the assistant reply and the next user message to messages.
print(reply["choices"][0]["message"]["content"])

speech = api("/v1/chat/speech", {"text": "Hello.", "voice": VOICE})
header, encoded = speech["audio"].split(",", 1)
file = Path("speech.mp3")
file.write_bytes(base64.b64decode(encoded))
print("Saved", file, "— speech billing:", json.dumps(speech["billing"]))

この例は課金対象のチャットと音声を各 1 回呼び出します。返信、トークン使用量、音声クレジットを表示し、MP3 を保存します。チャットの実際のクレジットは利用履歴で確認してください。API ベース URL は https://api.coldstart.win です。別環境では GIRLLAB_API_BASE を設定します。

3. モデルを切り替える ​

GIRLLAB_CHAT_MODEL を chat-creative または chat-fast に変更できます。音声は GIRLLAB_VOICE で独立して選択します。

最新のモデル一覧・クレジット料金

モデル一覧を読み込み中…

GET /v1/chat/catalog は最新のモデル、音声 ID、料金を返します。上流プロバイダーの ID ではなく、この一覧の公開 ID を使用してください。TTS のモデルは voice で決まり、チャットの model パラメーターは受け付けません。

テキストは OpenAI 互換チャット、音声と音声 ID は音声とモデル一覧をご覧ください。

コンソールのチャットでも試せます。対話形式の API リファレンスでリクエストの各項目を確認できます。

© 2026 GirlLab. 無断転載を禁じます。