← Blog

Bangun Pipeline Kreatif AI dengan GLM-5 + WaveSpeed

Bangun pipeline kreatif AI lengkap: GLM-5 menulis prompt, WaveSpeed menghasilkan gambar dan video, semuanya diatur melalui API.

9 min read
Bangun Pipeline Kreatif AI dengan GLM-5 + WaveSpeed

Halo, saya Dora. Saya terus berpindah-pindah alat hanya untuk menyelesaikan sebuah klip produk singkat. Brief di satu tempat. Gambar di tempat lain. Video di tempat yang berbeda. Catatan tersebar ke mana-mana. Semuanya tidak sulit, tapi… berantakan. Jadi saya mencoba sesuatu yang lebih sederhana: jalur yang konsisten dari awal hingga akhir yang membawa saya dari brief polos ke klip jadi tanpa harus terus-menerus berpindah alat. Saya menyebutnya pipeline kreatif GLM-5. Saya mengujinya selama dua minggu, pada tiga konsep singkat dan beberapa potongan kerja klien yang tidak biasa. Ini bukan hal yang mencolok. Tapi memang membuat pekerjaan terasa lebih ringan.

Apa yang kita bangun (gambaran umum dari awal hingga akhir)

Saya menginginkan satu jalur dari brief singkat ke video 6–10 detik, dengan ruang untuk iterasi kecil namun tanpa pencarian fitur yang tidak perlu. Bentuknya seperti ini:

  • Saya menulis brief sederhana (dua atau tiga kalimat). Nada, subjek, dan batasan apa pun.
  • GLM-5 mengubahnya menjadi deskripsi adegan yang jelas.
  • FLUX atau Seedream menghasilkan gambar diam menggunakan WaveSpeed agar inferensi tetap dapat diprediksi.
  • WAN 2.5 atau Seedance membangun gerakan dari gambar diam yang telah disetujui.
  • GLM-5 meninjau output dan menyarankan pengeditan kecil, bukan penulisan ulang.

Beberapa aturan yang saya tetapkan untuk diri sendiri:

  • Jaga prompt tetap singkat dan terstruktur. Saya menggunakan kolom yang sama setiap saat: Subjek, Pengaturan, Gaya, Catatan gerakan, Batasan.
  • Batch kecil. Maksimal tiga konsep per sesi. Itu membuat pikiran saya tetap jernih dan memudahkan perbandingan.
  • Bekukan seed ketika saya menyukai sesuatu. Variasi belakangan, bukan saat itu juga.

Dalam praktiknya, pipeline ini mengurangi klik dan keragu-raguan lebih dari sekadar mengurangi waktu mentah. Pada sesi ketiga, saya memangkas sekitar 15 menit dari tipikal perjalanan konsep-ke-klip selama 90 menit. Kemenangan yang lebih besar bersifat mental: lebih sedikit percabangan, lebih sedikit detour “bagaimana kalau saya coba X”. Itulah yang saya cari.

Langkah 1 — GLM-5 menghasilkan deskripsi adegan dari brief

Saya mulai dengan brief kecil: “Cahaya pagi yang hangat pada cangkir keramik di tepi jendela. Uap lembut. Suasana minimalis dan tenang. Untuk story sosial 9:16. Warna merek: aksen teal yang lembut.”

GLM-5 unggul dalam penulisan kreatif dengan fleksibilitas gaya, menurut dokumentasi resmi Zhipu AI. Yang saya butuhkan dari GLM-5 bukan kecerdasan. Saya menginginkan struktur: kartu adegan yang konsisten yang dapat diikuti oleh renderer. Berikut format yang saya minta dan tetap gunakan:

  • Judul adegan
  • Tipe pengambilan gambar (misalnya, medium close-up)
  • Komposisi (rule of thirds, catatan ruang negatif)
  • Pencahayaan
  • Palet
  • Tekstur/material
  • Catatan gerakan (jika ada)
  • Batasan ketat (tidak ada wajah, tidak ada teks dalam frame, dimensi output)

Percobaan pertama terasa terlalu panjang. GLM-5 terlalu banyak menjelaskan suasana. Saya memberinya arahan: “Jaga setiap kolom dalam satu kalimat. Gunakan kata benda spesifik dan istilah kamera.” Itu memperbaiki sebagian besar masalah. Pada sesi kedua, saya sudah mendapatkan kartu yang ringkas yang terhubung dengan bersih ke prompt gambar.

Kemenangan kecil: Saya meminta GLM-5 untuk menambahkan item “yang tidak diperbolehkan” yang pernah membuat saya tersandung sebelumnya (tangan ekstra, logo yang menyusup, pantulan dengan wajah). Itu mengurangi pembersihan di kemudian hari. Tidak sempurna, tapi lebih sedikit kejutan.

Bagian ini tidak menghemat waktu di awal: ia menghemat kelelahan penilaian di kemudian hari. Saya tidak menebak di antara lima gaya prompt yang berbeda. Saya punya satu.

Langkah 2 — FLUX / Seedream menghasilkan gambar melalui WaveSpeed

Saya menjalankan FLUX dan Seedream karena keduanya memiliki karakter yang berbeda. FLUX memberi saya gambar diam yang bersih dan berorientasi desain. Seedream sedikit lebih mengembara tetapi terkadang menemukan tekstur indah pada keramik dan kayu. Saya menjalankan keduanya melalui WaveSpeed agar saya dapat menstandarisasi langkah, seed, dan scheduler tanpa harus mengelola lusinan parameter.

Catatan lapangan:

  • Kemampuan pengulangan WaveSpeed sangat penting. Ketika saya menyukai sebuah frame, saya membekukan seed dan hanya menyesuaikan panduan dan langkah. Itu membuat “kecelakaan yang bagus” tetap dapat direproduksi.
  • Saya menetapkan rasio aspek pada output target (9:16) sejak awal. Pemotongan belakangan selalu membuat uap terlihat aneh.
  • Saya menjaga prompt sesuai dengan yang berasal dari GLM-5. Tidak ada hiasan puitis. Steril, tapi mengurangi tepi yang aneh.

Gesekan: tangan dan jendela. Pantulan suka menciptakan orang. Saya menambahkan “tidak ada sosok, tidak ada siluet, tidak ada pantulan manusia” ke dalam batasan dan mendorong panduan negatif yang sedikit lebih tinggi. Itu memangkas kebisingan.

Waktu pemrosesan per gambar diam berkisar dari cepat hingga “waktu isi ulang kopi” tergantung pada mesin saya. Saya menghasilkan 8–12 kandidat per adegan, kemudian memotong dengan keras menjadi 2. Jika saya tidak bisa memilih dengan cepat, itu berarti prompt tidak cukup ketat. Kembali ke GLM-5 dengan sedikit pengeditan daripada terus mencari gambar.

Langkah 3 — WAN 2.5 / Seedance menghasilkan video dari gambar diam

Di sinilah saya biasanya kehilangan arah: terlalu banyak opsi gerakan. Saya membatasi diri pada dua mode: parallax ringan dan gerakan kamera yang lembut. WAN 2.5 menangani parallax dengan meyakinkan. Seedance lebih baik dalam mikro-gerakan seperti uap dan pergeseran fokus lembut.

Daftar periksa serah terima dari gambar diam ke gerak:

  • Ekspor PNG bersih pada resolusi target (1080x1920 untuk pengujian).
  • Berikan catatan gerakan yang ketat (misalnya, “dolly-in 2–3°, jaga pegangan cangkir di sepertiga, drift uap yang ramah-loop”).
  • Batasi durasi pada 6–8 detik. Klip panjang menjadi tidak jelas dan menarik perhatian pada artefak model.

Kejutan:

  • Flicker tekstur. Glasir berbutir terlihat bagus sebagai gambar diam dan berisik dalam gerakan. Saya mengurangi intensitas tekstur di langkah 2 ketika saya tahu saya akan menganimasinya.
  • Pembengkokan tepi di dekat sudut. Komposisi terpusat lebih tahan. Cangkir di luar sumbu membengkok seperti karet.

Hasil terbaik terasa tak terlihat. Ketika berhasil, saya berhenti memikirkan model dan hanya menonton cahaya bernafas. Ketika tidak berhasil, semuanya hancur dengan cepat, biasanya karena saya meminta terlalu banyak gerakan.

Langkah 4 — GLM-5 meninjau output dan menyarankan iterasi

Saya membawa GLM-5 kembali sebagai mata kedua yang tenang. Saya memintanya untuk:

  • Membandingkan klip final dengan brief asli.
  • Menandai ketidaksesuaian (palet, suasana, batasan).
  • Mengusulkan satu perubahan kecil per klip, bukan lima.

Ini lebih membantu dari yang saya perkirakan. GLM-5 secara konsisten menemukan penyimpangan warna. Pada satu sesi, ia mencatat bahwa aksen teal terasa dingin di bawah cahaya hangat: pergeseran rona halus di latar belakang memperbaikinya.

Tetapi terkadang juga terlalu jauh, menyarankan prop baru atau overlay teks. Saya menolaknya dengan menetapkan aturan: “Tidak ada kata benda baru. Sesuaikan hanya pencahayaan, warna, atau intensitas gerakan.” Itu membuat iterasi tetap terarah.

Loop di sini berjalan cepat: satu putaran catatan, satu putaran perbaikan. Jika saya masih tidak puas, saya menyimpan konsepnya daripada terus memaksanya. Pengekangan itu mencegah pipeline dari membengkak.

Kode lengkap (Python, WaveSpeed SDK)

Saya menjaga orkestrasi tetap sederhana. Satu skrip Python menghubungkan langkah-langkah dengan beberapa helper kecil:

  • Kelas Brief yang menyimpan Subjek, Pengaturan, Gaya, Gerakan, Batasan.
  • Helper glm5() yang memformat prompt dan mengurai kartu adegan menjadi dict.
  • Helper images() yang memanggil WaveSpeed dengan FLUX atau Seedream, meneruskan seed, langkah, dan prompt negatif.
  • Helper video() yang menyerahkan gambar diam ke WAN 2.5 atau Seedance dengan catatan gerakan.
  • Helper review() yang mengirim thumbnail atau gif pendek kembali ke GLM-5 untuk catatan keselarasan.

Dua detail menjaganya tetap stabil:

  • Saya menulis hasil ke disk dengan jalur yang deterministik: run_id/scene_01/flux_seed1234.png. Itu memudahkan penelusuran balik.
  • Saya mencatat parameter di sebelah output dalam file YAML kecil. Ketika sebuah klip terlihat benar, saya tahu persis alasannya.

Saya tidak menyertakan kode di sini untuk menghindari membuat ini menjadi tempat tempel kode. Struktur di atas sudah cukup untuk membuatnya kembali dengan stack Anda sendiri. Jika Anda sudah menggunakan WaveSpeed, ini sebagian besar tentang memilih di mana harus membekukan keacakan dan di mana membiarkan variasi.

Rincian biaya untuk 10 aset

Biaya sangat bervariasi berdasarkan penyedia dan pengaturan model, jadi anggap ini sebagai rentang praktis dari pengujian saya, bukan janji. Sepuluh aset di sini berarti 10 klip vertikal pendek (masing-masing satu adegan), dengan 8–12 kandidat gambar diam per adegan.

  • Pembuatan prompt dan peninjauan GLM-5: ringan. Harga API GLM-5 adalah $1,00/M input dan $3,20/M output, jauh lebih murah daripada Claude Opus 4.6 ($5/M input, $25/M output). Untuk sesi saya, setiap aset menggunakan sekitar 2–3 interaksi brief ditambah satu tinjauan. Jika Anda menggunakan harga berbasis penggunaan, ini biasanya dalam hitungan dolar rendah untuk 10 aset.
  • Pembuatan gambar: faktor variasi utama. Pada langkah sedang dengan 8–12 kandidat per adegan, saya melihat biaya mendarat di single digit menengah hingga tinggi per aset pada paket bayar-per-inferensi. Lebih rendah jika Anda batch pada GPU sendiri.
  • Pembuatan video: juga bervariasi. Klip parallax sederhana lebih murah; gerakan yang bersifat fisika lebih mahal. Dalam catatan saya, ini keluar serupa dengan gambar diam per aset, terkadang sedikit lebih tinggi.

Total kasar per 10 aset, model campuran, pengaturan konservatif: ratusan rendah jika sepenuhnya berbasis cloud dengan variasi yang banyak, jauh lebih sedikit jika Anda hosting sendiri langkah gambar dan hanya membayar untuk gerakan. Jika Anda ketat, 6 kandidat alih-alih 12, satu putaran gerakan, Anda bisa memotong sepertiga. Jika Anda mengejar variasi, biayanya cepat berlipat ganda. Seed dan aturan iterasi kecil membantu mengendalikan tagihan.

Perluasan: tambahkan LoRA, upscaling, pemrosesan batch

Setelah fondasi terasa stabil, saya mencoba beberapa ekstensi.

  • LoRA untuk tekstur merek: Saya melatih paket aksen kecil untuk glasir keramik dan kertas latar belakang. Ini membantu menjaga konsistensi material di berbagai adegan. Triknya adalah bobot yang sederhana. LoRA yang terlalu berat menarik semuanya ke tampilan yang sama.
  • Upscaling ringan: Saya hanya melakukan upscale setelah gerakan, bukan sebelumnya. Upscale sebelum gerakan membuat artefak semakin keras. Upscale setelah gerakan dengan model yang ringan dan mempertahankan detail menjaga tepi tetap bersih tanpa menciptakan pori-pori pada cangkir.
  • Pemrosesan batch: Saya menambahkan antrean di mana setiap konsep bergerak sebagai satu unit. Tidak ada pencampuran langkah dari brief yang berbeda. Kedengarannya ketat, tapi ini menyelamatkan saya dari spiral “coba sekali lagi saja”.

Beberapa hal yang tidak saya pertahankan:

  • Auto-captioning di dalam pipeline. Ini menarik visual ke arah “konten” alih-alih gambar-yang-bergerak. Saya melakukan caption di luar, mendekati waktu penerbitan.
  • Pencampuran gaya agresif. Terlihat bagus dalam grid dan melelahkan dalam gerakan.

Siapa yang cocok dengan ini: para pembuat yang menyukai jalur yang dapat diprediksi dan keuntungan kecil yang stabil. Yang tidak akan terkesan: orang yang mengejar tontonan atau seni dengan variasi tinggi. Tidak apa-apa.

Saya bertujuan membuat pipeline kreatif GLM-5 menjadi lebih tenang, bukan lebih cerdas. Di hari-hari yang baik, rasanya seperti itu: sebuah cangkir, sedikit cahaya, dan lebih sedikit tab yang terbuka dari biasanya. Saya terima itu.