← Blog

Panduan Cepat API GLM-5 di WaveSpeed (Contoh Kode)

Jalankan GLM-5 dalam waktu kurang dari 5 menit melalui API WaveSpeed: autentikasi, permintaan pertama, streaming, dan penanganan error.

8 min read
Panduan Cepat API GLM-5 di WaveSpeed (Contoh Kode)

Halo, nama saya Dora. Saya menemukan GLM-5 saat menelusuri berbagai pilihan model untuk fitur pembuatan konten kecil yang sedang saya prototipe pada Januari 2026. Saya pernah mendengar namanya sekilas — performa solid, arsitektur yang masuk akal — tetapi yang saya inginkan sederhana: bisakah saya memasukkannya ke dalam alur kerja yang sudah ada tanpa seminggu penuh mengurus infrastruktur? Artikel ini adalah tepat itu: tur tenang dan langsung dari GLM-5 API sejak Anda mendapatkan kredensial hingga saat Anda mulai memikirkan untuk menghubungkannya ke pipeline gambar atau video. Saya akan menunjukkan perintah-perintah, menunjukkan di mana saya ragu, dan mencatat pertukaran yang saya temui agar Anda bisa memutuskan apakah ini cocok dengan cara kerja Anda.

Tersedia di WaveSpeedAI — harga per-token transparan, endpoint kompatibel OpenAI. GLM 5.1 API → · Buka Playground →

Prasyarat — Akun WaveSpeed + API key

Sebelum Anda menulis satu baris curl pun, ada satu langkah kecil yang perlu dilakukan: akun dan API key. Saya menyiapkan milik saya di WaveSpeed: prosesnya mudah, tetapi perhatikan dua detail kecil.

Pertama, dapatkan key yang memiliki cakupan untuk endpoint GLM-5. Terkadang ada token atau peran terpisah untuk model dengan throughput lebih tinggi, dan menggunakan key yang salah akan memberikan kesalahan “model not found” yang singkat dan terlihat seperti masalah lain — ini membuat saya kesal selama sepuluh menit sampai saya memeriksanya. Kedua, catat region/endpoint yang tercantum di dashboard. Beberapa akun memetakan model ke endpoint regional, dan itu penting untuk latensi jika Anda mengerjakan fitur video atau interaktif.

Daftar periksa praktis yang saya gunakan:

  • Buat akun WaveSpeed dan verifikasi email.
  • Buat API key dengan label untuk dev/pengujian.
  • Konfirmasi bahwa model GLM-5 muncul di dashboard dan catat region endpoint yang tercantum.
  • Simpan key di file .env lokal daripada menempelkannya ke dalam skrip pengujian (lebih mudah untuk nanti).

Itu saja. Tidak perlu perangkat keras khusus atau pembelian SDK. Cukup API key dan kesabaran untuk memeriksa pemetaan endpoint.

Permintaan pertama dalam 3 langkah (curl + Python + JS)

Saya suka memulai dengan permintaan curl — cara ini jujur dan mengekspos header, kode status, dan JSON mentah tanpa abstraksi. Setelah itu, saya beralih ke Python untuk eksperimen dan JS saat ingin memprotipe UI kecil.

ID model dan endpoint

GLM-5 API memerlukan ID model dan URL endpoint. Dalam pengujian saya, ID model terlihat seperti glm-5-v1 (periksa kembali dashboard Anda: nama bisa berbeda berdasarkan rilis). Endpoint adalah host tempat Anda melakukan POST: untuk saya, ada awalan regional. Salah satunya yang salah akan menghasilkan 404 langsung atau kesalahan JSON model-not-found.

Contoh curl minimal yang saya jalankan (sesuaikan dengan key dan endpoint Anda):

curl -X POST "https://your-region.api.wavespeed/v1/models/glm-5-v1/generate" \
-H "Authorization: Bearer $WAVESPEED_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt":"Write a short intro about mindful workflows.","max_tokens":120}'

Hasilnya adalah JSON kecil dengan teks dan metadata token. Umpan balik yang bersih dan langsung.

Streaming vs non-streaming

GLM-5 mendukung respons streaming maupun non-streaming. Saya memulai dengan non-streaming agar tetap sederhana, lalu beralih ke streaming untuk prototipe editor kecil. Streaming mengurangi latensi yang dirasakan: teks muncul saat dibuat, yang membantu interaktivitas. Tetapi streaming menambah kompleksitas — penanganan koneksi, hasil parsial, dan sedikit manajemen status di sisi Anda.

Saat menggunakan streaming dalam demo lokal (Node.js, gaya EventSource), saya memperhatikan dua perilaku:

  • Token pertama tiba dengan cepat, yang terasa responsif.
  • Kadang-kadang sebuah potongan parsial tiba dengan sedikit keanehan format (terpotong di tengah kalimat). Mudah ditangani tetapi perlu diketahui.

Jika Anda peduli dengan umpan balik pengguna secara langsung — UI chat, asisten langsung — mulailah dengan streaming. Untuk pembuatan batch atau skrip sederhana, non-streaming lebih mudah dan lebih sedikit rawan kesalahan.

Parameter utama: thinking mode, temperature, max tokens

Tiga parameter yang paling membentuk pengalaman saya lebih dari yang lain: thinking mode, temperature, dan max tokens. Saya menyetelnya dalam beberapa eksperimen singkat.

Thinking mode

GLM-5 mengekspos parameter “thinking mode” yang mendorong cara model menalar sebuah prompt. Anggap saja sebagai kumpulan instruksi longgar: mode yang ringan memprioritaskan kecepatan dan kesingkatan; mode yang lebih berat memprioritaskan kedalaman dan penalaran multi-langkah. Saya menggunakan mode yang lebih cepat untuk blurb marketing singkat dan mode yang lebih dalam saat meminta model untuk menguraikan tutorial multi-bagian.

Kesimpulan saya: jangan anggap thinking mode sebagai keajaiban. Ini mengubah pendekatan model, tetapi Anda tetap perlu menyusun prompt dengan baik saat membutuhkan output multi-langkah.

Temperature

Temperature mengontrol keacakan. Saya menjalankan prompt yang sama dengan 0.0, 0.3, dan 0.8. Pada 0.0 output konsisten dan aman — berguna untuk template dan pembuatan kode. Pada 0.8 model menawarkan variasi yang lebih kreatif, terkadang menghasilkan frasa yang membantu, terkadang menyimpang ke hal yang kurang relevan.

Aturan praktis yang saya gunakan: mulai dari 0.2–0.4 untuk teks produksi, 0.0 untuk tugas deterministik (seperti SQL), dan 0.6–0.8 untuk ideasi.

Max tokens

Max tokens membatasi panjang output. Saya menemukan bahwa GLM-5 memberikan jumlah token yang dapat diprediksi dalam respons. Saat saya menetapkan max_tokens terlalu rendah, model akan terpotong di tengah pemikiran — menjengkelkan saat menyusun outline poin-poin. Jika tidak yakin, saya melebihkan dan kemudian memangkasnya di sisi klien. Heuristik kecil yang saya gunakan: perkirakan kata × 1,3 = token, lalu tambahkan buffer 10%.

Penanganan kesalahan — rate limit, model not found, timeout

Kesalahan adalah tempat Anda akan belajar tentang bentuk sebuah platform.

Rate limit

WaveSpeed mengembalikan header rate-limit yang jelas dan HTTP 429. Dalam prototipe saya, saya mengalami 429 saat menjalankan tes bersamaan dari dua mesin. Saya mengatasinya dengan mengimplementasikan exponential backoff dengan jitter dan mengantrikan permintaan di sisi klien. Itu menghilangkan sebagian besar 429. Jika aplikasi Anda mengantri permintaan pengguna, tampilkan status “memproses” yang ramah daripada menampilkan kesalahan.

Model not found

Ini sering menjadi alarm palsu. Bisa berarti ID model yang salah ketik, key tanpa izin untuk model tersebut, atau model yang tidak tersedia di region Anda. Daftar periksa saya saat melihat ini:

  • Konfirmasi ID model cocok persis dengan dashboard.
  • Periksa bahwa API key memiliki cakupan/peran yang tepat.
  • Coba endpoint regional lain jika tersedia.

Timeout

Untuk generasi yang panjang atau thinking mode yang lebih berat, saya kadang-kadang mengalami timeout. Pendekatan saya bersifat konservatif: tingkatkan timeout sisi server untuk rute tertentu yang memanggil GLM-5 API dan sediakan UI progres jika streaming memungkinkan. Jika Anda bisa memecah tugas menjadi langkah-langkah yang lebih kecil (buat outline → perluas bagian), Anda mengurangi risiko timeout dan mendapatkan kegagalan yang lebih mudah dikelola.

Logging dan observabilitas

Saya mencatat request ID dari respons yang berhasil maupun gagal. Itu membuat debugging dengan dukungan menjadi jauh lebih mudah nanti.

Estimasi biaya — token per permintaan

Biaya itu penting. Saya menjalankan eksperimen kecil selama empat hari pada Januari 2026 untuk memperkirakan penggunaan token per permintaan untuk fitur konten yang menghasilkan 400–800 kata per permintaan.

Apa yang saya ukur

  • Token prompt: biasanya 40–120 tergantung ukuran konteks.
  • Token penyelesaian: untuk output 600 kata saya melihat ~750 token (model yang berbeda memiliki tokenisasi yang sedikit berbeda). Total per permintaan rata-rata 820–900 token.

Cara cepat yang saya gunakan untuk menghitung biaya:

  1. Lacak token prompt + penyelesaian dari metadata respons.
  2. Rata-ratakan selama 30 permintaan untuk kasus penggunaan tertentu.
  3. Kalikan dengan harga token model (periksa dashboard WaveSpeed Anda untuk tarif saat ini).

Hal-hal yang mengejutkan saya

  • Prompt sistem dan riwayat percakapan yang panjang bertambah dengan cepat. Jika Anda menyimpan riwayat chat, pangkas secara agresif.
  • Pengulangan selama pengembangan membuat angka saya menjadi tidak akurat: saya sarankan menggunakan key dev terpisah dan memperhatikan header token dengan seksama.

Jika Anda ingin angka kasar: untuk pembuatan salinan singkat (100–200 kata), perkirakan 150–300 token per permintaan. Untuk konten panjang (500–800 kata), perkirakan 600–900 token. Hasilnya bisa berbeda-beda, jadi ukur dengan prompt Anda yang sebenarnya.

Langkah selanjutnya — integrasikan ke pipeline gambar/video Anda

Saya tidak berhenti di teks. Pertanyaan jelas bagi saya adalah bagaimana GLM-5 cocok dalam pipeline media: keterangan, deskripsi adegan, skrip video, atau pengayaan metadata.

Beberapa pola praktis yang saya coba

  • Asisten keterangan: Kirim deskripsi adegan singkat dan minta GLM-5 untuk keterangan yang ringkas. Buat prompt tetap kaku dan temperature rendah untuk frasa yang konsisten.
  • Ekspansi skrip: Gunakan GLM-5 untuk memperluas outline berpoin menjadi skrip singkat. Saya membagi outline menjadi permintaan per adegan untuk menghindari penyelesaian yang panjang dan untuk memparalelkan pembuatan.
  • Penandaan metadata: Untuk penandaan klip secara otomatis, saya menggunakan mode deterministik dan prompt skema JSON kecil agar model mengembalikan pasangan kunci/nilai yang dapat diprediksi.

Tips integrasi

  • Jika Anda menyertakan frame atau thumbnail yang diekstrak, kirimkan ke model gambar Anda terlebih dahulu, ekstrak keterangan singkat (3–6 kata), lalu gunakan keterangan itu sebagai konteks untuk GLM-5. Ini mengurangi ukuran prompt dan menjaga token tetap lebih rendah.
  • Buat permintaan batch sebisa mungkin: kirim beberapa tugas singkat secara paralel daripada satu prompt yang panjang. Seringkali lebih murah dan lebih cepat.
  • Tambahkan human-in-the-loop untuk pengeditan akhir. Bagi kreator dan pemasar yang mengelola berbagai platform, penghematan datang dari berkurangnya pekerjaan membosankan, bukan dari output yang sempurna.

Siapa yang cocok, dan siapa yang tidak

GLM-5 cukup solid jika Anda menginginkan model teks yang fleksibel dan dapat dikontrol: tugas deterministik, ekspansi konten, dan pembuatan metadata. Ini kurang menarik jika Anda membutuhkan output ad-hoc yang sangat murah dalam skala besar tanpa pemantauan token.

Jika Anda penasaran, uji dalam fitur yang terisolasi dengan prompt nyata dan ukur token serta latensi. Bagi saya, model ini menemukan tempatnya yang tenang dalam fitur konten kecil: tidak mencolok, tetapi memangkas langkah-langkah dan membiarkan sisa alur kerja saya tetap utuh.

Satu pemikiran yang masih tersisa: saya terus menginginkan halaman status endpoint resmi dengan angka latensi per region. Jika Anda membangun UI real-time, visibilitas itu membuat perbedaan. Untuk sekarang, beberapa ping regional cepat dan logging token sudah cukup.