Cara Membuat Video UGC Produk dengan Google Flow API

8 menit baca • 4 September 2026 (6 November 2026)

useapi.net adalah API pihak ketiga. Kami tidak berafiliasi dengan Google dan tidak disahkan oleh Google.

Daftar isi

  1. Pendahuluan
  2. Harga
  3. Tentang id di dalam request
  4. Langkah 1: satu lembar untuk setiap produk
  5. Langkah 2: presenter
  6. Langkah 3: still, seluruh adegan dalam satu frame
  7. Langkah 4: satu klip per produk, semuanya dari still
  8. Langkah 5: upscale ke 1080p
  9. Langkah 6: menggabungkannya
  10. Yang perlu diketahui
  11. Rincian biaya
  12. Jalankan sendiri
  13. Pertanyaan yang sering diajukan
  14. Kesimpulan

Pendahuluan

Video UGC produk bisa dibuat dari awal sampai akhir lewat Google Flow API useapi.net dengan 45 kredit Flow, tanpa ada yang diproses secara lokal. Seorang presenter rekaan memperlihatkan tiga produk rekaan ke kamera.

UGC adalah gaya konten buatan pengguna yang memenuhi feed media sosial dan pustaka iklan: satu orang berbicara ke kamera ponsel, untuk menjual produk, menghibur, atau sekadar iseng.

Ini panduan lengkap dari A sampai Z untuk membuat video seperti itu dengan kualitas profesional: produk, presenter, dialognya, dan hasil potongan akhir semuanya Anda kendalikan, dalam enam langkah panggilan API yang bisa disalin apa adanya. Lebih suka formulir tanpa kode? Workflow iklan UGC di n8n (bahasa Inggris) membuat iklan seperti ini dengan halaman pilih atau buat ulang di setiap langkah.

Ini hasilnya: tiga klip Omni 1.1 Flash 10 detik yang di-upscale ke 1080p, setiap frame dan setiap suara dibuat lewat Google Flow API. Panggilan upscale yang sama bisa sampai 4K saat Anda butuh kualitas profesional, lihat Langkah 5:

Hasilnya — 29 detik, 1080p, tiga produk, tiga klip
Total 45 kredit

Kalau Anda lebih suka menonton daripada membaca, ini seluruh panduan dalam 75 detik (bahasa Inggris):

Panduan 75 detik
tonton di YouTube · narasi dan musik dari MiniMax API

Harga

Video Omni 1.1 Flash butuh langganan Google AI berbayar (Plus, Pro, atau Ultra), dan useapi.net tidak menagih biaya per video. Biaya video ini langkah demi langkah ada di Rincian biaya, dan harga per video di setiap paket, dibandingkan dengan API resmi, ada di tabel harga Google Flow.

Tentang id di dalam request

Setiap request di bawah merujuk hasil sebelumnya lewat mediaGenerationId-nya. Id-nya panjang, jadi di sini disingkat menjadi user:1234-email:…-image:b0bdf3e8-…, dan satu baris di bawah setiap request menjelaskan id mana merujuk ke hasil sebelumnya yang mana. Id gambar didapat dari POST /images di media[0].image.generatedImage.mediaGenerationId, id karakter di field character dari POST /characters, id video di media[0].mediaGenerationId dari job yang sudah selesai, dan id klip hasil upscale adalah id sumbernya dengan _upsampled di akhir.

Langkah 1: satu lembar untuk setiap produk

Lembar produk adalah satu gambar yang memperlihatkan barang dari empat sisi, supaya model mendapat objek utuh, bukan satu sudut yang kebetulan bagus. POST /images, persegi, satu request per produk. Prompt-nya menjabarkan posisi kamera untuk setiap panel, karena “depan, samping, belakang” saja menghasilkan dua panel identik untuk mug dan tidak ada sisi samping yang sebenarnya untuk keyboard. Benda pipih seperti keyboard butuh panel tampak atas, benda berbentuk kubus tidak. Tanpa tangan, tanpa teks, tanpa logo, supaya tidak ada apa pun selain produk yang ikut masuk ke klip.

Cara yang sama berlaku untuk produk sungguhan. Unggah fotonya dengan POST /assets lalu kirim id-nya sebagai reference_1 sampai reference_4 di request ini, dan model mengubahnya menjadi lembar empat panel yang rapi. Trik yang sama bisa membuat lembar untuk kemasan, logo, atau satu set produk.

curl — POST /images (mug)
curl --location 'https://api.useapi.net/v1/google-flow/images' \
--header 'Authorization: Bearer user:1234-…' \
--form 'email="[email protected]"' \
--form 'aspectRatio="1:1"' \
--form 'count="2"' \
--form 'prompt="Orthographic product-catalog sheet on a plain white background: a matte white ceramic mug with a straight cylindrical body and a clearly visible glowing amber light band around its base, about a finger wide, like a smart heated mug. The sheet is divided into four equal panels by thin grey lines in a 2 by 2 grid. Every panel shows the same single item at exactly the same size, position and lighting, camera at the item'\''s eye level unless stated: top-left: side profile, the handle pointing left and seen edge-on; top-right: view from the handle side, the handle pointing straight at the camera; bottom-left: view from the opposite side, the handle hidden behind the body; bottom-right: three-quarter view from slightly above, the handle to the right. Soft even studio light, photoreal. Object only: no hands, no people, no props, no text anywhere, no captions, no labels, no logo, no packaging."'
Lembar produk mug pintar, empat tampilan dalam grid 2 x 2
Mug — Nano Banana 2 Lite, id b0bdf3e8
0 kredit
curl — POST /images (robot meja)
curl --location 'https://api.useapi.net/v1/google-flow/images' \
--header 'Authorization: Bearer user:1234-…' \
--form 'email="[email protected]"' \
--form 'aspectRatio="1:1"' \
--form 'count="2"' \
--form 'prompt="Orthographic product-catalog sheet on a plain white background: a small rounded pastel mint desk robot, a palm-sized cube with a glossy black screen face showing a happy smiling expression, two round white eyes and a curved white smile, a little rounded antenna nub on top, a small round white dial on its right side, and a speaker grille on its back. The sheet is divided into four equal panels by thin grey lines in a 2 by 2 grid. Every panel shows the same single item at exactly the same size, position and lighting, camera at the item'\''s eye level unless stated: top-left: front view showing the smiling face; top-right: right side view showing the round dial and the antenna nub; bottom-left: back view showing the speaker grille; bottom-right: three-quarter view showing the smiling face and the dial. Soft even studio light, photoreal. Object only: no hands, no people, no props, no text anywhere, no captions, no labels, no logo, no packaging."'
Lembar produk robot meja, empat tampilan dalam grid 2 x 2
Robot meja — Nano Banana 2 Lite, id 7aaed056
0 kredit
curl — POST /images (keyboard)
curl --location 'https://api.useapi.net/v1/google-flow/images' \
--header 'Authorization: Bearer user:1234-…' \
--form 'email="[email protected]"' \
--form 'aspectRatio="1:1"' \
--form 'count="4"' \
--form 'prompt="Orthographic product-catalog sheet on a plain white background: a real mechanical three-key macro pad, the kind sold for shortcuts: a slim, low-profile white aluminum case, three mechanical key switches in one row with sculpted dished keycaps and a small gap between them, coral on the left, lemon yellow in the middle, sky blue on the right, a USB-C port on the back edge. Exactly three keys in one row, never more. The sheet is divided into four equal panels by thin grey lines in a 2 by 2 grid. Every panel shows the same single item at exactly the same size, position and lighting, camera at the item'\''s eye level unless stated: top-left: top-down view straight from above, the three keys in a row left to right; top-right: front view at eye level; bottom-left: left side view at eye level, the slim case and the keycap profile seen edge-on; bottom-right: three-quarter view from above. Soft even studio light, photoreal. Object only: no hands, no people, no props, no text anywhere, no captions, no labels, no logo, no packaging."'
Lembar produk keyboard tiga tombol, empat tampilan dalam grid 2 x 2
Keyboard — Nano Banana 2 Lite, id 4f861c23
0 kredit

Gambar tidak dikenai biaya, jadi minta count 2 sampai 4 dan simpan lembar terbaik. Keyboard butuh beberapa putaran sampai prompt-nya menggambarkan macro pad sungguhan dengan panel tampak atas, sedangkan kubus langsung berhasil di percobaan pertama.

Langkah 2: presenter

Tiga panggilan. Potret depan dari sebuah deskripsi. Potret tiga perempat yang dibuat dari potret pertama dengan reference_1, supaya wajah keduanya sama. Lalu POST /characters dengan kedua potret, yang mengembalikan referensi karakter. Sejak itu dia adalah @character_1 di prompt mana pun, dan Google mengunci wujudnya lewat sistem entitasnya sendiri, bukan lewat deskripsi.

curl — POST /images (potret depan)
curl --location 'https://api.useapi.net/v1/google-flow/images' \
--header 'Authorization: Bearer user:1234-…' \
--form 'email="[email protected]"' \
--form 'aspectRatio="3:4"' \
--form 'count="2"' \
--form 'prompt="Character reference portrait, photoreal, natural skin, no heavy retouching: a strikingly attractive young woman in her early twenties with a sleek platinum-blonde blunt bob and straight bangs, dark defined eyebrows, icy grey eyes, a tiny silver nose stud, a playful smirk with a hint of teeth, wearing a fitted black turtleneck and a thin gold chain necklace. Head and shoulders, facing the camera straight on, plain light-grey studio background, soft even light. No text, no logo, no captions."'
Potret depan presenter
Depan — Nano Banana 2 Lite, id a236ef66
0 kredit

Kami membuat beberapa tampilan dan memilih yang ini. Kalau nanti ada detail yang perlu diubah, misalnya kalungnya, buat ulang dia dengan potretnya sendiri sebagai reference_1 dan prompt yang hanya menyebut perubahannya, dan wajahnya tetap sama.

curl — POST /images (potret tiga perempat)
curl --location 'https://api.useapi.net/v1/google-flow/images' \
--header 'Authorization: Bearer user:1234-…' \
--form 'email="[email protected]"' \
--form 'aspectRatio="3:4"' \
--form 'count="1"' \
--form 'reference_1="user:1234-email:…-image:a236ef66-…"' \
--form 'prompt="@reference_1 is the same woman: identical face, hair, freckles, sweater and earrings. Three-quarter view from the waist up, relaxed natural smile, plain light-grey studio background, soft even light. Photoreal, no text."'

reference_1 adalah potret depan, a236ef66. Prompt ini masih menyebut bintik-bintik wajah, sweter, dan anting sisa dari presenter sebelumnya, dan itu tidak berpengaruh: kalau request berisi gambar referensi, referensinya yang menang atas kata-kata.

Potret tiga perempat presenter, dibuat dari potret depan
Tiga perempat — id d891301c
0 kredit
curl — POST /characters
curl --location 'https://api.useapi.net/v1/google-flow/characters' \
--header 'Authorization: Bearer user:1234-…' \
--form 'displayName="Mia"' \
--form 'personalityNotes="Quick, bright, deadpan delivery with a smile in her voice. Talks to the camera like a friend showing off things she bought at 2am."' \
--form 'imageReference_1="user:1234-email:…-image:a236ef66-…"' \
--form 'imageReference_2="user:1234-email:…-image:d891301c-…"' \
--form 'voice="Leda"'

imageReference_1 adalah potret depan a236ef66, imageReference_2 potret tiga perempat d891301c. Field character di respons adalah id-nya, 53ca1036 di bawah. voice adalah salah satu preset suara sistem Google dan ikut tersimpan bersama karakter, tetapi tidak bisa sampai ke mode klip yang dipakai di Langkah 4, lihat Yang perlu diketahui.

Langkah 3: still, seluruh adegan dalam satu frame

Satu request menyatukan semuanya. Karakter masuk sebagai character_1, ketiga lembar sebagai reference_1 sampai reference_3, dan prompt menempatkannya berdasarkan tag, dari kiri ke kanan di meja di depannya. Frame ini menjadi kedua ujung setiap klip, jadi hanya di sinilah tag bekerja.

curl — POST /images
curl --location 'https://api.useapi.net/v1/google-flow/images' \
--header 'Authorization: Bearer user:1234-…' \
--form 'email="[email protected]"' \
--form 'aspectRatio="9:16"' \
--form 'count="2"' \
--form 'character_1="user:1234-email:…-character:53ca1036-…"' \
--form 'reference_1="user:1234-email:…-image:b0bdf3e8-…"' \
--form 'reference_2="user:1234-email:…-image:7aaed056-…"' \
--form 'reference_3="user:1234-email:…-image:4f861c23-…"' \
--form 'prompt="Full-frame vertical phone video look, no phone, no bezel. @character_1 sits at a light wooden table in a bright minimal creator studio, facing the camera, waist-up and centered, a plain warm-grey backdrop behind her, soft key light from the left with a gentle catchlight in her eyes. Laid out on the table in front of her, left to right, each fully visible and resting flat on the table: the mug from @reference_1, the desk robot from @reference_2, the keyboard from @reference_3. Her hands rest on the table, relaxed closed-mouth smile, eyes on the lens. Photoreal, no text, no captions."'

character_1 adalah karakter dari Langkah 2, 53ca1036. reference_1 sampai reference_3 adalah ketiga lembar dari Langkah 1: mug b0bdf3e8, robot meja 7aaed056, keyboard 4f861c23.

Presenter duduk di meja dengan mug, robot meja, dan keyboard tertata di depannya
Still — wajahnya dari karakter, tiap produk dari lembarnya, id 034cddc8
0 kredit

Mug punya cahayanya, robot punya wajah dan antenanya, keyboard punya tiga warna dan port-nya, dan dia adalah perempuan yang sama dengan di potret.

Langkah 4: satu klip per produk, semuanya dari still

Mode frame awal + frame akhir dari Omni dengan still di kedua slot, satu request per produk, POST /videos yang sama setiap kali. Mode ini hanya menerima kedua gambar itu, tanpa lembar produk, tanpa karakter, tanpa referensi suara. Tidak masalah, karena still sudah memuat semuanya. Setiap barang yang dia angkat keluar sesuai lembarnya hanya dari still saja.

Prompt-nya punya tiga tugas. Mengunci kedua ujung ke frame itu, dengan jeda tenang di masing-masing sisi. Memberinya dialog dan suara. Dan mengatur waktu gerakannya: dia mulai bicara sambil mengangkat barang, barang sudah kembali ke tempatnya pada detik kedelapan, dan dua detik terakhir adalah jeda diam tanpa suara. Tanpa bagian terakhir itu, dia terlambat dan lengannya melompat ke frame akhir.

curl — POST /videos (mug)
curl --location 'https://api.useapi.net/v1/google-flow/videos' \
--header 'Authorization: Bearer user:1234-…' \
--form 'email="[email protected]"' \
--form 'model="omni-flash"' \
--form 'aspectRatio="portrait"' \
--form 'duration="10"' \
--form 'resolution="720p"' \
--form 'startImage="user:1234-email:…-image:034cddc8-…"' \
--form 'endImage="user:1234-email:…-image:034cddc8-…"' \
--form 'prompt="She begins and ends exactly on this frame: hands resting on the table, the three items laid out in front of her, a small closed-mouth smile, looking into the lens, with a short quiet beat before she moves and another after she settles back. Timing matters: after a short quiet beat she picks up the mug on the left with both hands and starts talking as she lifts it, holding it up to the camera and talking straight to the lens, quick and bright with a deadpan edge and a smile in her voice, keeping both hands on the mug while she speaks. She says: \"Three gadgets smarter than me. Low bar. One: this mug texts me when my coffee'\''s cold. Better follow-up than my ex.\" Right after the last word she gives one short laugh to herself, still holding the mug. By the eight-second mark the mug is back down gently in exactly the same spot and both hands are resting on the table again, brought back in one calm unhurried movement. For the final two seconds she holds completely still, hands resting on the table, looking into the lens with a small closed-mouth smile. Natural room tone, no music, no captions, no text on screen."'

startImage dan endImage sama-sama still dari Langkah 3, 034cddc8. Kedua id yang sama dipakai di ketiga klip.

Klip 1, mug — 10 detik, id 55808825, ditampilkan setelah upscale ke 1080p di Langkah 5
15 kredit
curl — POST /videos (robot meja)
curl --location 'https://api.useapi.net/v1/google-flow/videos' \
--header 'Authorization: Bearer user:1234-…' \
--form 'email="[email protected]"' \
--form 'model="omni-flash"' \
--form 'aspectRatio="portrait"' \
--form 'duration="10"' \
--form 'resolution="720p"' \
--form 'startImage="user:1234-email:…-image:034cddc8-…"' \
--form 'endImage="user:1234-email:…-image:034cddc8-…"' \
--form 'prompt="She begins and ends exactly on this frame: hands resting on the table, the three items laid out in front of her, a small closed-mouth smile, looking into the lens, with a short quiet beat before she moves and another after she settles back. Timing matters: after a short quiet beat she picks up the desk robot in the middle with both hands and starts talking as she lifts it, holding it up to the camera with its smiling face toward the lens and turning it once and talking straight to the lens, quick and bright with a deadpan edge and a smile in her voice, keeping both hands on it while she speaks. The other two items stay on the table exactly where they are. She says: \"Two: a desk robot that reacts to my day. It has a face. It has never once looked impressed.\" Right after the last word she raises one eyebrow at the camera, a quick expressive beat, still holding the desk robot. By the eight-second mark the desk robot is back down gently in exactly the same spot and both hands are resting on the table again, brought back in one calm unhurried movement. For the final two seconds she is silent and holds completely still, hands resting on the table, looking into the lens with a small closed-mouth smile. Natural room tone, no music, no captions, no text on screen."'
Klip 2, robot meja — 10 detik, id c4d0e6b1, ditampilkan setelah upscale ke 1080p di Langkah 5
15 kredit
curl — POST /videos (keyboard)
curl --location 'https://api.useapi.net/v1/google-flow/videos' \
--header 'Authorization: Bearer user:1234-…' \
--form 'email="[email protected]"' \
--form 'model="omni-flash"' \
--form 'aspectRatio="portrait"' \
--form 'duration="10"' \
--form 'resolution="720p"' \
--form 'startImage="user:1234-email:…-image:034cddc8-…"' \
--form 'endImage="user:1234-email:…-image:034cddc8-…"' \
--form 'prompt="She begins and ends exactly on this frame: hands resting on the table, the three items laid out in front of her, a small closed-mouth smile, looking into the lens, with a short quiet beat before she moves and another after she settles back. Timing matters: after a short quiet beat she picks up the keyboard on the right with both hands and starts talking as she lifts it, holding it up to the camera with the three keys facing the lens and talking straight to the lens, quick and bright with a deadpan edge and a smile in her voice, keeping both hands on it while she speaks. The other two items stay on the table exactly where they are. She says: \"Three: a keyboard with three keys. Copy, paste, undo. That'\''s my whole career. Oh, the mug'\''s texting. Bye!\" Right after the last word she raises one eyebrow at the camera, a quick expressive beat, still holding the keyboard. By the eight-second mark the keyboard is back down gently in exactly the same spot and both hands are resting on the table again, brought back in one calm unhurried movement. For the final two seconds she is silent and holds completely still, hands resting on the table, looking into the lens with a small closed-mouth smile. Natural room tone, no music, no captions, no text on screen."'
Klip 3, keyboard — 10 detik, id 3cc8ea2f, ditampilkan setelah upscale ke 1080p di Langkah 5
15 kredit

Perempuan yang sama, meja yang sama, cahaya yang sama, dan setiap klip dibuka dan ditutup pada still, jadi klip mana pun bisa menyusul klip lainnya. Dialognya sekitar 20 kata bahasa Inggris, yang pas untuk 10 detik pada tempo ini dengan sisa ruang untuk jeda di akhir.

Langkah 5: upscale ke 1080p

Omni 1.1 Flash merender di 720p. POST /videos/upscale menaikkan klip ke 1080p secara gratis di paket berbayar mana pun, dalam sekitar 40 detik, dan langsung menjawab di panggilan yang sama dengan id dan URL klip hasil upscale. Satu request per klip, tanpa email, akunnya ditentukan dari id.

curl — POST /videos/upscale (mug, lalu sama untuk dua lainnya)
curl --location 'https://api.useapi.net/v1/google-flow/videos/upscale' \
--header 'Authorization: Bearer user:1234-…' \
--form 'mediaGenerationId="user:1234-email:…-video:55808825-…"' \
--form 'resolution="1080p"'

mediaGenerationId adalah klip mug dari Langkah 4, 55808825. Panggilan yang sama dengan c4d0e6b1 dan 3cc8ea2f meng-upscale robot dan keyboard. Setiap respons membawa klip baru di media[0].mediaGenerationId, yaitu id sumber dengan _upsampled di akhir, jadi ketiga id hasil upscale adalah 55808825-…_upsampled, c4d0e6b1-…_upsampled, dan 3cc8ea2f-…_upsampled. Klip yang ditampilkan di Langkah 4 adalah versi hasil upscale ini. 4K juga tersedia, seharga 50 kredit dan hanya di paket Google AI Ultra.

Langkah 6: menggabungkannya

POST /videos/concatenate menerima ketiga id hasil upscale secara berurutan dan mengembalikan file gabungan sebagai base64, dengan resolusi klip. Pemangkasan menentukan apakah sambungannya terasa seperti satu take. Setiap klip dibuka dengan jeda singkat pada still dan ditutup dengan kembali ke still, dan tanpa dipangkas jeda-jeda itu menumpuk menjadi frame beku di setiap potongan. Tetapi dia menyelesaikan setiap kalimat dengan tangan yang sudah diam di meja, jadi pemangkasan yang hanya diukur dari gambar akan memotong kata-kata terakhirnya. Potong setelah suara terakhir ditambah satu ketukan, jangan lebih awal. Untuk klip-klip ini artinya klip 1 dibiarkan utuh karena tawanya berlangsung sampai frame terakhir, ujung klip 2 dipangkas sedikit lebih dari setengah detik, dan awal klip 2 dan 3 dipangkas beberapa frame.

curl — POST /videos/concatenate
curl --location 'https://api.useapi.net/v1/google-flow/videos/concatenate' \
--header 'Authorization: Bearer user:1234-…' \
--header 'Content-Type: application/json' \
--data '{
  "media": [
    { "mediaGenerationId": "user:1234-email:…-video:55808825-…_upsampled" },
    { "mediaGenerationId": "user:1234-email:…-video:c4d0e6b1-…_upsampled", "trimStart": 0.458, "trimEnd": 0.6 },
    { "mediaGenerationId": "user:1234-email:…-video:3cc8ea2f-…_upsampled", "trimStart": 0.125 }
  ]
}'

Ketiga id adalah klip hasil upscale dari Langkah 5 secara berurutan: mug, robot meja, keyboard.

Gabungan — 28,8 detik, 1080p
0 kredit

Dia menyelesaikan kalimat dengan tangan di meja, potongan masuk, dan dia meraih barang berikutnya. File gabungan di-encode ulang ke ukuran lebih kecil untuk hosting, sedangkan ketiga klip dibiarkan seperti yang dikembalikan API.

Yang perlu diketahui

  • Buat baru, jangan edit. Postingan UGC talking head (bahasa Inggris) memperpanjang klip dengan edit video ke video, dan itu masih berhasil kalau dialognya pendek. Di sini tidak. Edit mempertahankan ucapan sumbernya di timeline sumber itu sendiri, jadi dengan dialog 10 detik yang memenuhi klip awal, kalimat baru terjalin dengan kalimat lama alih-alih menggantikannya, dan produk yang tertinggal di meja berubah bentuk antar-take. Membuat setiap klip dari still menghasilkan dialog utuh, produk yang tetap utuh, dan sambungan yang lebih bersih, dengan kredit lebih sedikit.
  • Still membawa tag-nya. Mode frame awal + frame akhir hanya menerima dua gambar itu. Lakukan penandaan di still, dengan karakter dan lembar produk, dan klip mewarisinya.
  • Atur waktu gerakannya. Klip 10 detik dengan dialog penuh perlu momen meletakkan barang disebut berdasarkan jam, “by the eight-second mark” (paling lambat detik kedelapan), dan jeda diam tanpa suara di akhir. Dibiarkan sendiri, model memperpanjang dialog lalu melompat ke frame akhir.
  • Deskripsikan suara dengan cara yang sama di setiap prompt. Tidak ada yang membawa suara dari satu klip ke klip lain, dan karakter bisa menyimpan preset suara tetapi tidak bisa sampai ke mode ini. Dengan deskripsi yang identik, ketiga klip keluar cukup mirip untuk lolos sebagai satu take.
  • Lembar produk butuh posisi kamera per panel. Sebutkan apa yang ditampilkan setiap panel dari keempatnya. Beri benda pipih panel tampak atas. Jangan masukkan tangan, teks, dan logo, karena apa pun yang ada di lembar bisa muncul di klip.
  • Pangkas berdasarkan suara, bukan gambar. Dia sudah diam sebelum selesai bicara. Potongan di frame diam pertama ikut memotong akhir kalimat.
  • Presenternya rekaan. Moderasi Google lebih ketat terhadap orang sungguhan yang bisa dikenali. Mulailah dari karakter buatan.

Rincian biaya

Langkah Mode Kredit
Tiga lembar produk, 1:1 Nano Banana 2 Lite 0
Dua potret presenter, 3:4 Nano Banana 2 Lite 0
Karakter — 0
Still, 9:16 Nano Banana 2 Lite, karakter + 3 referensi 0
Klip 1, mug, 10s I2V, frame awal + akhir 15
Klip 2, robot meja, 10s I2V, frame awal + akhir 15
Klip 3, keyboard, 10s I2V, frame awal + akhir 15
Upscale, tiga klip ke 1080p — 0
Gabungkan — 0
Total   45

Gambar, karakter, upscale ke 1080p, dan penggabungan tidak dikenai biaya, jadi ulangi sesuka hati lembar produk, presenter, dan still sebelum menghabiskan satu kredit pun untuk video. 4K adalah satu-satunya peningkatan yang berbayar, 50 kredit per klip di Ultra.

Jalankan sendiri

Setiap langkah di atas adalah satu panggilan API, dan keenamnya bisa dirangkai menjadi satu skrip. Pipeline Node.js lengkap, versi Python, dan prompts.json yang berisi semua prompt di halaman ini ada di useapi/google-flow-api/ugc-product-video. Clone, masukkan produk dan dialog Anda sendiri ke prompts.json, dan satu perintah membangun seluruh video.

Skripnya menyimpan checkpoint setelah setiap langkah, jadi proses yang terputus bisa dilanjutkan tanpa membayar klip lagi, dan Anda bisa mengulang satu langkah saja — still yang lebih bagus, presenter lain — tanpa membuat ulang yang sudah ada sebelumnya.

Pertanyaan yang sering diajukan

  • Bisakah saya memakai foto produk sendiri, bukan lembar yang dibuat? Lewat useapi.net, bisa. Unggah fotonya dengan POST /assets dan kirim id yang dikembalikan sebagai reference_1 sampai reference_3 pada still, persis seperti lembar buatan dikirim di sini. Lembar empat panel adalah cara memberi model setiap sisi sebuah objek, dan produk sungguhan juga diuntungkan dengan perlakuan yang sama.
  • Kenapa tidak mengedit satu klip menjadi klip berikutnya, seperti di postingan talking head (bahasa Inggris)? Lewat useapi.net bisa saja, tetapi edit video ke video mempertahankan ucapan sumbernya di timeline sumber. Dengan dialog pendek, itu berhasil. Dengan dialog 10 detik yang memenuhi klip, kalimat baru terjalin dengan yang lama dan produk di meja berubah bentuk. Membuat setiap klip dari still yang sama menghindari keduanya, dan biayanya 15 kredit, bukan 20. Lihat Yang perlu diketahui.
  • Kenapa ketiga klip dimulai dan diakhiri pada frame yang sama? Lewat useapi.net, mode frame awal + frame akhir mengunci kedua ujung setiap klip ke still yang sama, jadi klip-klipnya tersambung dalam urutan apa pun tanpa potongan yang terlihat, dan panggilan penggabungan memangkas jeda singkat di setiap sambungan. Mekanismenya dijelaskan di postingan UGC talking head (bahasa Inggris).
  • Apakah suaranya tetap sama di semua klip? Lewat useapi.net, ketiga klip keluar cukup mirip untuk lolos sebagai satu take, karena suaranya dideskripsikan secara identik di setiap prompt. Mode frame awal + frame akhir tidak menerima referensi audio, dan preset suara karakter tidak bisa sampai ke mode itu. Kalau Anda butuh suara yang pasti sama, mode referensi ke video menerima referenceAudio_1, dengan konsekuensi kehilangan frame yang dikunci.
  • Berapa biayanya? Lewat useapi.net, seluruh video 29 detik ini hanya $0,36 di Google AI Ultra $199,99: 45 kredit Flow untuk tiga klip Omni 1.1 Flash, dengan semua gambar, potret, karakter, dan penggabungan gratis. 30 detik Omni 1.1 Flash 720p yang sama sekitar $3,04 di Gemini API resmi (per November 2026). Lihat Rincian biaya.

Kesimpulan

Kunjungi Server Discord atau Channel Telegram kami untuk pertanyaan dan masalah dukungan.

Lihat repo GitHub kami berisi contoh kode.

Dipublikasikan juga di

Juga dipublikasikan di dev.to (bahasa Inggris).

Mulai memakai API

Satu langganan US$15/bulan mencakup semua API di useapi.net: satu token untuk semua layanan. Di setiap layanan Anda bisa menghubungkan hingga 3 akun milik Anda sendiri, dan useapi.net menangani REST API, load balancing, dan polling. Butuh lebih banyak akun? Setiap langganan tambahan US$10/bulan dan menambah 3 akun lagi per layanan.

Berlangganan — US$15/bulan Bayar dengan kripto

Tidak punya kartu kredit internasional? Anda bisa berlangganan dengan kripto (pembayaran kripto tidak bisa di-refund). Harga dan paket volume ada di halaman langganan. Jika membayar lewat Stripe, Anda mendapat refund penuh dalam 14 hari sejak pembelian pertama, selama jumlah generasi yang berhasil kurang dari 50. Sudah berlangganan? Ubah jumlahnya di Stripe Customer Portal, tidak perlu membeli lagi.