D
P
0
← Semua artikel Read in English

Layout, Overflow & Cascade CSS

Klip 5 Detik Lolos, Versi 8 Detik dari Konten yang Sama Ditolak Filter NSFW

· · 5 menit baca
Klip 5 Detik Lolos, Versi 8 Detik dari Konten yang Sama Ditolak Filter NSFW

Yang saya kerjakan waktu itu aset hero sinematik untuk sebuah struktur luar ruang, dan bidikan yang paling penting diambil dari sisi bawahnya saat matahari terbenam. Warna hangat keemasan itu bukan pilihan gaya yang bisa saya tukar begitu saja, di situ justru seluruh nilai asetnya.

Sebelum sampai ke urusan filter, ada satu salah paham yang menghabiskan waktu di awal. Generatornya bukan MCP, jadi mencarinya di daftar /mcp cuma bikin muter. Dia CLI lokal yang dipanggil dari shell dengan path lengkap binernya, dan begitu itu jelas, sisanya jadi urusan menghafal beberapa perintah saja.

Alatnya CLI, bukan MCP

Dua perintah pertama yang saya jalankan tiap sesi cuma memeriksa keadaan. Satu untuk memastikan sesinya masih login, satu lagi untuk membaca daftar model yang tersedia. Daftar modelnya dipisah per jenis keluaran lewat flag.

C:\tmp\gencli\gencli.exe account status
# akun yang login duduk di paket max
 
C:\tmp\gencli\gencli.exe model list --video
C:\tmp\gencli\gencli.exe model list --image

Perintah pembuatannya sendiri berbentuk seperti ini, dengan dua gambar sebagai bingkai awal dan akhir.

C:\tmp\gencli\gencli.exe generate create dualkey_v2 `
  --prompt "..." `
  --start-image awal.png `
  --end-image akhir.png `
  --wait --wait-timeout 18m

Flag medianya menerima UUID atau path berkas lokal, dan path lokal terunggah sendiri tanpa langkah upload terpisah. Flag --wait menahan prosesnya sampai selesai lalu mencetak URL hasilnya.

Ada satu jebakan kecil di bagian mencetak itu. Kalau keluarannya dilewatkan Tee-Object, teksnya ditulis sebagai UTF-16 dan URL-nya sampai ke saya dalam bentuk karakter berspasi. Menyusunnya ulang dengan mata itu pekerjaan yang tidak perlu ada, jadi saya tarik saja pakai regex https://\S+\.mp4. Untuk generasi yang panjang, perintahnya saya jalankan dengan run_in_background: true supaya hasilnya mendarat di berkas keluaran task dan saya tidak menunggui terminal.

Peta model dan harganya

Daftar model yang saya pegang ditandai terverifikasi per Juni 2026, dan yang penting buat pekerjaan ini cuma satu pembagian: model mana yang menerima dua keyframe, dan model mana yang cuma menerima satu gambar.

Yang menerima bingkai awal sekaligus bingkai akhir ada dua. dualkey_v2 berharga 22,5 kredit untuk 5 detik, mendukung --duration 5|8|10|12, dan naik sampai 54 kredit di 12 detik. Ada juga dualkey_lite yang jauh lebih murah di 7,5 kredit, tapi kualitasnya jelek dan saya coret sejak percobaan awal.

Dua titik harga tadi menarik kalau dibagi durasinya. 22,5 dibagi 5 adalah 4,5, dan 54 dibagi 12 juga 4,5. Jadi di rentang yang tercatat itu harganya lurus, 4,5 kredit per detik keluaran, dan tidak ada diskon untuk durasi panjang.

Sisanya cuma menerima satu gambar: single_a, single_b, single_c, dan single_turbo. Untuk sunting gambar ada edit_lite di 1,5 kredit dan edit_pro.

cost menerima bentuk panggilan yang ditolak create

Subperintah generate cost gratis, jadi wajar kalau dia jadi tempat pertama untuk mencoba bentuk panggilan. Masalahnya dia lebih longgar daripada perintah yang sungguhan.

# ini lolos dan mengembalikan estimasi kredit
C:\tmp\gencli\gencli.exe generate cost single_turbo --prompt "..." `
  --start-image awal.png --end-image akhir.png
 
# ini ditolak, modelnya cuma menerima satu gambar
C:\tmp\gencli\gencli.exe generate create single_turbo --prompt "..." `
  --start-image awal.png --end-image akhir.png

Untuk single_turbo, endpoint cost menerima kombinasi start plus end dan mengembalikan angka dengan tenang, padahal create yang sungguhan menolak dua gambar. Sejak itu aturannya saya balik: bentuk panggilan divalidasi lewat create sungguhan, dan cost cuma dipakai untuk apa yang memang dia janjikan, yaitu memperkirakan kredit.

Kegagalannya melekat ke durasi, bukan ke konten

Ini bagian yang sebenarnya saya cari waktu mulai menulis catatan ini. Untuk konten berpalet hangat, generasi 5 detik lolos, sementara 8, 10, dan 12 detik gagal secara konsisten di filter moderasi NSFW. Yang bikin polanya jelas, kegagalan itu terjadi pada konten yang sama, bukan pada konten yang berbeda. Prompt yang sama, bingkai awal dan akhir yang sama, cuma angka --duration yang berganti.

Penjelasan yang saya pegang untuk ini tetap dugaan, bukan sesuatu yang bisa saya buktikan dari luar. Dugaannya, pengklasifikasi moderasinya bekerja per bingkai, dan yang memicunya adalah kombinasi cahaya hangat atau keemasan dengan bentuk organik gelap di sisi bawah, karena bentuk seperti itu terbaca sebagai kulit. Bidikan sisi bawah saat matahari terbenam kebetulan persis campuran itu.

Kalau pemeriksaannya memang per bingkai, sisanya jadi soal jumlah lemparan dadu. Makin panjang durasinya, makin banyak bingkai yang harus lolos, dan makin besar peluang salah satu di antaranya kena. Itu cocok dengan yang saya lihat, walaupun cocok belum berarti terbukti.

Dua jalan keluar

Jalan pertama yang jelas adalah mengubah prompt-nya. Meminta palet yang lebih dingin atau cahaya siang memang membersihkan moderasinya, dan generasi panjang jadi bisa lewat. Harganya suasananya berubah, dan untuk aset yang seluruh nilainya ada di cahaya senja, itu bukan pertukaran yang mau saya ambil.

Jalan kedua yang akhirnya saya pakai adalah membiarkan modelnya bekerja di durasi yang aman, lalu memanjangkan hasilnya sendiri. Generate di 5 detik, lalu interpolasi geraknya jadi 10 detik dengan ffmpeg.

ffmpeg -i klip-5s.mp4 \
  -vf "minterpolate=fps=48:mi_mode=mci:...,setpts=2.0*PTS" \
  klip-10s.mp4

Perintahnya bisa dibaca sebagai hitungan. Klip 5 detik disintesis dulu ke 48 bingkai per detik, jadi ada 48 dikali 5 sama dengan 240 bingkai. Lalu setpts=2.0*PTS membentangkan cap waktunya jadi dua kali lipat, sehingga 240 bingkai yang sama sekarang mengisi 10 detik, atau 24 bingkai per detik. Tidak ada bingkai yang hilang, yang berubah cuma kecepatan pemutarannya, dan bingkai sintesis dari mi_mode=mci yang mengisi celah geraknya.

Suasana hangatnya utuh karena tidak ada satu piksel pun yang saya minta ke model dengan palet berbeda. Waktu hasilnya saya periksa, garis-garis berulang di strukturnya tetap bersih, dan itu bagian yang paling saya khawatirkan karena interpolasi gerak biasanya paling gampang meleleh di pola berulang.

Kalau dibaca lewat harga per detik tadi, jalan ini juga yang paling murah. 5 detik adalah titik terpendek yang tercatat di daftar durasi, dan pada laju 4,5 kredit per detik dia unit keluaran termurah yang memang dibiarkan lewat oleh filternya.

Yang saya bawa pulang