Suara adalah media pertama yang tak pernah dipelajari web untuk disimpan
OpenAI merilis GPT-Live 1 ke dalam API, dan bagian yang menarik bukanlah modelnya. Melainkan satuan penagihannya. Sesi suara berbiaya US$0,05 per menit, dihitung per detik, dan semua yang didelegasikan model suara - penalaran, pemanggilan alat, model yang benar-benar menyusun jawabannya - ditagih terpisah. Untuk pertama kalinya, sebuah perusahaan bisa membeli percakapan dan membayarnya seperti membayar pulsa telepon.
Yang memunculkan pertanyaan yang tidak dijawab dokumentasinya. Ketika sesi berakhir, apa yang Anda miliki?
Postingan adalah dokumen. Ia punya tautan permanen, stempel waktu yang terlihat, dan salinan yang bertahan melewati permintaan HTTP. Anda bisa mengarsipkannya setahun kemudian dan tetap mendapat byte yang sama. Sesi suara adalah kebalikannya: ia ada selama soket terbuka, dan begitu soket ditutup, rekamannya entah ada dalam sesuatu yang Anda tulis atau tidak ada sama sekali. Tidak ada cara kembali untuk mengambil panggilan kemarin.
Asimetri itulah yang dibahas artikel ini. Saya mengarsipkan postingan publik sebagai pekerjaan sehari-hari, dan hadirnya API suara full-duplex yang ditagih per menit mematahkan asumsi nyaman yang saya pegang bertahun-tahun - bahwa konten apa pun yang layak disimpan akan masih ada besok untuk dikumpulkan.
Apa sebenarnya GPT-Live 1, menurut dokumentasinya sendiri
Kartu modelnya tidak biasa karena begitu lugas. GPT-Live 1 dijabarkan sebagai model suara full-duplex yang "bisa mendengar dan berbicara sekaligus, dan menyerahkan penalaran serta penggunaan alat ke agen backend". Full-duplex adalah frasa yang menopang semuanya. Ini bukan ucapan-ke-teks yang menyuapi model bahasa yang menyuapi teks-ke-ucapan, tiga langkah dalam satu antrean. Ini satu model yang menjalankan percakapan di mana interupsi itu normal dan kedua arahnya hidup.
| Atribut | Nilai |
|---|---|
| Harga | US$0,05 per menit, ditagih per detik |
| Catatan penagihan | Durasi sesi tidak dibulatkan ke menit penuh berikutnya |
| Modalitas | Teks dan audio masuk, teks dan audio keluar |
| Tidak didukung | Gambar, video, keluaran terstruktur, fine-tuning, keluaran terprediksi |
| Endpoint | Live v1/live/sessions, plus Chat Completions, Responses, Realtime |
| Batas pengetahuan | 31 Juli 2025 |
| Batas laju | Diukur dalam sesi bersamaan: Tier 1 = 25 hingga Tier 5 = 500; tingkat gratis tidak didukung |
Dua detail dari tabel itu lebih penting dari kelihatannya. Pertama, "ditagih terpisah" untuk penggunaan backend berarti harga per menit itu batas bawah. Sesi suara yang berpikir keras adalah sesi suara plus tagihan model teks plus biaya alat apa pun. Kedua, batas laju diukur dalam sesi bersamaan alih-alih permintaan per menit, yang merupakan satuan tepat untuk sesuatu yang menempati soket selama percakapan berlangsung - dan itu juga petunjuk tentang objek macam apa sebuah sesi.
Di antara modalitas audio dan teks ada perbedaan yang layak dinamai, karena itulah yang menentukan arsitektur Anda. Audio adalah masukan sekaligus keluaran, dan platform yang sama mengekspos endpoint transkripsi secara terpisah. Sesi transkripsi bersifat satu arah: audio masuk, teks keluar, dibuat untuk menjabarkan ucapan. Sesi langsung bersifat dua arah dan dibuat untuk bercakap-cakap. Jika yang Anda inginkan hanya rekaman ucapan yang bisa dicari, jalur transkripsi memberi teks dengan perangkat jauh lebih sedikit. Jika Anda menginginkan agen suara, Anda membangun rekamannya sendiri di atas itu.
Tiga hal yang ditinggalkan sesi suara
Tanyakan apa yang bertahan setelah soket ditutup, dan jawabannya lebih kecil dari dugaan orang. Ada tepat tiga kategori artefak, dan hanya satu di antaranya yang Anda buat sendiri.
Transkrip yang dialirkan, jika klien Anda menyimpannya
API suara langsung memancarkan peristiwa saat percakapan berjalan - transkrip parsial dan final, batas giliran, muatan pemanggilan fungsi. Peristiwa itu tiba di klien Anda, yang berarti klien Anda bisa menuliskannya. Ini artefak bernilai tertinggi dan paling mudah hilang: jika Anda hanya meneruskan peristiwa ke antarmuka dan tidak pernah menyimpannya, transkrip itu hanya tampilan, bukan rekaman. Menyimpannya adalah perubahan dua baris pada penangan peristiwa Anda dan perubahan permanen pada apa yang bisa dijawab arsip Anda nanti.
Audionya, jika Anda memintanya
Audio adalah masukan dan keluaran pada model ini, jadi kedua arah bisa ditangkap. Ingat bahwa ini berlaku dua arah: berkas audio adalah rekaman paling setia dan paling tidak bisa dipakai. Anda tidak bisa melakukan grep padanya, tidak bisa membandingkannya, dan biaya penyimpanannya sebanding dengan durasi percakapan, bukan dengan apa yang dikatakan. Dalam praktik, audio adalah buktinya dan teks adalah indeksnya, dan arsip yang jujur menyimpan keduanya alih-alih berpura-pura salah satunya sudah cukup.
Metadata sesinya, yang tak seorang pun menangkap dan semua orang butuhkan
Inilah kategori yang terlewat, dan justru inilah yang menentukan apakah arsip Anda bisa ditafsirkan delapan belas bulan lagi. Transkrip tanpa id sesi tidak bisa dipasangkan dengan baris tagihan. Transkrip tanpa id model tidak bisa dijelaskan ketika suaranya berubah. Transkrip tanpa endpoint yang tercatat tidak bisa direproduksi ketika permukaan API bergerak. Tak satu pun dari kolom ini sulit ditulis; semuanya mustahil direkonstruksi setelah kejadian.
Bagian yang tidak nyaman: ketiga artefak itu hidup di sisi soket milik Anda. Tidak ada apa pun di kartu model yang menjanjikan sesi yang sudah selesai bisa diambil kembali nanti, dan tidak seharusnya ada. Perilaku retensi vendor adalah kebijakan, bukan kontrak - persis jenis jaminan yang hilang untuk postingan sosial, dan akan hilang untuk suara dengan cara yang sama begitu menyimpannya menjadi mahal.
Menangkap sesi langsung: apa yang harus ditulis
Langkah pengumpulan harus berjalan selama soket terbuka, jadi tempat yang tepat untuknya adalah di dalam proses yang sudah menangani peristiwanya. Berikut bentuk yang saya pakai - penangan peristiwa minimal yang menulis rekaman teks tahan lama selama percakapan berjalan, dengan metadata yang membuatnya bisa ditafsirkan nanti:
# Persist a GPT-Live 1 session as a durable text record.
# Run this inside the process that already handles the stream events.
import json, pathlib, datetime
SESSION_ID = "sess_abc123" # from v1/live/sessions
MODEL_ID = "gpt-live-1"
ENDPOINT = "v1/live/sessions"
OUT = pathlib.Path("voice-archive") / SESSION_ID
OUT.mkdir(parents=True, exist_ok=True)
def utc_now():
return datetime.datetime.now(datetime.timezone.utc).isoformat(timespec="seconds")
transcript = OUT / "transcript.jsonl"
# One JSON object per event, appended as it arrives. JSONL is the right
# container: it is line-greppable, append-only, and survives a crash
# mid-session without losing the turns that already landed.
def on_event(evt):
row = {
"captured_at": utc_now(),
"session_id": SESSION_ID,
"model": MODEL_ID,
"type": evt["type"], # speech_started / transcript / response
"role": evt.get("role"), # "user" or "assistant"
"text": evt.get("text"),
"turn": evt.get("turn"),
}
with transcript.open("a", encoding="utf-8") as fh:
fh.write(json.dumps(row, ensure_ascii=False) + "\n")
JSONL alih-alih satu dokumen JSON, dan alasannya layak disebut: percakapan adalah rangkaian yang hanya ditambahi, dan wadah yang hanya ditambahi berarti kegagalan di menit kesembilan tetap meninggalkan sembilan menit transkrip. Konversikan ke satu objek di akhir jika mau, tapi jangan membuat keabsahan berkas bergantung pada sesi yang berakhir dengan mulus.
Bagian kedua adalah berkas metadatanya. Ia kecil, membosankan, dan justru inilah yang mengubah tumpukan teks menjadi arsip:
# Write the metadata alongside the transcript, once, at session close.
cat > voice-archive/$SESSION_ID/session.provenance.txt <<EOF
session_id: ${SESSION_ID}
model: gpt-live-1
endpoint: v1/live/sessions
started_at: $(date -u +%Y-%m-%dT%H:%M:%SZ)
billed_unit: 0.05 USD per minute, metered per second
backend_calls: separate billing, model recorded per call
consent: announced at session start, flag stored alongside transcript
retention: audio 90 days, transcript and metadata indefinite
note: transcript is the index, audio is the evidence
EOF
Baris note di bagian bawah bukan hiasan. Siapa pun yang membuka folder ini dua tahun lagi perlu memahami dalam lima detik berkas mana yang harus dipercaya untuk kutipan dan mana yang untuk nada bicara. Itu keputusan desain, dan satu-satunya tempat ia bisa hidup adalah di dalam arsip itu sendiri.
Soal izin, ditangani sebagai masalah rekayasa
Hukum perekaman berbeda antar yurisdiksi dan saya tidak akan berpura-pura ini nasihat hukum. Tapi bentuk rekayasanya stabil di yurisdiksi yang saya kenal: ketika ada manusia di salah satu sisi rekaman, aturannya melekat pada manusia itu, dan beberapa tempat mewajibkan semua pihak menyetujui. API suara yang ditagih per menit membuat ini makin umum, bukan makin jarang - inti tawarannya adalah membeli percakapan kini murah dan mudah.
Jadi perlakukan itu seperti Anda memperlakukan penanda kepatuhan lain: buat bersuara dan jadikan data. Umumkan di awal sesi alih-alih menguburnya di syarat dan ketentuan. Simpan status izin sebagai kolom di samping transkrip, bukan sebagai asumsi di ingatan seseorang. Tulis jendela retensi ke dalam metadata supaya permintaan penghapusan di masa depan menjadi pencarian, bukan proyek arkeologi. Mode kegagalan yang harus dihindari adalah yang biasa - rekaman yang ada, yang asal-usulnya tak bisa dijelaskan siapa pun, yang tak seorang pun yakin legal untuk disimpan.
Mengapa versi model adalah bagian paling tidak tahan lama
Ini masalahnya membangun arsip di atas gpt-live-1: itu nama snapshot. Snapshot dihentikan. Endpoint digantikan - model ini sudah bisa diakses lewat Live, Chat Completions, Responses, dan Realtime, yang menunjukkan permukaannya masih bergerak. Tingkatan harga direstrukturisasi, dan batas sesi bersamaan yang tampak longgar di Tier 5 adalah kebijakan yang bisa berubah tanpa arsip Anda menyadarinya.
Tidak satu pun dari itu alasan untuk tidak membangun. Itu alasan untuk membangun supaya modelnya menjadi bagian yang bisa diganti. Simpan audionya. Simpan transkrip teksnya. Simpan berkas kecil yang mencatat id model, endpoint, dan tanggalnya. Jika makna arsip Anda bergantung pada suara mana yang menjawab, catat itu sebagai kolom dengan cara yang sama Anda mencatat akun mana yang memposting sebuah utas - karena platform yang berubah di bawah artefak yang tersimpan adalah mode kegagalan yang saya tulis setiap minggu, dan suara tidak punya padanan tautan permanen sebagai jaring pengaman.
Ini insting yang sama dengan mengarsipkan utas alih-alih menyimpan tautannya sebagai penanda. Penanda membuktikan benda itu pernah ada dan masih mengarah ke sesuatu. Salinannya membuktikan apa yang dikatakannya. Suara adalah kasus di mana perbedaan itu berhenti menjadi preferensi, karena sesuatu yang diarahkannya minggu depan bisa jadi suara berbeda, model berbeda, atau tidak ada apa-apa.
Tumpukan lengkapnya, dari awal sampai akhir
- Umumkan - nyatakan di awal sesi bahwa percakapan direkam, dan simpan penanda izin di samping transkrip.
- Tangkap langsung - simpan peristiwa transkrip dan audio saat melewati klien Anda. Ini satu-satunya langkah yang tidak bisa dijalankan terlambat.
- Beri cap - tulis id sesi, id model, endpoint, dan stempel waktu UTC ke berkas metadata saat sesi ditutup.
- Pisahkan bukti dari indeks - audio untuk nada dan pembuktian, teks untuk pencarian dan pengutipan, dan catatan di metadata yang menyatakan mana yang mana.
- Verifikasi ulang sebelum mengutip - saat mengutip panggilan berbulan-bulan lalu, baca transkripnya, periksa kolom modelnya, dan jangan menganggap API saat ini berperilaku seperti yang menghasilkannya.
Di mana ThreadGrab berperan
ThreadGrab menangkap konten publik X, Bluesky, dan LinkedIn menjadi Markdown dengan stempel waktu dan URL sumbernya, supaya yang Anda simpan tetap mempertahankan identitas yang dimilikinya saat Anda menyimpannya. Ia tidak merekam panggilan dan tidak menyentuh audio - pipeline suara di atas adalah skrip yang Anda jalankan sendiri, terhadap soket yang sudah Anda miliki.
Yang dimiliki keduanya adalah aturannya, dan aturan itu tidak peduli pada mediumnya: salinan yang Anda kendalikan, dicap dengan waktu Anda mengambilnya, adalah satu-satunya versi yang masih bermakna seperti makna aslinya. Postingan punya tautan permanen yang perlahan menjadi dusta. Sesi suara tidak pernah punya satu pun sejak awal. Keduanya diselesaikan dengan cara yang sama, dan hanya satu di antaranya memberi Anda kesempatan kedua untuk menyelesaikannya.
Pertanyaan umum
Berapa biaya satu sesi suara GPT-Live 1?
Sesi suara ditagih US$0,05 per menit, dihitung per detik dan tidak dibulatkan ke menit penuh berikutnya. Sesi 90 detik berbiaya US$0,075. Semua yang didelegasikan model suara ke agen backend - penalaran, pemanggilan alat, model yang menulis jawabannya - ditagih terpisah sesuai tarif normal model yang Anda konfigurasi, jadi angka per menit itu batas bawah, bukan total. Durasi sesi diukur dalam sesi bersamaan untuk batas laju, mulai dari 25 di Tier 1 sampai 500 di Tier 5, dan tingkat gratis tidak didukung.
Apakah GPT-Live 1 menyimpan transkrip percakapan?
Itu pertanyaan yang salah untuk dijadikan dasar arsitektur, karena jawabannya milik vendor dan bisa berubah. Yang bisa Anda verifikasi adalah apa yang ditulis oleh integrasi Anda sendiri. Audio adalah masukan dan keluaran pada model ini, jadi apa pun yang menghasilkan rekaman tahan lama harus menjadi keputusan Anda: tangkap aliran audio saat melewati klien Anda, catat transkrip teks jika peristiwa yang Anda tangani menyertakannya, dan beri cap id sesi serta stempel waktu UTC pada setiap artefak. Perlakukan apa yang disimpan vendor sebagai bonus, bukan sebagai arsip Anda.
Apa bedanya sesi suara langsung dengan sesi transkripsi Realtime?
Sesi GPT-Live 1 di endpoint Live adalah model suara dua arah: ia mendengar dan berbicara sekaligus, menangani interupsi, dan bisa menyerahkan penalaran atau penggunaan alat ke agen backend. Sesi transkripsi di endpoint transcription_sessions bersifat satu arah - audio masuk, teks keluar - dan ada untuk menjabarkan audio, bukan untuk bercakap-cakap. Jika tujuan Anda adalah rekaman ucapan yang bisa dicari, jalur transkripsi memberi teks dengan perangkat jauh lebih sedikit; jika tujuan Anda adalah agen suara yang juga butuh rekaman, Anda membangun rekaman itu sendiri di atas sesi langsung.
Bisakah saya mengarsipkan panggilan suara seperti mengarsipkan postingan?
Separuh penyimpanannya sama dan separuh pengumpulannya lebih sulit. Postingan datang sebagai teks terstruktur dengan tautan permanen; suara datang sebagai aliran yang hanya ada selama sesi terbuka. Jadi langkah pengumpulan harus berjalan langsung - Anda tidak bisa kembali dan mengambil panggilan kemarin - sementara langkah penyimpanan harus mengikuti aturan yang sama seperti yang sudah Anda pakai untuk konten sosial: berkas biasa yang Anda kendalikan, pengenal sumber, stempel waktu pengambilan, dan tanpa format yang hanya bisa dibuka alat satu vendor. ThreadGrab menangani bagian postingan; bagian suara adalah skrip milik Anda.
Apakah saya perlu izin untuk merekam panggilan GPT-Live 1?
Hukum perekaman berbeda antar yurisdiksi dan artikel ini bukan nasihat hukum, tetapi bentuk praktisnya konsisten: ketika ada manusia di salah satu sisi panggilan, aturan perekaman melekat pada manusia itu, bukan pada model. Beberapa yurisdiksi mewajibkan persetujuan semua pihak. Jawaban rekayasa yang paling murah adalah membuat langkah pengambilan bersuara, bukan senyap - umumkan di awal sesi, simpan penanda izin di samping transkrip, dan nyatakan jendela retensi secara eksplisit. Rekaman yang asal-usulnya tidak bisa Anda jelaskan lebih buruk daripada tidak ada rekaman.
Apakah GPT-Live 1 model yang tepat untuk arsip suara yang harus bertahan bertahun-tahun?
Versi model adalah bagian paling tidak tahan lama dari tumpukan ini. gpt-live-1 adalah nama snapshot hari ini; snapshot dihentikan, endpoint digantikan, dan tingkatan harga direstrukturisasi. Rancang agar model menjadi bagian yang bisa diganti: simpan audionya, simpan transkrip teksnya, dan simpan berkas metadata kecil yang mencatat id model, endpoint, dan tanggalnya. Jika makna arsip Anda bergantung pada model suara mana yang menjawab, catat itu seperti Anda mencatat akun mana yang memposting sebuah utas - sebagai kolom, bukan sebagai asumsi.
Terakhir diverifikasi: 13 September 2026. Sumber utama: kartu model GPT-Live 1 dari OpenAI di platform.openai.com/docs/models/gpt-live-1, yang menjadi dasar bagi penagihan US$0,05 per menit, penghitungan per detik, penagihan backend terpisah, modalitas teks dan audio, daftar fitur yang tidak didukung, daftar endpoint, batas pengetahuan 31 Juli 2025, dan tingkatan batas sesi bersamaan. Halaman pengumuman di openai.com mengembalikan HTTP 403 untuk setiap pengambilan otomatis dan tidak digunakan. Rancangan pengambilan audio, skema JSONL, dan templat metadata adalah milik penulis dan bukan panduan vendor. Hukum perekaman berbeda antar yurisdiksi; persyaratan izin harus diperiksa terhadap aturan setempat dan artikel ini bukan nasihat hukum.
Simpan postingannya, bukan cuma tautannya
ThreadGrab mengubah konten publik X, Bluesky, dan LinkedIn menjadi Markdown bersih berstempel waktu — supaya arsip Anda mempertahankan penulis dan konteksnya.
Coba ThreadGrab →