← Blog

WAN 2.7 Kontrol Frame Pertama & Terakhir: Panduan Builder

Cara menggunakan kontrol frame pertama dan terakhir WAN 2.7 untuk pembuatan video yang dapat diprediksi — persiapan input, parameter API, dan tips alur kerja produksi.

9 min read
WAN 2.7 Kontrol Frame Pertama & Terakhir: Panduan Builder

Hei, guys, Dora sudah datang. Saya terus melihat tim-tim mendeskripsikan kontrol frame pertama/terakhir sebagai “kamu cukup unggah dua gambar.” Itu seperti mendeskripsikan antrean pekerjaan async sebagai “kamu cukup menunggu.” Mekanismenya tidak sulit — tetapi keputusan desain input adalah tempat di mana sebagian besar alur kerja produksi diam-diam berantakan.

Panduan ini ditujukan bagi para pembangun yang membutuhkan output yang dapat direproduksi, bukan hanya demo yang berhasil sekali.

Apa yang Sebenarnya Dilakukan oleh Kontrol Frame Pertama & Terakhir

Masalah yang Dipecahkannya vs I2V Standar

Image-to-video (I2V) standar menambatkan frame pembuka dan kemudian model berimprovisasi. Hasilnya adalah apa yang sering disebut komunitas sebagai “drift” — subjek, posisi kamera, atau pencahayaan secara bertahap menyimpang dari keadaan target yang Anda bayangkan. Untuk demo produk atau urutan narasi dengan titik akhir yang diperlukan, ini mahal untuk diperbaiki dalam post-production.

Pendekatan FLF2V dari WAN menggunakan mekanisme penyesuaian kontrol tambahan: frame pertama dan terakhir diperlakukan sebagai kondisi kontrol, dan fitur semantik dari kedua gambar disuntikkan ke dalam proses generasi. Ini menjaga konsistensi gaya, konten, dan struktur sementara model bertransformasi secara dinamis di antara keduanya.

Bagaimana Kedua Frame Digunakan Selama Generasi

Model tidak sekadar menginterpolasi nilai piksel. Model menggunakan fitur semantik CLIP dan mekanisme cross-attention untuk menjaga video tetap stabil — desain ini telah terbukti mengurangi jitter video dibandingkan pendekatan dengan satu anchor. Frame pertama Anda mendefinisikan keadaan awal; frame terakhir Anda membatasi tujuan. Jalur gerak di antara keduanya disimpulkan, bukan ditentukan, yang merupakan kekuatan sekaligus mode kegagalan utama.

Apa yang Disimpulkan Model tentang Jalur di Antara Keduanya

Prompt teks Anda memandu bagaimana transisi terjadi — bukan hanya bahwa itu terjadi. Jika prompt Anda mengatakan “produk berputar perlahan dan memperlihatkan bagian depannya,” deskripsi gerak itu membentuk jalur yang disimpulkan. Tanpa prompt, model masih akan mencoba transisi yang masuk akal, tetapi Anda akan memiliki kontrol yang jauh lebih sedikit atas perubahan arah, pergerakan kamera, atau pacing.

Persiapan Input

Persyaratan Spesifikasi Gambar

Model menggunakan rasio aspek frame pertama Anda sedekat mungkin dengan output target Anda. Untuk input 3:4 (750×1000), pengaturan output 720P akan menghasilkan sesuatu sekitar 816×1104 — bukan persis 3:4. Jika Anda membutuhkan rasio yang tepat, rencanakan untuk memotong atau letterbox dalam post-production. Untuk seri WAN secara umum, 720p (1280×720 atau setara potret) adalah resolusi yang direkomendasikan untuk output berkualitas; menjalankan resolusi yang lebih kecil adalah strategi yang valid untuk iterasi pengujian tetapi bukan untuk hasil akhir.

Format: PNG atau JPEG berkualitas tinggi. Hindari thumbnail yang terkompresi sebagai frame pertama/terakhir — artefak kompresi memperkenalkan noise yang harus diinterpretasikan oleh model sebagai informasi visual yang disengaja.

Strategi Pemasangan Frame yang Berhasil

Pasangan terkuat berbagi tiga hal: arah sumber cahaya yang konsisten, karakteristik depth of field yang cocok, dan subjek yang secara spasial masuk akal di kedua posisi. Shot produk dalam cahaya studio difus yang dipasangkan dengan frame akhir yang menunjukkan produk yang sama pada sudut yang sedikit berbeda bekerja dengan baik. Packshot ke hero shot lifestyle bekerja jika setup pencahayaannya serupa.

Untuk urutan narasi, pikirkan pasangan sebagai mendefinisikan sebuah kata kerja: buka → tutup, sebelum → sesudah, merakit → selesai. Semakin bersih hubungan semantiknya, semakin koheren jalur yang disimpulkan.

Apa yang Membuat Pasangan Frame Buruk

Tiga penyebab umum:

Arah pencahayaan yang tidak konsisten. Jika frame pertama Anda memiliki key light di 45° kiri dan frame terakhir Anda diambil dengan cahaya overhead, model akan mencoba bertransisi antara dua lingkungan bayangan yang berbeda. Hasilnya biasanya lompatan sumber cahaya di tengah klip yang terlihat seperti kesalahan render.

Ketidaksesuaian spasial. Shot establishing yang lebar dipasangkan dengan close-up yang ketat memaksa model untuk menciptakan gerakan kamera. Kadang itu disengaja; biasanya tidak. Jaga jarak fokus tetap kurang lebih konsisten kecuali Anda secara eksplisit meminta zoom atau pull.

Petunjuk kedalaman yang bertentangan. Bokeh di frame pertama, semuanya dalam fokus di frame terakhir — model akan menginterpretasikan ini sebagai perubahan depth of field dan mencoba menganimasinya. Itu tidak selalu salah, tetapi jarang seperti yang Anda maksudkan.

Implementasi API

Berikut ini mencerminkan pola FLF2V yang terdokumentasi untuk seri WAN. Verifikasi nama parameter saat ini dan jalur endpoint di dokumentasi Alibaba Cloud Model Studio sebelum penggunaan produksi. Spesifik API WAN 2.7 harus dikonfirmasi saat peluncuran.

Struktur Payload

Pola inti melibatkan dua input gambar — satu melalui URL publik atau jalur file lokal — yang diteruskan sebagai first_frame_url dan last_frame_url, bersama dengan prompt teks dan pengaturan resolusi.

Pola Permintaan Python (Pseudocode)

# Verifikasi nama model dan endpoint saat peluncuran — nama berubah antar versi
import os
from dashscope import VideoSynthesis

response = VideoSynthesis.async_call(
    model="wan2.x-flf2v-<verify-at-launch>",  # konfirmasi string model yang tepat
    first_frame_url="https://your-cdn.com/start.png",
    last_frame_url="https://your-cdn.com/end.png",
    prompt="Fixed camera. Begin from first image, end at last image. [describe motion]",
    negative_prompt="flicker, warping, blur",
    resolution="720P",  # verifikasi nilai yang diterima
    # parameter seed: kunci ini setelah Anda mendapatkan run yang bagus
)
task_id = response.output.task_id

Penanganan Async untuk Pekerjaan yang Lebih Lama

Tugas generasi image-to-video biasanya berjalan 1–5 menit. API menggunakan pola async dua langkah: kirim tugas, dapatkan task ID, lalu polling untuk hasilnya. Bangun polling ke dalam pipeline Anda sejak awal. Jangan asumsikan perilaku sinkron bahkan untuk panggilan uji — timeout akan diam-diam membuang hasil dalam implementasi yang naif.

Alur Kerja Produksi: Metode Draft-ke-Final

Langkah 1 — Bangun Pasangan Referensi dan Jalankan Uji Coba

Mulailah dengan satu pasangan. Jangan batch sampai Anda telah melihat satu output dari awal hingga akhir. Gunakan konten target Anda — bukan gambar stok placeholder — karena karakteristik spasial dan pencahayaan perlu mewakili library aset Anda yang sebenarnya.

Langkah 2 — Validasi Jalur Gerak Sebelum Batch

Tonton klip penuh sekali dengan kecepatan 0,5x. Cari: jitter di tengah klip, drift identitas subjek sekitar frame 50–70% melalui klip (di sinilah sebagian besar artefak terkonsentrasi), dan diskontinuitas pencahayaan. Jika Anda melihat salah satu dari ini, perbaiki pasangan input sebelum menyentuh prompt.

Langkah 3 — Kunci Seed Terbaik Anda untuk Konsistensi

Setelah Anda mendapatkan output yang bersih, catat nilai seed. Model FLF2V menerima prompt opsional untuk memandu logika aksi dan transformasi di antara frame. Seed yang terkunci plus prompt yang terkunci memberi Anda unit generasi yang dapat direproduksi yang dapat Anda terapkan di berbagai pasangan input yang serupa. Inilah yang membuat produksi batch dapat diprediksi daripada probabilistik.

Langkah 4 — Skalakan ke Generasi Batch

Struktur batch Anda sebagai: satu “pasangan uji” kanonik yang berfungsi sebagai jangkar kualitas Anda, lalu pasangan varian yang dihasilkan dari setup pengambilan gambar yang sama dan terkontrol. Halaman model Hugging Face untuk WAN FLF2V mendokumentasikan versi open-weight untuk tim yang menjalankan inferensi lokal bersama panggilan API.

Di Mana Fitur Ini Cocok (dan Di Mana Tidak)

Terbaik untuk: urutan demo produk di mana titik akhir penting (packshot → feature reveal), shot kontinuitas narasi dengan sebelum/sesudah yang jelas, jalur kamera terkontrol di mana Anda membutuhkan stabilitas spasial di beberapa klip dalam satu seri.

Tidak ideal untuk: gerak yang sangat dinamis dengan perubahan arah tajam (model akan memperhalusnya, sering kehilangan dramatisasi), transisi spasial yang ambigu di mana frame pertama dan terakhir tidak berbagi hubungan semantik yang jelas, atau skenario yang membutuhkan timing yang akurat per frame — model mengontrol pacing, bukan Anda.

Pola Kegagalan Umum & Perbaikan

Artefak gerak di tengah klip. Biasanya disebabkan oleh ketidaksesuaian spasial dalam pasangan input. Model “berkomitmen” pada jalur interpolasi lebih awal, dan inkonsistensi muncul sekitar titik tengah. Perbaikan: perketat hubungan antara frame sebelum mengubah prompt.

Inkonsistensi gaya frame. Jika frame pertama Anda adalah render bergaya dan terakhir Anda adalah foto, model akan mencoba memadukan gaya visual. Ini jarang menghasilkan output yang bersih. Cocokkan perlakuan gambar — keduanya render, keduanya foto, keduanya ilustrasi.

Model mengabaikan frame terakhir. Ini terjadi ketika prompt mendeskripsikan gerak yang secara logis tidak bisa berakhir di frame terakhir Anda. Model memprioritaskan koherensi prompt daripada kepatuhan frame ketika keduanya bertentangan. Tulis prompt Anda untuk tiba di frame terakhir, bukan hanya berangkat dari yang pertama.

FAQ

  1. Bisakah saya menggunakan first/last frame dengan text-to-video atau hanya I2V? Mode FLF2V adalah ekstensi dari I2V. Kedua input frame diperlukan. T2V standar tidak menerima batasan frame akhir secara desain.
  2. Format gambar apa yang paling baik untuk input frame? PNG untuk apa pun yang membutuhkan tepi bersih atau penanganan transparansi. JPEG berkualitas tinggi (>90 kualitas) baik untuk fotografi. Hindari WebP jika platform Anda belum mengkonfirmasi dukungan.
  3. Apakah ini lebih mahal dari I2V standar? Harga bergantung pada resolusi — 720p biayanya sekitar dua kali lipat 480p per generasi. FLF2V sendiri tidak membawa premium terpisah dalam harga yang terdokumentasi, tetapi konfirmasi dengan platform spesifik Anda.
  4. Bagaimana cara menangani gerak yang membutuhkan perubahan arah tajam? Pecah urutan menjadi beberapa klip dengan frame perantara sebagai titik akhir. Rangkai dalam post-production daripada mencoba mendapatkan satu generasi untuk menangani gerak yang tidak kontinu.
  5. Bisakah saya menggabungkan ini dengan mode input 9-grid? Ini adalah mode input yang terpisah. WAN 2.7 mendukung kontrol first/last frame dan image-to-video 9-grid sebagai fitur yang berbeda. Keduanya saat ini tidak digabungkan dalam satu panggilan — verifikasi saat peluncuran jika ini berubah.

Kesimpulan

Ruang desain yang menarik dengan kontrol first/last frame bukan pada panggilan API — melainkan pada pasangan input. Di situlah leverage produksi yang sebenarnya berada, dan di situlah sebagian besar tim kurang berinvestasi. Pasangan frame yang dirancang dengan baik dengan hubungan semantik yang jelas secara konsisten akan mengungguli prompt yang sempurna yang dipasangkan dengan input yang tidak sesuai.

Untuk tim yang membangun pipeline batch: perlakukan library pasangan input Anda sebagai aset kelas pertama, bukan renungan belakangan. Setelah Anda memiliki seed yang terkunci dan format pasangan yang tervalidasi, sisi generasi menjadi rutinitas. Komunitas ComfyUI telah mendokumentasikan konfigurasi alur kerja WAN FLF2V secara mendetail jika Anda juga menjalankan inferensi lokal bersama panggilan API — layak dibaca untuk wawasan tingkat node tentang bagaimana pengkondisian frame sebenarnya bekerja.

Saya terus kembali pada sesuatu yang diam di sini: batasan adalah fiturnya. Memberikan model sebuah tujuan memaksa Anda untuk lebih tepat tentang apa yang sebenarnya Anda inginkan. Itu bukan batasan — itu adalah disiplin yang cenderung menghasilkan output yang lebih baik daripada generasi terbuka yang pernah ada.

Terus eksplorasi alur kerja video AI: