Panduan Cepat untuk Pipelines Whisper
Integrasikan model teks tanpa sensor kami ke dalam pipeline suara atau gambar Anda dengan API penyelesaian obrolan yang kompatibel dengan OpenAI. Panduan ini mencakup langkah-langkah penting untuk mengirim permintaan, menangani streaming, dan mengelola jendela konteks untuk tugas pasca-pemrosesan.
Prasyarat
Sebelum memulai, pastikan Anda memiliki akun aktif dan kunci API. Daftar di halaman Dapatkan kunci API hanya dengan email dan kata sandi. Kunci akan muncul segera. Anda menerima $0.50 dalam kredit uji coba yang berlaku selama 7 hari, tanpa memerlukan kartu kredit. Untuk produksi, isi saldo mulai dari $10 melalui kripto (USDT atau USDC). Harga kami jelas: $0.25 per 1M token input dan $1.00 per 1M token output. Saldo tidak pernah kedaluwarsa.
URL Dasar: https://api.whisperapis.com/v1. Endpoint ini bekerja dengan klien yang kompatibel dengan OpenAI. Anda hanya perlu mengonfigurasi URL dasar dan menyediakan kunci API Anda dalam header otorisasi. Tidak diperlukan SDK khusus untuk permintaan HTTP dasar.
Inisialisasi Klien
Sebagian besar pengembang akan menggunakan SDK OpenAI resmi atau pustaka yang kompatibel. Inisialisasi klien dengan menunjukkannya ke URL dasar kami. Ini memastikan semua permintaan dialihkan ke model tanpa sensor kami, bukan ke server OpenAI. ID model selalu uncensored.
Pastikan variabel lingkungan OPENAI_API_KEY diatur ke kunci Anda dari dasbor. Jika Anda menggunakan bahasa atau pustaka lain, verifikasi bahwa pustaka tersebut mendukung URL dasar kustom. SDK menangani serialisasi JSON dan injeksi header untuk Anda, mengurangi kode boilerplate dalam skrip pipeline Anda.
Kirim Chat Completion
Kirim permintaan chat completion standar untuk memurnikan output pipeline Anda. Sebagai contoh, ekstrak JSON terstruktur dari transkrip speech-to-text atau buat caption untuk gambar tanpa filter konten.
Endpoint adalah POST /v1/chat/completions. Sertakan ID model, array pesan Anda, dan secara opsional prompt sistem Anda untuk mendefinisikan perilaku tanpa sensor.
curl https://api.whisperapis.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'Model kami menangani data konteks tinggi dengan baik, mendukung hingga 100.000 token total. Ini sangat ideal untuk memproses transkrip panjang atau deskripsi gambar terperinci dalam satu proses.
Respons Streaming
Untuk pasca-pemrosesan waktu nyata atau pipeline interaktif, aktifkan streaming. Tetapkan parameter stream menjadi true dalam permintaan Anda. API mengembalikan peristiwa Server-Sent Events (SSE) alih-alih objek JSON tunggal.
Uraikan bidang delta saat bidang tersebut tiba. Ini mengurangi latensi yang dirasakan untuk output besar, seperti menghasilkan skrip terperinci atau mengekstrak blok teks panjang dari hasil OCR yang bising. Format streaming kompatibel dengan handler streaming SDK OpenAI standar.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)Pastikan klien Anda menangani potongan parsial dengan benar. Kumpulkan delta untuk membangun kembali respons teks lengkap setelah aliran berakhir dengan finish_reason stop atau length.
Dukungan Pemanggilan Alat
Model tanpa sensor kami mendukung pemanggilan fungsi, memungkinkan Anda mendefinisikan output terstruktur untuk pipeline Anda. Definisikan alat Anda dalam array tools dengan definisi skema JSON.
Model mengembalikan panggilan alat dalam respons, yang dapat Anda eksekusi untuk memperbarui konteks percakapan. Ini berguna untuk mengekstrak poin data spesifik dari teks tidak terstruktur, seperti tanggal, nama, atau koordinat dari transkrip suara.
from openai import OpenAI
client = OpenAI(base_url="https://api.whisperapis.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)Kirim kembali panggilan alat ke API dalam pesan berikutnya. Model akan memurnikan outputnya berdasarkan hasilnya. Ini memungkinkan penalaran multi-langkah yang kompleks tanpa meninggalkan antarmuka chat. Pastikan skema Anda ketat untuk menghindari respons JSON yang tidak valid.
Batas, Kesalahan, dan Konteks
Pantau penggunaan Anda untuk menghindari gangguan. API memberlakukan batas 300 permintaan per menit per kunci. Jika Anda melebihi batas ini, Anda akan menerima kesalahan batas laju 429. Terapkan backoff eksponensial di klien Anda.
Kesalahan Umum:
401: Kunci API tidak valid atau kedaluwarsa. Buat ulang kunci Anda dari dasbor.402: Saldo tidak mencukupi. Isi saldo akun Anda untuk melanjutkan pemrosesan.429: Batas laju terlampaui. Kurangi frekuensi permintaan atau kelompokkan tugas yang lebih kecil.
Jendela Konteks: Model mendukung 100.000 token untuk prompt + completion. Jika input Anda melebihi batas ini, potong pesan lama atau pisahkan data. Badan permintaan dibatasi hingga 8 MB. Pastikan payload Anda sesuai dengan batasan ini untuk kinerja yang andal.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.whisperapis.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);Spesifikasi API
Semua batas dan fitur API yang sebenarnya di satu tempat — cek dulu sebelum isi saldo.
| Item | Nilai |
|---|---|
| Format | kompatibel OpenAI: SDK OpenAI apa pun bisa dipakai, cukup ganti base URL dan kunci |
| ID model | uncensored |
| Endpoint | POST /v1/chat/completions · GET /v1/models |
| Autentikasi | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.whisperapis.com/v1 |
| Output maksimal | hingga sisa jendela 100.000 token; max_tokens opsional (tanpa batas terpisah) |
| Streaming | ya — server-sent events; potongan terakhir berisi penggunaan token |
| Mode JSON | response_format: {"type": "json_object"} |
| Parameter | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Function calling | ya — tools, tool_choice; balasan berisi tool_calls, juga saat streaming; hasil dikirim sebagai role: tool |
| Jendela konteks | 100.000 token (input + output) |
| Ukuran permintaan | hingga 8 MB |
| Batas laju | 300 permintaan per menit per kunci |
| Konkurensi | 8 permintaan bersamaan per kunci |
| Header respons | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Isi saldo | USDT (TRC20) atau USDC (Base), nominal bulat berapa pun dari $10 sampai $500 |
| Bonus | +5% mulai $50, +10% mulai $100 |
| Penagihan | saldo prabayar sesuai pemakaian nyata; error dan penolakan gratis |
| Uji coba gratis | $0,50 selama 7 hari, tanpa kartu · Kunci uji coba: 2 permintaan paralel, 60 per menit; batas penuh (8 dan 300) setelah isi saldo pertama |
| Masa berlaku | saldo berbayar tidak kedaluwarsa, tanpa langganan |
| Harga | $0,25 per 1 juta token input · $1,00 per 1 juta token output |
| Kunci | satu kunci aktif per akun; kunci baru menggantikan yang lama |
| Masuk | Google atau email dan kata sandi |
| Konten | konten dewasa diizinkan; konten seksual yang melibatkan anak di bawah umur ditolak |
Kode error
Error dikirim sebagai JSON dengan type tetap; permintaan gagal atau ditolak tidak ditagih.
| Kode | Tipe | Arti |
|---|---|---|
400 | bad_request | JSON tidak valid, pesan kosong, parameter salah, atau konteks terlalu panjang |
401 | missing_key · invalid_key · key_revoked | kunci tidak ada, salah, atau sudah diganti |
402 | no_credit | saldo habis — isi ulang dan lanjut seketika |
403 | content_blocked | konten seksual dengan anak di bawah umur — ditolak, tidak ditagih |
404 | not_found | endpoint tidak dikenal |
413 | request_too_large | body lebih dari 8 MB |
429 | rate_limited · concurrency | lebih dari 300/menit atau 8 paralel — tunggu lalu coba lagi |
503 | upstream_busy | model sibuk — coba lagi beberapa detik lagi |
Tanya jawab
Berapa ukuran jendela konteks?
Model ini mendukung jendela konteks 100.000 token, yang mencakup prompt dan completion. Hal ini memungkinkan Anda memproses transkrip besar atau deskripsi terperinci dalam satu permintaan.
Apakah API ini menghasilkan gambar atau audio?
Tidak. Ini adalah API penyelesaian obrolan teks saja. API ini dirancang untuk pasca-pemrosesan output teks dari modalitas lain seperti pengenalan suara atau pembuatan gambar. API ini tidak menghasilkan audio, gambar, atau video.
Bagaimana cara menangani kesalahan streaming?
Respons streaming mengembalikan peristiwa SSE. Jika terjadi kesalahan, aliran biasanya akan berakhir dengan pesan kesalahan di bidang error pada potongan terakhir. Pastikan klien Anda menangani putusnya koneksi dengan baik dan mencoba lagi jika diperlukan.
Kunci Anda hanya selangkah lagi dari satu formulir
Buat akun, salin kuncinya, ubah URL dasar. Itu saja seluruh pengaturannya.