Poin utama
- Kredit uji coba $0,50 cukup untuk beberapa ratus giliran roleplay pendek, berlaku 7 hari, tanpa perlu pembayaran.
- Antarmuka apa pun yang menerima endpoint kompatibel OpenAI berfungsi: atur base URL, kunci, dan model
uncensored. - Biaya didorong oleh panjang riwayat chat, bukan panjang balasan. Potong atau ringkaskan giliran lama.
- Fiksi dan roleplay hanya untuk dewasa sesuai hukum. Tidak ada yang melibatkan anak di bawah umur, tidak pernah.
Apa yang dimaksud gratis di sini
Tidak ada chat gratis tanpa batas pada layanan ini, dan lebih baik mengatakannya di awal. Yang Anda dapatkan adalah saldo uji coba: setelah Anda mendaftar dengan Google, atau dengan email dan kata sandi, Anda dapat mengklaim $0,50 kredit uji coba dengan satu klik di halaman kunci API. Ini satu per orang, berlaku selama 7 hari, dan tidak memerlukan pembayaran. Kunci uji coba berjalan dengan 2 permintaan paralel dan 60 permintaan per menit, yang cukup untuk satu orang mengobrol.
Itu terdengar kecil, tetapi token murah. Biaya input adalah $0,15 per 1M token dan biaya output adalah $0,50 per 1M. Giliran roleplay tipikal dengan prompt 8.000 token dan balasan 300 token menghabiskan biaya $0,00135, jadi $0,50 mencakup sekitar 370 giliran. Bagi banyak orang, itu adalah satu malam penuh atau beberapa cerita pendek, cukup untuk memutuskan apakah setup cocok untuk mereka sebelum uang terlibat.
Saat kredit uji coba habis, Anda isi saldo mulai dari $20 dengan jumlah bulat hingga $500. Kredit tidak pernah kedaluwarsa, permintaan yang gagal atau ditolak tidak dikenakan biaya, dan tidak ada langganan yang perlu dibatalkan. Situs ini hanya menerima kripto: USDT pada TRC20 atau USDC pada Base.
Pilih antarmuka
API hanya berbicara teks melalui HTTP. Anda masih perlu sesuatu untuk memegang karakter Anda, riwayat chat Anda, dan template prompt Anda. Tiga pilihan umum:
- SillyTavern. Aplikasi web lokal yang dibangun untuk obrolan karakter, dengan buku lore, persona, dan preset. Ini memungkinkan Anda menambahkan endpoint kompatibel OpenAI, yang persis seperti API ini.
- Klien chat lain yang mengekspos bidang untuk URL OpenAI-compatible kustom. Cari pengaturan yang disebut endpoint kustom, proxy, atau OpenAI-compatible.
- Skrip Anda sendiri. Lima puluh baris Python memberi Anda kontrol penuh atas memori, prompt, dan biaya. Ini juga cara termudah untuk melihat apa yang sebenarnya Anda kirimkan.
Jika Anda membangun aplikasi dan bukan hanya mengobrol, panggilan yang sama berfungsi dari SDK OpenAI apa pun. Panduan cepat di dokumentasi mencantumkan endpoint, header, dan batas dalam satu tempat.
Hubungkan SillyTavern dalam lima langkah
- Buat akun, buka halaman kunci API, klaim kredit uji coba, dan salin kunci Anda.
- Di SillyTavern, buka ikon steker (Koneksi API) dan atur jenis API menjadi Chat Completion.
- Pilih sumber bernama Custom (OpenAI-compatible).
- Tempelkan
https://api.uncensoredvideo.cc/v1ke bidang endpoint kustom, kunci Anda ke bidang kunci, dan ketikuncensoredsebagai ID model. - Tekan Connect. Status hijau berarti permintaan ke
GET /v1/modelsatau pesan uji berhasil.
Label menu bergeser di antara versi SillyTavern, jadi ikuti maksudnya dan bukan kata persisnya. Sebelum Anda menyalahkan aplikasi, uji kunci dari terminal:
curl https://api.uncensoredvideo.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"Reply with the word ready."}]}'Jika curl berhasil dan aplikasi tidak, masalahnya ada di bidang aplikasi: /v1 yang hilang, spasi berlebih di kunci, atau nama model yang salah.
Atau tulis loop chat kecil
Skrip adalah cara yang baik untuk mempelajari biaya roleplay, karena Anda dapat mencetak penggunaan token pada setiap giliran. Ini menjaga prompt persona, memangkas riwayat menjadi 20 pesan terakhir, dan meng-stream balasan.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.uncensoredvideo.cc/v1",
api_key=os.environ["API_KEY"],
)
system = (
"You are Mara, a dry-witted smuggler pilot in a space-opera story. "
"Stay in character, write in third person, keep replies under 150 words."
)
history = []
while True:
user = input("> ")
history.append({"role": "user", "content": user})
messages = [{"role": "system", "content": system}] + history[-20:]
stream = client.chat.completions.create(
model="uncensored",
messages=messages,
temperature=0.9,
top_p=0.95,
max_tokens=300,
stream=True,
stream_options={"include_usage": True},
)
reply = ""
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
piece = chunk.choices[0].delta.content
reply += piece
print(piece, end="", flush=True)
if chunk.usage:
print("\n[tokens in/out: %d/%d]" % (chunk.usage.prompt_tokens, chunk.usage.completion_tokens))
history.append({"role": "assistant", "content": reply})Perhatikan baris penggunaan. Setelah beberapa lusin giliran, Anda akan melihat jumlah input meningkat sementara output tetap datar. Itulah angka yang harus dikelola.
Tulis prompt karakter yang tahan lama
Kebanyakan masalah roleplay dimulai di prompt pertama, bukan di model. Prompt karakter yang baik itu pendek dan spesifik. Namai karakternya, berikan suara dalam satu atau dua kalimat, jelaskan latarnya, dan katakan berapa panjang balasan yang seharusnya. Lalu berhenti. Setiap aturan tambahan adalah token yang Anda bayar pada setiap giliran, dan daftar panjang "lakukan" dan "jangan" cenderung diikuti kurang baik daripada contoh yang jelas.
Bandingkan dua cara untuk menggambarkan pilot yang sama. Yang pertama mengatakan dia berani, lucu, setia, dan pintar. Itu tidak memberi model pegangan yang bisa dijalankan. Yang kedua mengatakan dia menjawab pertanyaan dengan candaan dulu, baru kebenaran, tidak pernah menjelaskan masa lalunya kecuali ditanya dua kali, dan mengumpat ringan ketika bagian kapal rusak. Yang kedua memberi model kebiasaan untuk diulang, dan kebiasaan adalah apa yang dialami pembaca sebagai kepribadian.
Tambahkan satu contoh pertukaran pendek tiga atau empat baris. Model meniru irama dengan sangat baik, jadi contoh menetapkan panjang, tense, dan sudut pandang tanpa aturan terpisah. Jika Anda menulis dalam orang kedua, tunjukkan itu. Jika Anda ingin narasi dalam miring, tunjukkan itu juga. Letakkan contoh di prompt sistem atau sebagai pesan pertama riwayat.
Terakhir, putuskan siapa yang mengendalikan karakter lain. Jika Anda ingin model memainkan seluruh cast, katakan itu. Jika Anda ingin model memainkan hanya satu peran, katakan bahwa ia tidak boleh pernah menulis kata atau tindakan karakter Anda. Urutan stop pada nama karakter Anda mendukung ini di tingkat API.
Berapa biaya satu giliran roleplay
Setiap permintaan mengirim ulang prompt sistem, deskripsi karakter, dan riwayat, sehingga token input tumbuh seiring panjang percakapan. Berikut adalah aritmatika untuk balasan 300 token, yang biayanya saja 300 x $0,50 / 1.000.000 = $0,00015:
| Ukuran prompt | Biaya input | Biaya per giliran | Per 100 giliran | Giliran pada $0,50 |
|---|---|---|---|---|
| 4.000 token | $0,0006 | $0,00075 | $0,075 | sekitar 666 |
| 8.000 token | $0,0012 | $0,00135 | $0,135 | sekitar 370 |
| 20.000 token | $0,0030 | $0,00315 | $0,315 | sekitar 158 |
| 50.000 token | $0,0075 | $0,00765 | $0,765 | sekitar 65 |
Kesimpulannya sederhana. Prompt 8.000 token yang ketat sekitar 5,7 kali lebih murah daripada yang 50.000 token untuk jumlah giliran yang sama. Pada tingkat 8.000 token, top-up $20 membayar untuk sekitar 14.800 giliran. Top-up yang lebih besar menambahkan bonus: +5% dari $50, +10% dari $100 dan +15% dari $200, jadi $100 memberikan $110 kredit. Lihat halaman harga untuk tabel lengkap.
Jaga cerita panjang tetap murah dan koheren
Jendela konteks adalah 100.000 token, mencakup prompt dan balasan, sehingga Anda dapat memuat banyak teks. Namun, Anda jarang perlu melakukannya. Prompt panjang lebih mahal dan membuat model kehilangan konteks teks yang dimuat. Beberapa kebiasaan membantu:
- Ringkaskan, lalu hapus. Setiap 20 giliran, minta model untuk ringkasan 150 kata dari cerita sejauh ini, simpan di prompt sistem, dan hapus pesan lama.
- Jaga lembar karakter tetap pendek. Halaman aturan yang diabaikan model adalah halaman yang Anda bayar pada setiap giliran.
- Batasi balasan.
max_tokensbersifat opsional, tetapi batas ini menghentikan balasan yang tak terkendali dan menjaga ritme tetap ketat. - Sesuaikan sampling. Suhu sekitar 0,8 hingga 1,0 cocok untuk fiksi. Jika model mengulang frasa, naikkan penalti frekuensi atau kehadiran sedikit. Nilai tersebut diteruskan.
- Gunakan urutan
stopsehingga model tidak menulis baris Anda untuk Anda, misalnya berhenti pada nama karakter Anda diikuti dengan titik dua.
Benih tetap juga diteruskan, yang membantu ketika Anda ingin memutar ulang adegan dan membandingkan dua versi prompt.
Masalah umum dan perbaikan cepat
Ini adalah masalah yang paling sering dihadapi orang dalam percakapan panjang, dengan pengaturan yang biasanya membantu.
- Model berbicara untuk Anda. Tambahkan baris ke prompt sistem, plus urutan berhenti pada nama karakter Anda.
- Balasan menjadi lebih panjang setiap gilirannya. Model meniru panjang balasan sebelumnya. Turunkan
max_tokens, edit satu balasan panjang secara manual, dan pola akan direset. - Frasa yang berulang. Tingkatkan suhu sedikit, tambahkan penalti kehadiran atau frekuensi kecil, dan variasikan pesan Anda sendiri. Model meniru apa yang dilihatnya.
- Detail yang terlupakan. Masukkan fakta yang harus bertahan, seperti nama, cedera, dan janji, dalam catatan pin pendek di bagian atas prompt, dan perbarui saat cerita berubah.
- Nada datar. Berikan contoh suara yang lebih kuat. Nada berasal dari contoh jauh lebih banyak daripada dari kata sifat.
Saat terjadi sesuatu yang aneh, cetak daftar pesan lengkap yang dikirim skrip Anda. Sembilan dari sepuluh kali, penyebabnya terlihat jelas dalam prompt itu sendiri: instruksi yang tersisa, ringkasan yang duplikat, atau riwayat yang tidak dipangkas.
Batas dan kesalahan yang mungkin Anda alami
Kunci penuh mengizinkan 8 permintaan konkuren dan 300 permintaan per menit, sedangkan kunci uji coba hanya 2 dan 60. Jika melebihi batas, API mengembalikan HTTP 429. Kode kesalahan rate_limited berarti terlalu banyak permintaan per menit, dan concurrency berarti terlalu banyak sekaligus. Header Retry-After: 5 pada respons 429 menandakan kelebihan beban sementara, jadi tunggu lima detik dan coba lagi.
Satu detail yang sering membuat orang bingung: permintaan streaming memegang slot konkurensinya hingga stream selesai. Jika Anda mengklik regenerasi tiga kali dengan cepat pada kunci uji coba, upaya ketiga dapat gagal dengan concurrency. Tunggu hingga stream berakhir atau biarkan klien mencoba lagi setelah jeda singkat. Setiap respons juga menyertakan X-Balance-USD, sehingga skrip Anda dapat mencetak saldo yang tersisa setelah setiap giliran.
Aturan yang tidak berubah: model disesuaikan untuk menjawab tanpa penolakan konten untuk penggunaan dewasa yang sah, dan model tidak akan menulis konten seksual yang melibatkan anak di bawah umur. Pertahankan cerita Anda di batas yang wajar. Prompt tidak digunakan untuk pelatihan.
