본문으로 건너뛰기

채팅 API 빠른 시작 ​

OpenAI 호환 채팅

하나의 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"]))

예제는 유료 채팅과 음성을 각각 한 번 호출합니다. 채팅 응답, 토큰 사용량, 음성 크레딧을 출력하고 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. 모든 권리 보유.