Panduan cepat Chat API
Obrolan yang kompatibel dengan OpenAI
Gunakan satu kunci API untuk obrolan dan ucapan. Permintaan kembali secara serempak; katalog langsung mencantumkan nama model, ID, dan harga saat ini.
1. Buat kunci dan tambahkan kredit
Daftar atau masuk ke konsol. Buka Kunci API → Buat kunci API, simpan kunci yang ditampilkan satu kali, lalu buka Dompet → Tambahkan kredit. Berlangganan adalah opsional. Panggilan API memerlukan saldo kredit yang didanai; membuat kunci tidak menambah kredit.
Simpan kunci di server Anda. Lihat Otentikasi & Batasan.
Pengujian pembayaran lokal
Pembayaran pengujian Stripe hanya menambahkan kredit sandbox. Mereka tidak mendanai panggilan model nyata. Untuk pengujian integrasi lokal, administrator dapat menambah saldo API pengguna pengujian di konsol admin. Pembayaran langsung mendanai saldo API setelah konfirmasi pembayaran.
2. Jalankan contoh chat dan pidato
Simpan kode di bawah ini sebagai chat.py. Ia menggunakan perpustakaan standar Python 3, tanpa paket untuk diinstal. Setel GIRLLAB_API_KEY di lingkungan Anda, lalu jalankan python chat.py.
export GIRLLAB_API_KEY='sk-your-key'
python3 chat.py$env:GIRLLAB_API_KEY = 'sk-your-key'
python chat.pyimport 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"]))Contohnya membuat satu panggilan obrolan teks berbayar dan satu panggilan ucapan berbayar. Ini mencetak balasan obrolan, penggunaan token dan kredit ucapan, dan menyimpan file MP3. Periksa Riwayat penggunaan untuk kredit obrolan sebenarnya. URL dasar API adalah https://api.coldstart.win; setel GIRLLAB_API_BASE hanya untuk penerapan lainnya.
3. Coba model lain
Ubah GIRLLAB_CHAT_MODEL menjadi chat-creative atau chat-fast. Ubah GIRLLAB_VOICE secara mandiri:
Tabel di bawah menunjukkan nama model publik saat ini, ID model, dan ID suara.
Memuat katalog model…
GET /v1/chat/catalog mencantumkan model yang tersedia, semua ID suara, dan harga saat ini. Gunakan ID model dari katalog langsung, bukan ID upstream penyedia. TTS memilih modelnya melalui voice; itu tidak menerima parameter model obrolan.
Obrolan teks: Obrolan yang kompatibel dengan OpenAI. ID ucapan dan suara: Pidato dan katalog.
- Penagihan & Kredit: biaya, pengembalian dana, dan saldo.
- Kode Kesalahan: kesalahan autentikasi, keseimbangan, dan hulu.
Anda juga dapat mencoba Chat di konsol. Referensi API interaktif mencantumkan kolom permintaan.