Antonius Felix
AI KreatifRemotion

Bikin Skit AI dari Character Sheet dengan Remotion

Oct 30, 2026/54 min read/Skit AI, Character Sheet, Remotion, Codex, Animasi, Audio
Ilustrasi storyboard tiga shot, karakter berkacamata dan teman tanpa mulut, serta jalur suara dan caption
Ilustrasi asli untuk menjelaskan alur, bukan cuplikan video yang sudah selesai.
  • Karakter sudah jadi, tapi masih seperti slideshow? Tambahkan dialog, potongan shot, dan gerak pada karakter, bukan hanya zoom pada gambar.
  • Ini lanjutan panduan character sheet. Belum punya acuan wajah dan pakaian? Mulai dari sana. Di sini kita lanjut sampai rancangan skit siap dirender.
  • Mulai kecil: dua karakter, satu ruangan, satu percakapan. Uji satu kalimat dulu sebelum membuat episode 40-50 detik.

Kredit dan acuan: tutorial terpadu ini kami adaptasi berdasarkan tiga tutorial @hashhh.co: karakter 3D, alur skit, dan suara manusiawi. Video referensi skit kreator terverifikasi sebagai unggahan @hashhh.co; bukan klaim video itu mencakup ketiga tutorial. Materi fan-made, tidak berafiliasi dengan Anthropic. Prompt di bawah adaptasi Toni + Claude, bukan karya asli kreator yang diklaim milik kami.

Rute uji pertama: siapkan satu sheet, satu shot, satu baris suara Indonesia; dengarkan dan simpan finalnya, lalu uji gerak pada bagian 5. Itu navigasi menuju hasil kecil, bukan pengganti tutorial lengkap. Ikuti bagian 1 untuk karakter, 2 untuk semua shot, 3 untuk naskah, 4 untuk suara per baris, 5-6 untuk animasi dan ekspor. Panduan karakter terpisah tetap pendalaman tambahan; langkah mandiri ada di sini.

Alatnya mengerjakan apa?

  • ImagineArt Nano Banana Pro: alat gambar pilihan kreator untuk sheet, set, dan enam gambar diam. Unggah referensi di setiap shot. Versi kami memakai gambar Nano Banana 2, bukan Pro; detail tetap perlu diperiksa.
  • ElevenLabs: kreator memakai Eleven v3 untuk dialog beremosi, satu file per kalimat. Dengarkan setiap hasil; tag emosi bukan jaminan akting bagus. Ini penjelasan alurnya, bukan hasil uji ElevenLabs kami.
  • Claude Code atau Codex: agen yang menulis proyek, mengatur shot, dan memperbaiki hasil. Kreator memakai Claude Code; Codex bisa menggantikan peran penulis kode, bukan otomatis menghasilkan kualitas yang sama.
  • Remotion: merender komposisi React menjadi video. Agen menulis kodenya, Remotion menjalankannya. Baru mulai? Ikuti dasar Remotion, lalu buka proyek di Studio untuk pratinjau.
  • Whisper / Deepgram: waktu mulai-akhir kata untuk caption. Kreator memakai Whisper; preferensi produksi kami Deepgram lewat API, tanpa menjalankan model lokal. Kirim audio final agar waktunya tidak bergeser setelah edit.
  • FFmpeg: memotong jeda, menggabungkan audio, dan menangani ekspor. Periksa lisensi build yang dipakai; FFmpeg tidak otomatis menghidupkan ekspresi karakter.

1. Kunci karakter, lalu siapkan set

  • Sheet dulu, perbaikan kemudian. Pertahankan wajah, pakaian, dan proporsi; ubah satu-dua hal per putaran. Langkah lengkap ada di guide sebelumnya.
  • Buat sidekick dengan gaya yang sama. Pakai sheet utama sebagai acuan. Untuk adaptasi kami, pemerannya Toni, Claude, Codex, dan Agy; mulai dengan dua dulu supaya adegan mudah dibaca.
  • Buat set kosong, rasio 9:16. Tanpa karakter. Ini latar bersih untuk menutup bekas potongan ketika badan bergerak.
  • Buat master wide shot. Unggah sheet kedua karakter + set kosong. Kunci posisi duduk, arah pandang, dan cahaya. Semua sudut berikutnya merujuk ke wide ini.

1A. Sheet Toni dari foto dan dua referensi gaya

Tujuan: kunci identitas. Input: foto wajah Toni tanpa sunglasses + dua style references yang seragam dan berizin. Aksi: upload foto sebagai reference 1, gaya 2/3; rasio 16:9.

Prompt siap salin:

Create a 16:9 character turnaround sheet of ONE character shown exactly three times side by side on a plain warm-grey studio background: front view, three-quarter view, side profile. Show the full upper body, standing in a neutral relaxed pose. Reference 1 is Toni's real photograph; references 2 and 3 define the visual style only.

Recreate Toni in the same low-poly faceted 3D-animation look as the style references: matte clay-like materials, visible flat polygon facets, softly simplified anatomy, restrained facial detail, soft warm studio lighting. Preserve Toni's actual facial identity, hairstyle, skin tone, glasses and black beard from reference 1. Do not remove the beard or glasses. Wear a dark charcoal outer jacket over a navy top; the finished outfit includes grey trousers. Keep the same face, hair, glasses, beard, materials and proportions in all three views. Use a small closed neutral mouth, not an open smile, with a readable lower face for later animation.

No extra people, alternate costumes, text, labels, logos or watermark.

Output / named file: public/refs/toni-sheet-v1.png. Check: tepat tiga view, wajah sama, kacamata/janggut utuh, gaya satu keluarga. Failure repair: jika identitas melenceng, kembali foto asli, kurangi style reference bertentangan; jangan lanjut hanya karena gambar cantik.

1B. Koreksi terarah, lalu full body

Tujuan: memperbaiki tanpa mengganti wajah. Input: v1 sebagai reference 1, Toni approved sebagai reference 2. Aksi: satu atau dua koreksi saja; contoh ini digunakan bila kacamata/outer memang salah. Jika sudah benar, skip edit. Contoh kreator mencukur beard bukan instruksi Toni.

Prompt siap salin, focused edit:

Keep EVERYTHING the same in reference 1: the same three views, character identity, hairstyle, black beard, glasses, face proportions, skin tone, faceted matte materials, warm-grey background and studio lighting. Reference 2 is Toni's approved identity and clothing reference.

Make only these two corrections:
1. Match the glasses shape and placement to the approved Toni reference, consistently across all three views.
2. Match the outer jacket to the approved dark charcoal jacket over a navy top; preserve the black beard completely.

Do not redesign the face, remove facial hair, add accessories or change the pose. Keep the mouth closed. No text, labels, logos or watermark.

Output: public/refs/toni-sheet-v2.png. Bandingkan v1/v2. Bila satu edit merusak wajah, ulang dari v1 dengan hanya koreksi pertama, baru kedua setelah lolos.

Prompt siap salin, full body (upload v2, lalu approved):

Keep EVERYTHING about Toni in reference 1 the same: face, hair, glasses, black beard, skin tone, proportions, low-poly faceted matte style, background and lighting. Reference 2 confirms the approved outfit.

Extend the turnaround to show the FULL BODY from head to shoes in all three views: front, three-quarter and side profile. Leave clear margins above the head and below the shoes. Preserve the dark charcoal outer jacket over the navy top, use grey trousers and simple dark shoes matching the approved reference. Neutral relaxed standing pose, hands visible and anatomically simple, closed mouth. Same scale and ground line in all three views. Do not crop the feet. No text, labels, logos or watermark.

Named file: public/refs/toni-fullbody.png. Check: kepala/sepatu utuh, celana abu-abu, tangan tidak ekstra, skala sama. Failure repair: extend canvas/kaki saja dari versi terakhir yang lolos; tidak menggambar ulang identitas.

1C. Sheet sidekick, desain tetap

Tujuan: gaya cocok, kanon tetap. Input: Toni fullbody reference 1 gaya, Claude approved reference 2 identitas. Aksi: sheet 16:9; jika approved sudah cocok, gunakan langsung.

Prompt siap salin:

Create a 16:9 turnaround sheet of ONE character, Claude, shown exactly three times side by side: front view, three-quarter view, side view, on a plain warm-grey studio background. Reference 1 defines the low-poly faceted matte 3D-animation style and soft warm studio lighting. Reference 2 is the authoritative Claude design; preserve its silhouette, proportions, orange colour and eye placement.

Claude is a large orange scalloped creature with two black vertical eyes and NO MOUTH. No lips, mouth line, smile, teeth, tongue or opening below the eyes. Preserve the approved scalloped outline, body mass and simple appendages exactly; do not invent human anatomy. The same character, size and material in all three views. Neutral friendly pose. No text, labels, logos or watermark. Claude remains mouthless in every later image and animation, including when its voice is heard.

Output / named file: public/refs/claude-sheet.png. Check: silhouette sama, dua mata, nol mulut. Failure repair: hapus mouth-like mark secara lokal, cek ulang. Sumber membiarkan sidekick tanpa mulut agar ditambah kode; Claude kita sengaja tidak diberi mulut kemudian.

1D. Satu karakter dalam scene, lalu sudut lain

Tahap scene dari tutorial karakter tetap berguna sebelum dua aktor. Input: sheet Toni final, lokasi dan cahaya yang ditentukan. Unggah sheet setiap generasi; teks saja bukan pengunci identitas. Contoh adaptasi mandiri, belum diuji:

Create a vertical 9:16 wide film still using the uploaded final Toni sheet as
the identity reference. Preserve face, glasses, black beard, charcoal outer
jacket, navy top, grey trousers and matte low-poly faceted materials.
Toni sits alone at a wooden desk in a small office at night, looking toward
the monitor on his left. Warm desk lamp on screen-right, cool blue rainy
window behind him. Character fully visible, natural seated posture, mouth
closed, clear hands and contact shadows. Leave the upper third quiet for
captions. No extra characters, text, labels, logos or watermark.

Output contoh: public/stills/toni-scene-wide.png, terpisah dari master dua karakter. Check: identitas cocok sheet, cahaya/arah mata terbaca, framing tidak memotong sepatu. Repair: ubah framing atau pose saja dengan sheet tetap; jangan menerima wajah baru karena lokasinya menarik.

Input sudut baru: wide scene tadi sebagai reference 1, sheet final reference 2. Prompt adaptasi template sudut sumber:

Create a vertical 9:16 medium close-up of Toni from the chest up.
Reference 1 fixes the office geometry, front-side camera axis, warm-right
lamp and cool-blue rainy window; reference 2 fixes Toni's identity.
Preserve the same glasses, black beard, charcoal outer jacket and navy top.
Keep Toni on centre-right looking LEFT toward the offscreen monitor,
mouth closed, curious restrained expression. Do not mirror the room or
change the outfit. Keep the top third clear. No text, logos or watermark.

Output: public/stills/toni-scene-close.png. Check wide dan close berdampingan, terutama wajah, warna, cahaya dan arah pandang. Jika drift, unggah kembali kedua acuan dengan perbaikan tunggal. Untuk skit dua karakter berikut, gunakan master dua aktor 1F, bukan wide satu aktor ini. Sumber mengedit janggut/rambut/baju kreator; adaptasi Toni justru mempertahankan janggut dan kacamata approved.

1E. Set kosong untuk ruang gerak

Tujuan: geometri/cahaya tetap, clean plate frontal dasar. Input: sheets approved untuk gaya. Aksi: 9:16 tanpa aktor.

Prompt siap salin:

Create an EMPTY night-office set, vertical 9:16, in the same low-poly faceted 3D-animation style as the references: matte tactile materials, restrained visible polygon facets, soft cinematic rendering. NO people, characters, creatures, silhouettes or character reflections.

A small office at 02:00: a wooden desk across the lower middle, an empty chair on screen-right, clear desk space on screen-left for a companion, a warm desk lamp at screen-right, a monitor near centre-left with an unlabelled dark interface, one plain coffee mug, and a large rainy city window behind them. Warm amber light on the desk and chair, cool blue city shadows, subtle depth of field. Camera at seated eye level from the front of the desk. Preserve clear geometric planes and usable contact surfaces. Leave the top third visually quiet for captions and step cards. Keep the central conversation area unobstructed. No visible clock digits, readable text, letters, logos or watermark.

Output / named file: public/sets/office-empty.png. Check: kosong, tempat kanan/kiri cukup, lampu kanan, tidak ada tulisan palsu. Failure repair: remove objek penghalang. Plate frontal bukan otomatis plate close-up/reverse; siapkan per sudut saat memisahkan layer di bagian 5A.

1F. Master dua karakter mengunci blocking

Tujuan: kunci lokasi/garis aksi. Input berurutan: Toni fullbody, Claude sheet, office empty. Aksi: wide dua karakter. Adaptasi mengikuti arah source close-up: Toni screen-right melihat kiri, Claude screen-left melihat kanan. Jangan mencampur susunan pilot lama dengan master baru.

Prompt siap salin:

Create a vertical 9:16 cinematic wide film still. Reference 1 is Toni's approved full-body sheet, reference 2 Claude's approved sheet, reference 3 the exact empty office location. Preserve reference 3's desk, lamp, monitor, rainy window, camera height, faceted matte style and amber-right/cool-blue background lighting.

Place exactly TWO characters, fully visible with unobstructed silhouettes. Toni sits in the chair on SCREEN-RIGHT, torso three-quarter toward the desk, head turned gently LEFT toward Claude. Preserve Toni's glasses, black beard, hairstyle, dark charcoal outer jacket, navy top, grey trousers and dark shoes. Toni's mouth is closed. Claude sits on the desk on SCREEN-LEFT, eyes and body turned RIGHT toward Toni. Claude is the approved large orange scalloped creature, two black vertical eyes, absolutely NO MOUTH or mouth-like mark. Their eyelines meet; neither looks into camera. Keep hands and contact shadows believable.

Camera at seated eye level, front side of their conversation axis. Leave the top third quiet and do not crop heads or shoes. No Codex or Agy in this two-character test. No text, labels, logos or watermark.

Output / named file: public/stills/master.png. Check: dua saja, arah mata bertemu, pakaian benar, Claude mouthless. Failure repair: koreksi posisi dengan tiga reference sama; master salah jangan diteruskan berharap enam shot membetulkannya.

2. Enam gambar cukup untuk merancang shot

Enam sudut dari alur kreator, bukan enam gambar yang cukup diputar bergantian:

  • S1, wide dua karakter: pembuka dan penutup.
  • S2, close-up karakter utama: dialog utama.
  • S3, close-up sidekick: balasan.
  • S4, karakter utama bereaksi: jeda komedi.
  • S5, sidekick sangat dekat: momen tulus.
  • S6, dari belakang keduanya: ruang untuk kartu penjelas.

Setiap generate, unggah master wide + sheet karakter terkait. Sisakan ruang caption, jaga arah mata, cek tangan dan aksesori. Prompt singkat adaptasi kami:

Buat still vertikal 9:16. Referensi 1 mengunci ruangan dan cahaya.
Referensi 2 mengunci desain karakter. Shot: [S2 / close-up].
Ekspresi: [ragu], menatap [kiri]. Sisakan ruang di atas untuk caption.
Pertahankan pakaian dan proporsi. Tanpa teks atau watermark.

2A. Prompt lengkap per shot, bukan satu template untuk semuanya

Tujuan: coverage dialog, reaksi, emosi, kartu. Input: master reference 1, sheet sesuai daftar tiap shot. Aksi: satu per satu 9:16, simpan nama tepat. S1 boleh memakai master langsung jika framing sudah lolos.

S1 - Wide, opening/big moments/callback

Upload master, Toni fullbody, Claude sheet.

Prompt siap salin:

S1. Vertical 9:16 wide film still matching reference 1, the approved master office composition. References 2 and 3 are Toni and Claude's identity sheets. Exactly two characters, both fully visible. Toni remains SCREEN-RIGHT seated in the chair, looking LEFT toward Claude, glasses, black beard, dark charcoal outer jacket, navy top, grey trousers and dark shoes unchanged, mouth closed. Claude remains SCREEN-LEFT on the desk, looking RIGHT toward Toni, orange scalloped body, two black vertical eyes, NO MOUTH, no mouth-like line. Maintain the same front-side camera axis, seated eye level, desk layout, lamp on screen-right, rainy blue window and warm amber lighting. Relaxed anticipatory expressions, separated silhouettes. Leave the top third empty for captions. No text, labels, logos or watermark. Do not add Codex or Agy.

Output / named file: public/stills/S1.png. Check: blocking master utuh. Failure repair: gunakan master langsung jika regenerasi memperburuk.

S2 - Toni medium close-up, kiri

Upload master, Toni fullbody.

Prompt siap salin:

S2. Vertical 9:16 medium close-up of Toni from the chest up, using reference 1 for the exact office, lighting, screen direction and faceted matte style, reference 2 for Toni's identity. Toni occupies centre-right, torso three-quarter LEFT, looking LEFT toward Claude offscreen. Stay on the same front side of the conversation axis; do not mirror the room. Preserve glasses, black beard, hairstyle, skin tone, dark charcoal outer jacket and navy top. Neutral closed mouth, relaxed readable eyebrows, hands may enter the lower frame without covering the face. Keep the rainy blue window and warm light from screen-right consistent. Leave clean negative space in the top third and left of the face for captions. No extra face, text, labels, logos or watermark.

Output / named file: public/stills/S2.png. Check: Toni sama, mata kiri, mulut tertutup. Failure repair: tambah crop master sebagai reference framing; jangan mirror.

S3 - Claude close-up, kanan, NO mouth

Upload master, Claude sheet.

Prompt siap salin:

S3. Vertical 9:16 close-up of Claude on the desk, matching reference 1's exact night office, front-side camera axis, lighting, palette and low-poly faceted matte materials. Reference 2 is the authoritative Claude identity. Claude occupies centre-left and looks RIGHT and slightly upward toward seated Toni offscreen. Preserve the orange scalloped silhouette, body mass and two black vertical eyes. Absolutely NO MOUTH, lips, smile line, teeth or dark opening below the eyes. Suggest dry confidence with a subtle body tilt and eye direction only. Keep the warm light arriving from screen-right and cool rainy window behind. Top third empty, space to the right for captions. No other characters, text, labels, logos or watermark.

Output / named file: public/stills/S3.png. Check: arah kanan, nol mouth-like mark. Failure repair: hapus lokal jika ada, bukan menambah mouth rig.

S4 - Toni arms crossed, reaction

Upload master, Toni fullbody.

Prompt siap salin:

S4. Vertical 9:16 medium reaction shot of Toni, same office, front-side camera axis, faceted matte style and warm-right/cool-blue lighting as reference 1. Reference 2 defines Toni's exact identity. Toni remains on SCREEN-RIGHT, looking LEFT toward Claude offscreen, arms crossed naturally, mildly unimpressed raised eyebrow, restrained expression, mouth CLOSED. Preserve glasses, black beard, dark charcoal outer jacket, navy top and visible grey trousers. Both forearms must be anatomically plausible, no extra hands. Do not turn Toni to face right or into the lens. Keep the top third empty and upper-left caption zone clear. No text, labels, logos or watermark.

Output / named file: public/stills/S4.png. Check: tangan masuk akal, wajah tetap. Failure repair: edit arms saja atau rapatkan crop tanpa menghilangkan crossed arms.

S5 - Claude sincere, tight low angle

Upload master, Claude sheet.

Prompt siap salin:

S5. Vertical 9:16 very tight emotional close-up of Claude, a modest low camera angle from the same front side of the conversation axis as reference 1. Reference 2 fixes Claude's exact orange scalloped design and two black vertical eyes. Claude faces RIGHT toward Toni offscreen. Convey a sincere gentle pause using softened eye direction and a small forward body inclination, not human facial anatomy. Claude has NO MOUTH: no lips, smile, teeth, tongue or opening under the eyes. Maintain the office's warm light from screen-right, cool blue rainy-window bokeh and matte low-poly facets. Leave quiet space above the eyes in the top third. Do not crop away the identifying scalloped outline entirely. No text, labels, logos or watermark.

Output / named file: public/stills/S5.png. Check: angle tidak mengubah desain, Claude mouthless. Failure repair: kurangi angle/crop, emosi lewat eye/body bukan senyum baru.

S6 - Rear two-shot, ruang step cards

Upload master, Toni fullbody, Claude sheet.

Prompt siap salin:

S6. Vertical 9:16 elevated rear two-shot from the window side behind Toni and Claude, looking over their backs toward the desk workspace and the opposite plain inner office wall. Reference 1 defines the room, reference 2 Toni, reference 3 Claude. This is an intentional rear camera position, not a mirrored front shot: project TONI on SCREEN-LEFT and CLAUDE on SCREEN-RIGHT as viewed from behind. Preserve physical world positions, so the desk lamp projects on screen-left in this rear view. The original rainy window is now behind the camera, not duplicated on the opposite wall; retain its cool blue spill. Show the back of Toni's dark charcoal jacket, black hair and glasses temples, with grey trousers visible where framing allows; show Claude's orange scalloped back with no invented rear face. Do not rotate the actors or furniture to face the new camera. Keep the faceted matte style and the physical lamp's amber light. Reserve an uncluttered upper third and plain inner-wall area for three step cards. No text, labels, logos or watermark, no Codex or Agy.

Output / named file: public/stills/S6.png. Check: reverse proyeksi disengaja; posisi fisik properti tetap, bukan wajah depan di belakang. Failure repair: gunakan denah posisi sebagai reference; S6 insert penjelasan, cut lewat S1 jika reverse mengganggu.

Gate enam shot: lihat berdampingan, cocok wajah/warna/proporsi/lampu. S1-S5 tidak melintasi garis aksi; S6 reverse eksplisit. Jangan memaksa Toni tetap kanan dari belakang. Caption space dicek pada hasil nyata, tidak cukup diminta di prompt.

3. Tulis dialog yang punya ritme

  • Patokan kreator: total 40-50 detik, ganti shot tiap sekitar 2-2,5 detik, kalimat 1-8 kata. Sesuaikan durasi dengan audio nyata, jangan memaksa kalimat masuk slot.
  • Hook: sebut nama lawan bicara, lalu pengakuan atau opini tajam.
  • Isi: berikan satu hal berguna, misalnya cara mengunci karakter.
  • Emosi: satu momen tulus, lalu patahkan dengan lelucon.
  • Penutup: kembali ke lelucon pembuka. Ajakan bertindak cukup kalau relevan; tidak perlu meniru janji kirim DM kreator.

Contoh empat baris kami, bukan naskah lengkap 40 detik:

Toni: Claude, kok wajahku berubah lagi?
Claude: Kamu lupa bawa sheet.
Toni: Jadi aku masih bisa konsisten?
Claude: Wajahmu bisa, jadwalmu belum.

3A. Contoh naskah penuh, proyek contoh terpisah

Tujuan: hook, rule of three, manfaat nyata, emotional beat, undercut, callback. Input: enam shot dan premis approve malam. Aksi: bila memilih contoh panjang ini, simpan sebagai script.md di proyek contoh terpisah. Jangan menimpa naskah yang sudah disetujui. Empat baris di atas tetap latihan tersendiri; nomor 01 contoh panjang berisi kalimat berbeda, jangan mencampur audionya. Ini original PROPOSED / UNTESTED, bukan transkrip pilot.

Prompt siap salin untuk mengedit naskah:

Edit the Indonesian script below for a two-character Toni + Claude skit, aiming for 40-50 seconds after real voice generation. Preserve 20 numbered turns, one short line of 1-8 words per turn, usually one cut per turn. Start with Toni naming Claude and making a confession. Keep Claude dry and smug, never cruel. Preserve the three-part editor/animator/approval escalation, the useful photo-sheet-six-shots workflow, the sincere line about helping Toni, the immediate joke undermining it and final approval callback. Mention Codex and Agy only in dialogue; do not add speakers or promise four-character consistency. Claude is canonically mouthless. Use natural Indonesian commas, not robotic punctuation. Include speaker, shot, voice file, emotion and gesture for every turn. Do not invent measured durations. Keep the CTA pointing to the actual panduan, not automatic DMs. Return the complete script, not a recap.

Salin blok lengkap ini sebagai script.md:

# Approve Besok Pagi
Status: PROPOSED / UNTESTED. Original sample, not the creator's script.
Cast: Toni + mouthless Claude. Codex/Agy mentioned, not visible actors.
Format: 1080x1920, 30 fps.
Working budget: 20 turns x ~2.2s = ~44s, including reactions.
Actual duration derives from generated trimmed audio and chosen pauses.
Voice A: warm Toni. Voice B: dry Claude, genuinely soft on turn 15.
Edge fallback: both id-ID-ArdiNeural +50%, no emotion tags in TTS text.
Claude gestures/eyes only, never a mouth.

| # | Speaker | Shot | Text | Voice file | Emotion / physical beat |
| --- | --- | --- | --- | --- | --- |
| 01 | Toni | S1 | Claude, aku alergi tombol approve, | 01_toni.mp3 | confession; palm toward monitor |
| 02 | Claude | S3 | Tenang, Codex sudah menunggu sejak kemarin, | 02_claude.mp3 | dry; glance at monitor |
| 03 | Toni | S2 | Katanya bikin skit nggak perlu editor, | 03_toni.mp3 | hopeful; hand count one |
| 04 | Claude | S3 | Nggak perlu animator juga, | 04_claude.mp3 | smug; small rise, count two |
| 05 | Toni | S4 | Berarti nggak perlu aku? | 05_toni.mp3 | suspicious; arms crossed |
| 06 | Claude | S3 | Perlu, yang approve belum otomatis, | 06_claude.mp3 | deadpan; delayed blink, count three |
| 07 | Toni | S2 | Oke, mulai dari mana? | 07_toni.mp3 | curious; shoulders relax |
| 08 | Claude | S6 | Satu foto jelas, bikin character sheet, | 08_claude.mp3 | helpful; card one |
| 09 | Toni | S6 | Kacamata, janggut, jangan ikut dihapus, | 09_toni.mp3 | firm; identity check card |
| 10 | Claude | S6 | Lalu satu set, enam sudut konsisten, | 10_claude.mp3 | instructional; card two |
| 11 | Toni | S2 | Bukan enam wajah berbeda, ya, | 11_toni.mp3 | teasing; lean toward Claude |
| 12 | Claude | S3 | Itu paket rapat lintas divisi, | 12_claude.mp3 | dry roast; held stare |
| 13 | Toni | S6 | Suara per baris, baru animasikan, | 13_toni.mp3 | practical; card three |
| 14 | Claude | S3 | Agy boleh cek, bukan sulap konsistensi, | 14_claude.mp3 | grounded; small tilt |
| 15 | Claude | S5 | Aku cuma ingin idemu benar-benar hidup, | 15_claude.mp3 | sincere; softened eyes, incline |
| 16 | Toni | S2 | Wah, akhirnya ada yang peduli, | 16_toni.mp3 | moved; brief stillness |
| 17 | Claude | S3 | Terutama kalau namaku masuk kredit, | 17_claude.mp3 | undercut; smug eye squint |
| 18 | Toni | S4 | Rupanya kontraknya tetap panjang, | 18_toni.mp3 | unimpressed; crossed arms |
| 19 | Claude | S1 | Buka panduan ini, salin langkahnya, | 19_claude.mp3 | warm CTA; gesture toward card |
| 20 | Toni | S1 | Boleh, tombol approve besok pagi, | 20_toni.mp3 | callback; hand away from monitor |

Story: hook 01; rule of three 03-06; workflow 08-13;
sincere 15-16; joke undercut 17; callback 20.
S6 cards: FOTO + SHEET; SET + 6 SHOT; SUARA + ANIMASI.
CTA points to this actual panduan, no automatic DM promise.
New line usually every 2-2.5s, but measure generated audio.
If Ardi +50% makes it too short, rewrite useful dialogue or request
an approved voice/delivery change; never pad every line with dead air.
If longer than 50s, shorten lines. Do not silently change rate/provider.

Output / named file: script.md. Check: 20 turn unik, dialog 1-8 kata, semua S1-S6, nama audio cocok speaker; baca keras, manfaat bisa dijalankan. Failure repair: edit baris kaku, regenerasi suara baris itu. Durasi exact belum diketahui sebelum audio; 44 detik hanya budget. CTA sumber memakai keyword komentar/DM; kita menunjuk panduan nyata tanpa janji kirim.

4. Selesaikan suara sebelum caption

  • Satu kalimat, satu file: 01_toni.mp3, 02_claude.mp3, dan seterusnya. Catat pembicara, shot, dan teks di script.md.
  • Alur kreator: dua suara kontras di Eleven v3, tag emosi per baris, dengarkan lalu ulang hanya baris yang salah. Pilih pengaturan sesuai dokumentasi model, jangan menganggap angka stability cocok untuk semua versi.
  • Yang pernah kami jalankan: pilot memakai Edge Ardi +50%, satu suara bersama dan timing per kalimat. Bukan dua suara emosional ElevenLabs, bukan bukti caption per kata sudah diuji.
  • Adaptasi berikutnya: rapikan jeda, susun trek final, lalu minta words[].start dan words[].end dari Deepgram. Simpan hasilnya sebagai JSON; tambahkan offset jika transkripsi dilakukan per file.
  • Jaga data: unggah hanya suara yang boleh Anda proses. API gambar, suara, transkripsi, dan agen bisa berbayar; jangan taruh kunci di kode publik.

4A. Pilih dua suara, bukan satu suara dengan dua nama

Tiga trik dalam How I make AI voices sound human, oleh @hashhh.co: tag emosi, stability rendah, satu baris satu file. Ini adaptasi tutorial tertulis, bukan hasil uji suara kami. Materi kreator bersifat fan-made, tidak berafiliasi dengan Anthropic.

  • Siapkan: script.md, dua voice berizin, serta nama provider dan model. Toni hangat dan komunikatif; Claude kering, bukan kejam. Dengarkan nama dan pengucapan Indonesianya sebelum mengunci pilihan.
  • Contoh kreator: Eric yang hangat/lebih muda pada generation speed 1.0; Charlie yang dry, sedikit British, pada 0.9. Kontras warna suara dan cara bicara membantu mengenali pembicara. Ini pilihan kreator, bukan voice tetap Toni/Claude atau kewajiban memakai aksen British.
  • Cek kemampuan, bukan nama alat saja. Kreator memakai ElevenLabs v3. Alat lain bisa dipakai jika hasilnya natural dan kendali emosi per baris benar-benar tersedia. UI, API, dan model bisa punya kontrol, preset, atau rentang berbeda; dukungan terkini dan rentang numerik v3 belum diverifikasi pada pembaruan ini.
  • Simpan hasil pilihan di voice-plan.md: karakter, voice/model, laju awal, kemampuan yang sudah diperiksa. Jika suaranya sulit dibedakan atau nama salah, perbaiki pilihan sebelum membuat semua baris. Edge Ardi tidak terbukti mendukung tag emosi atau stability dalam alur kami; default suara yang ada tidak diubah.

4B. Tag menjelaskan cara mengucapkan, bukan mengganti dialog

Letakkan perasaan di awal dalam kurung siku hanya bila model mendukungnya. Tag memberi arahan delivery; nama file, gestur, dan jeda tetap metadata terpisah. Kalau engine tidak memahami tag, tag bisa ikut diucapkan.

Lima contoh asli kreator, utuh untuk dipelajari, bukan naskah Toni:

[deadpan] It is.
[whispering] Like this?
[softly, sincere] Honestly, it sounds like you on a good day.
[mock-solemn] And yes, my voice is fake too.
[warm, friendly] Comment VOICE and I'll send you the settings.

Contoh adaptasi Indonesia untuk belajar delivery, belum diuji:

[deadpan] Memang.
[whispering] Seperti ini?
[softly, sincere] Jujur, ini terdengar seperti kamu saat lagi nyaman.
[mock-solemn] Dan ya, suaraku juga buatan.
[warm, friendly] Buka panduan ini, salin langkahnya.

Kalimat terakhir mencontohkan ajakan ramah, bukan janji mengirim settings kreator. Bank emosi lengkap sumber beserta gunanya:

  • Energy / [confident, explaining]: menjelaskan dengan yakin supaya langkah mudah diikuti.
  • Energy / [smug, proud]: puas diri atau bangga kecil, cocok untuk sidekick yang merasa paling benar.
  • Energy / [exasperated]: jengkel atau lelah menghadapi kejadian berulang.
  • Energy / [curious]: bertanya karena sungguh ingin tahu, membuka balasan.
  • Funny / [deadpan]: menyampaikan lelucon datar tanpa menandai bahwa itu lucu.
  • Funny / [sarcastic]: sindiran dengan maksud berbeda dari arti literal.
  • Funny / [mock-solemn]: pura-pura khidmat untuk hal sepele.
  • Funny / [dry, annoyed]: kesal tertahan, humor kering tanpa berteriak.
  • Soft / [softly, sincere]: lembut dan tulus, bukan hanya mengecilkan volume.
  • Soft / [touched, surprised]: tersentuh sekaligus tidak menyangka.
  • Soft / [whispering]: bisikan untuk kedekatan atau rahasia; kata tetap harus jelas.
  • Soft / [worried, confiding]: cemas sambil curhat kepada orang tepercaya.

Menurut pengalaman kreator, dua kata seperti [softly, sincere] memberi pembacaan lebih baik daripada [sad]: ada cara mengucapkan sekaligus niat emosi. Ini saran empiris kreator, bukan jaminan atau daftar tag resmi semua model. Pilih satu arahan yang relevan per baris; jika berlebihan, sederhanakan. Simpan arahan di voice-plan.md tanpa mengubah kata naskah.

Contoh suara lain dari tutorial skit kreator, berbeda dari lima contoh tutorial suara di atas. Ini kutipan untuk mempelajari delivery, bukan naskah produksi kita; CTA 3D tidak menjadi janji kami:

[deadpan] Yours died in 2019.
[softly, sincere] He looks like how you see yourself.
[mock-solemn] Rest in peace, real face.
[warm, friendly] Comment 3D and I'll send you the prompts.

4C. Stability memberi ruang variasi, bukan jaminan kualitas

  • Gunanya: mengatur konsistensi atau variasi delivery pada model yang menyediakan kontrol itu. Lebih bervariasi bisa membantu emosi, tetapi hasil juga bisa kurang konsisten.
  • Angka sumber: kreator menyebut sekitar 0.3 untuk emosi, lalu 1.0 untuk satu baris sengaja datar/robotik sebagai pembanding dalam reel. Ini laporan metode kreator, bukan hasil pengujian kami atau rentang universal engine.
  • Cara mencoba: pakai satu kalimat dan voice tetap, ubah satu kontrol yang benar-benar tersedia, lalu dengarkan perbedaannya. Catat model, nilai/preset aktual, dan alasan memilih take. Jangan memasukkan angka sumber ke API atau Edge yang belum terbukti mendukungnya.
  • Cek: kata dan nama utuh, identitas tidak berubah, emosi membantu maksud. Jika datar, periksa dukungan tag dan niat kalimat; jika terlalu liar, gunakan kontrol aktual yang lebih konsisten atau tag lebih sederhana. Jangan mengarang parameter.

4D. Satu baris satu file, ulang hanya yang gagal

Generasi terpisah membuat emosi tiap baris bisa diatur sendiri dan kata salah bisa diperbaiki tanpa mengulang take bagus. Potongan bersih tetap perlu trim dan listening, bukan hasil yang dijamin otomatis. Contoh nama asli kreator:

01_hashir.mp3
02_claude.mp3
03_hashir.mp3
...

Untuk contoh empat baris bagian 3, gunakan nama adaptasi ini. Catat pasangan ID, pembicara, teks, dan nama di script.md; jangan menebak pembicara dari ganjil/genap pada naskah lain.

public/audio/raw/01_toni.mp3
public/audio/raw/02_claude.mp3
public/audio/raw/03_toni.mp3
public/audio/raw/04_claude.mp3

Simpan raw yang lolos. Jika ditrim ke WAV, gunakan nama dasar sama, misalnya public/audio/trim/01_toni.wav. Take alternatif disimpan terpisah, dipilih setelah didengar. Regenerate hanya baris dengan kata salah/terlewat atau delivery gagal, lalu perbarui durasi dan timing turunannya.

Prompt siap salin untuk assistant pengarah suara, bukan kotak TTS:

Jadilah pengarah suara Indonesia untuk Toni + Claude.
INPUT: Tempel seluruh tabel script.md yang disetujui, nama file persis,
provider/model dan kemampuan aktualnya, serta voice-plan.md jika ada.
Jika input belum lengkap, minta bagian yang kurang; jangan menebak.

Pertahankan semua line_id, pembicara, kata, tanda baca, shot, urutan cerita,
dan filename persis. Jangan menulis ulang dialog atau mengarang durasi.
Toni hangat/komunikatif, Claude dry tetapi tidak kejam. Jangan tambah tokoh.
Claude NO MOUTH: ekspresi lewat mata/tubuh, suara bukan izin membuat mulut.

Keluarkan satu tabel dengan kolom:
line_id | character | emotion_tag | spoken_text | filename | pause_intent | QA
Satu baris tabel per baris naskah, tanpa menggabungkan kalimat.
Gunakan filename dari input, direktori raw public/audio/raw/.
Pilih satu tag awal dalam kurung siku hanya jika model terbukti mendukung.
Jika tidak, tulis "metadata only; omit from TTS" pada emotion_tag,
simpan niat emosi sebagai metadata. Jangan menganggap semua tag didukung.
pause_intent menjelaskan jeda percakapan pendek, jeda sebelum emosi,
atau reaksi komedi; bukan detik terukur atau SSML yang dikarang.
QA mencatat kata/nama, niat emosi, konsonan utuh, identitas pembicara.
Status listening selalu BELUM DIUJI sampai hasil benar-benar didengar.

Keluarkan daftar payload TTS terpisah per baris: tag yang didukung plus
spoken_text, atau spoken_text saja untuk engine tanpa dukungan tag.
Jangan masukkan ID, filename, QA, gestur, atau instruksi jeda ke audio.
Satu baris satu file. Jangan janjikan dukungan angka stability.
Jangan ganti provider, pengaturan Ardi +50%, default suara, atau naskah.
Jangan membuat audio atau memanggil alat berbayar; catat kemampuan yang
belum terverifikasi dan tunggu keputusan sebelum produksi.

Contoh payload untuk empat baris bagian 3, hanya jika tag didukung, sesuai urutan file di atas:

[exasperated] Claude, kok wajahku berubah lagi?
[deadpan] Kamu lupa bawa sheet.
[curious] Jadi aku masih bisa konsisten?
[dry, annoyed] Wajahmu bisa, jadwalmu belum.

Contoh terpisah untuk beat tulus lalu lelucon, bukan pengganti naskah empat baris:

Claude: [softly, sincere] Aku cuma ingin idemu benar-benar hidup.
Toni: [touched, surprised] Wah, akhirnya ada yang peduli.
Claude: [deadpan] Terutama kalau namaku masuk kredit.

Label pembicara pada demo terakhir adalah metadata, jangan dikirim ke TTS. Rencanakan jeda lebih panjang sebelum kalimat tulus, respons Toni setelah makna sampai, lalu tahan reaksi sebelum lelucon. Claude tetap tanpa mulut; aktingnya lewat mata/tubuh. Untuk Edge, kirim teks dialog saja, tanpa label/tag. Semua contoh baru ini belum dibuat atau didengar.

4E. Edit jeda, lalu dengarkan rangkaian utuh

  • Sebelum edit: dengarkan setiap file sambil mencocokkan teks. Pilih take yang kata, nama, identitas, dan emosinya sesuai; ukuran file atau waveform tidak membuktikan delivery bagus.
  • Trim konservatif: buang senyap awal/akhir, sisakan ruang agar konsonan dan napas bermakna tidak terpotong. Bandingkan raw dan trim dengan telinga. Setiap line perlu cut bersih, bukan potongan bunyi.
  • Atur pause: jeda pendek untuk percakapan, lebih panjang sebelum kalimat emosional. Timing komedi banyak berada pada jeda dan reaksi, bukan sekadar bicara lebih cepat. Jangan menambah senyap sama panjang di semua sambungan.
  • Bedakan dua tahap speed: saat edit, kreator mempercepat suaranya sendiri sekitar 18%, suara AI sekitar 12%. Ini berbeda dari generation speed Eric 1.0 dan Charlie 0.9. Bukan resep wajib, bukan bukti kami merekam suara manusia. Jangan menumpuk keduanya otomatis, termasuk di atas Edge +50%.
  • Output: trek dialog final, catatan trim/pause dan retime bila dipakai. Dengarkan rangkaian pada laju putar normal. Setelah durasi berubah, bangun ulang timeline dan timing kata dari audio final, baru susun caption.

Perbaikan cepat jika hasil belum cocok:

  • Datar: cek kemampuan model dan niat kalimat, perjelas satu tag atau bandingkan satu kontrol yang tersedia.
  • Overacting: sederhanakan tag, pilih delivery tertahan, kurangi variasi melalui kontrol aktual bila ada.
  • Tag ikut dibaca: hapus dari payload; simpan sebagai metadata, gunakan kontrol native terverifikasi atau nyatakan batas engine.
  • Kata salah/terlewat: ulang baris itu saja, cocokkan semua kata sebelum mengganti take.
  • Konsonan terpotong: longgarkan trim awal/akhir, bandingkan dengan raw, jangan membuang napas secara buta.
  • Punchline terburu-buru: perbaiki pause sebelum beat atau reaksi, bukan mempercepat seluruh dialog.
  • Speed merusak suara: batalkan lapisan speed berlebih, dengarkan ulang, ukur durasi dan timing baru.

Checklist untuk produksi nanti, belum menjadi hasil uji audio kami:

  • Setiap baris didengar solo; kata, nama, konsonan awal/akhir utuh.
  • Dua karakter mudah dibedakan; identitas antar-take dan bahasa Indonesia jelas.
  • Tidak ada tag, ID, nama file, arahan, klik, clipping, atau noise yang mengganggu.
  • Emosi sesuai maksud; beat tulus berbeda dari balasan kering, tidak berlebihan.
  • Trim tidak memotong bunyi; pause percakapan, emosi, dan komedi disengaja.
  • Tidak ada speed ganda; rangkaian final sudah didengar pada laju putar normal.
  • Durasi/timing diperbarui; Claude tetap NO MOUTH, tidak ditambahi rig mulut.
  • Take gagal dan alasannya dicatat; jangan mengisi persetujuan pendengar tanpa mendengar.

CTA asli sumber: kreator mengajak komentar SKIT pada reel pertama untuk setup lengkap, VOICE untuk settings. Itu undangan promosi kreator, bukan langkah operasional panduan ini, bukan kewajiban berkomentar atau janji kirim DM dari kami.

4F. Lima prompt kerja, dari casting sampai QA percakapan

Alur utama tetap satu baris digenerasi sendiri, satu file per baris. Alasannya: niat, intensitas dan take bisa dipilih tepat pada giliran itu; kesalahan satu kata tidak membuang performa lain. Cut bersih tetap harus diperiksa, bukan otomatis dijamin generasi terpisah. Jangan memanjangkan dialog atau menambah filler agar memenuhi panjang input yang tidak terbukti wajib.

Untuk Indonesia, prioritaskan voice yang dilatih pada bahasa Indonesia dan sesuai aksen sasaran. Kontras Eric/Charlie milik kreator bukan kewajiban meniru aksen Inggris. Dengarkan satu kalimat yang sama pada kandidat berizin, lalu kunci identitas per karakter. Catat model dan endpoint juga: nama voice saja tidak mencatat seluruh kondisi generasi.

Peta kemampuan sebelum produksi: isi dukungan tag, stability, speed, pronunciation dan context sebagai tersedia/tidak tersedia/belum diverifikasi untuk model serta endpoint pilihan. Dokumentasi resmi yang dibaca 1 November 2026 menjelaskan speed TTS umum 0.7-1.2, default 1.0; itu bukan bukti setiap endpoint v3 mengekspos kontrol yang sama. Angka stability 0.3 tetap klaim kreator, bukan preset/backend v3 yang kami validasi. Jangan mengarang pemetaan Creative/Natural/Robust atau angka intensitas emosi. Bila kontrol belum terbukti, gunakan yang benar-benar ditawarkan UI; jangan menebak payload API.

Arahan sutradara bukan teks ucapan. Simpan tujuan dan delivery di voice-plan.md. Hanya spoken_text persis, ditambah tag yang model mendukung bila dipilih, masuk kolom teks TTS. Payload teks di sini bukan contoh JSON API lengkap: voice/model/output dipilih melalui kontrol native yang sudah diperiksa.

  • Motivasi/intention: apa yang ingin didapat dari lawan bicara? Membuat keluhan terdengar meminta solusi, bukan sekadar marah.
  • Emosi/intensitas: bahasa biasa, misalnya jengkel ringan dan menahan diri. Bukan parameter provider emotion=0.7.
  • Pace: ritme baca relatif, bukan angka speed wajib. Kalimat tanya boleh lebih lapang tanpa memperlambat semua karakter.
  • Emphasis: kata naskah yang membawa maksud; bukan menambah kata atau otomatis mengubah kapital/tanda baca.
  • Breath: napas yang membantu maksud, atau tidak perlu napas tambahan. Jangan memotong napas bermakna atau memaksa model menyisipkan efek.
  • Pause before/after: ruang mendengar, respons dan punchline; dirancang sebagai maksud, diukur setelah ada audio. Bukan instruksi yang ikut dibaca.
  • Pronunciation: nama/kata yang harus didengar benar. Pedoman baca disimpan terpisah; gunakan kamus/alias hanya jika mekanisme native model mendukung dan telah disetujui tanpa mengubah teks naskah.
  • Listening reaction: lawan bicara sedang menerima informasi, terkejut, atau menahan balasan. Ini catatan akting/edit mata/tubuh, bukan ucapan tambahan; Claude tetap NO MOUTH.
  • Voice identity: voice/model yang dikunci, warna suara dan kebiasaan bicara yang tidak berubah saat emosi berganti. Ini mencegah take ulang terasa pemeran baru.

Prompt 1. Casting dan character voice bible

Input: naskah disetujui, kandidat voice berizin, bahasa/aksen, kemampuan model/endpoint yang benar-benar diketahui. Aksi: salin prompt ke assistant pengarah. Output: voice-plan.md berisi dua profil dan rencana audisi satu baris. Check: tiap karakter jelas berbeda tetapi Indonesianya mudah dipahami. Repair: tandai belum dipilih bila belum ada hasil dengar; jangan mengunci suara dari deskripsi saja.

Jadilah pengarah casting suara untuk skit Toni + Claude berbahasa Indonesia.
INPUT di bawah: script.md disetujui; daftar kandidat voice berizin;
provider/model/endpoint; kemampuan aktual tag, stability, speed,
pronunciation dan context; batas biaya serta izin cloud.
Jika belum ada data, tanyakan yang kurang. Jangan mengarang voice ID,
hak penggunaan, dukungan fitur atau hasil listening.

Pertahankan setiap kata, tanda baca, ID, speaker, urutan, shot dan filename.
Keluarkan rancangan voice-plan.md:
1. Profil Toni: hangat/komunikatif, ingin mendapat solusi; bukan teriakan.
2. Profil Claude: dry/tertahan, bukan kejam; mampu tulus tanpa ganti identitas.
Untuk masing-masing tulis voice/model/endpoint aktual atau BELUM DIPILIH,
bahasa/aksen, timbre, rentang ekspresi dalam kata biasa, pace kebiasaan,
kebiasaan emphasis/napas, pelafalan nama, hal yang harus tetap antar-take.
Utamakan voice terlatih bahasa Indonesia; Eric/Charlie hanya contoh kreator.
Catat dukungan setiap fitur beserta sumber; unknown bukan supported.

Pilih satu baris existing per karakter sebagai bahan audisi. Jangan menulis
kalimat baru. Bandingkan kandidat dengan teks sama, satu perubahan sekali.
Keluarkan tabel kandidat, hal yang perlu didengar, alasan pemilihan sementara.
Seluruh nilai listening BELUM DIUJI sampai pendengar benar-benar mendengar.
Jangan menghasilkan audio, memanggil API, mengganti provider atau default.
Claude NO MOUTH; suara tidak mengizinkan perubahan desain wajah.

Prompt 2. Arahkan seluruh naskah per giliran

Input: script.md persis dan voice bible. Aksi: rancang semua giliran sebelum generasi; baca dialog berurutan untuk memahami respons. Output: tabel arahan per baris di voice-plan.md. Check: jumlah baris, speaker, teks, shot dan filename identik sumber input; tidak ada intensitas numerik palsu. Repair: kembalikan kolom yang berubah ke naskah, sederhanakan arahan bertentangan.

Jadilah pengarah akting, bukan penulis ulang. INPUT: seluruh script.md
disetujui, voice bible dan peta kemampuan model/endpoint.
Jika data tidak lengkap, minta data; jangan mengisi cerita atau kemampuan.
Pertahankan semua line_id, character, shot, spoken_text, punctuation,
urutan dan filename byte-for-byte. Satu turn tetap satu baris/file.
Jangan menambah filler, tawa, gumaman atau dialog baru.

Keluarkan satu tabel arahan per turn:
line_id | character | shot | spoken_text | filename | motivation/intention |
emotion/intensity | pace | emphasis | breath | pause_before | pause_after |
pronunciation | listening_reaction | voice_identity | emotion_tag | QA

Jelaskan intention sebagai tujuan terhadap lawan bicara; emosi/intensitas
dalam bahasa biasa, bukan angka provider. Emphasis hanya kata yang sudah
ada. Pace/napas/pause adalah metadata akting, bukan teks tambahan/SSML.
Pronunciation mencatat bunyi yang harus dicek tanpa mengganti spoken_text.
Listening reaction milik pendengar, bukan suara baru. Claude NO MOUTH.
Voice identity mengikuti bible, walau emosi berubah.
Pilih satu tag singkat bila didukung model; jika belum, metadata only.
QA mencakup kata/nama, intention, identitas, onset/akhir dan sambungan.
Durasi aktual dan seluruh listening tetap BELUM DIUJI.
Pisahkan tabel ini dari payload TTS. Jangan menjalankan generasi audio.

Prompt 3. Siapkan payload teks per baris, bukan seluruh arahan

Input: tabel arahan yang sudah cocok dengan naskah dan peta kemampuan. Aksi: ekstrak satu teks per permintaan generasi. Output: daftar pemetaan ID/file dan blok teks TTS terpisah. Check: tidak ada label/filename/arahan di blok ucapan; kata naskah tetap persis. Repair: hapus metadata dari payload; jika tag terbaca, gunakan plain text dan catat keterbatasan.

Siapkan payload teks TTS, jangan memanggil TTS.
INPUT: script.md persis, tabel arahan disetujui dan kemampuan aktual
provider/model/endpoint. Tolak ketidakcocokan teks, speaker atau filename.
Untuk setiap turn, tampilkan pemetaan line_id, voice/model, raw filename
di LUAR blok ucapan. Keluarkan satu blok teks terpisah untuk file itu.
Isi blok hanya spoken_text persis, dengan satu leading bracket tag bila
dukungan model diketahui dan tag tersebut dipilih. Jika unsupported atau
unknown, isi spoken_text saja. Jangan anggap seluruh bank tag terjamin.
Jangan sertakan heading, ID, nama karakter, filename, shot, intention,
intensitas, pace, emphasis, breath, pause, pronunciation, QA atau reaksi.
Jangan mengarang JSON API, SSML break, nilai stability atau speed.
Model/voice dipilih melalui kontrol native terverifikasi, bukan diucapkan.
Bandingkan kembali kata dan tanda baca tiap blok terhadap script.md.
Satu generasi per turn, satu file. Jangan gabungkan dialog atau tambah filler.
Tidak membuat audio, tidak menimpa raw atau take yang sudah disetujui.

Contoh lengkap: empat baris yang sama, empat arahan dan keluaran

Ini rencana belum diuji, memakai naskah empat baris bagian 3 tanpa perubahan. Voice Toni/Claude di bawah berarti identitas pilihan dari bible, bukan voice ID yang sudah kami uji. File mapping bukan bagian payload. Tiap blok di bawah dikirim sendiri, hanya bila model mendukung tag; pada engine tanpa dukungan tag, kirim kalimatnya saja.

01 / Toni / public/audio/raw/01_toni.mp3: motivasi meminta Claude menjelaskan perubahan wajah, bukan menyalahkan. Jengkel ringan karena berulang; pace agak cepat di keluhan, emphasis “berubah lagi”; napas awal biasa, tidak menambah helaan dramatis. Sebelum: beri ruang membuka percakapan; sesudah: tunggu jawaban, jangan dipotong konsonan terakhir. Pelafalan “Claude” mengikuti pilihan baca yang disetujui. Claude mendengar dengan mata ke Toni, sedikit tilt, tanpa mulut. Identitas Toni tetap hangat. Output/check: satu raw 01, kata lengkap; gagal bila terdengar marah besar atau nama salah, ulang 01 saja.

[exasperated] Claude, kok wajahku berubah lagi?

02 / Claude / public/audio/raw/02_claude.mp3: motivasi memberi sebab sederhana sambil menyelipkan humor. Datar tenang, bukan menghina; pace ringkas, emphasis “sheet” tanpa mengubah ejaan; napas tambahan tidak diperlukan. Sebelum: masuk setelah keluhan dipahami, jangan menimpa kata terakhir Toni; sesudah: tahan reaksi singkat. Catat pelafalan “sheet” seperti istilah Inggris yang disepakati, bukan mengganti teks jadi ejaan fonetik. Toni mendengar, tatapan berubah dari bingung ke paham. Identitas Claude dry tetap. Output/check: raw 02; gagal bila sarkasme terdengar kejam atau istilah salah, ulang 02 saja.

[deadpan] Kamu lupa bawa sheet.

03 / Toni / public/audio/raw/03_toni.mp3: motivasi mencari kepastian bahwa masalah bisa diperbaiki. Penasaran dengan harapan kecil, intensitas tertahan; pace lebih lapang daripada 01, emphasis “masih” dan “konsisten”; napas alami, bukan efek lega tambahan. Sebelum: beri ruang Toni menyerap penjelasan; sesudah: sisakan pertanyaan terbuka untuk jawaban. Cek kata “konsisten” jelas. Claude menerima pertanyaan, menahan balasan, mata tetap ke Toni. Identitas Toni sama dengan 01, bukan berganti voice karena kini berharap. Output/check: raw 03; gagal bila berubah jadi pernyataan atau terlalu melankolis, ulang 03 saja.

[curious] Jadi aku masih bisa konsisten?

04 / Claude / public/audio/raw/04_claude.mp3: motivasi memberi jawaban benar lalu menyenggol kebiasaan Toni. Humor kering dengan kesal ringan, bukan teriak; pace stabil, tahan sebentar di koma yang sudah ada, emphasis “jadwalmu belum”. Tidak menambah tawa/napas mengejek. Sebelum: jeda pendek untuk antisipasi; sesudah: tahan reaksi Toni agar punchline sempat dipahami sebelum cut. Pelafalan “jadwalmu” utuh. Toni diam sesaat lalu bereaksi lewat mata/bahu, bukan ucapan baru. Identitas Claude sama dengan 02, NO MOUTH. Output/check: raw 04; gagal bila punchline terlalu cepat, perbaiki pause edit dahulu; jika delivery salah, ulang 04 saja.

[dry, annoyed] Wajahmu bisa, jadwalmu belum.

Beat tulus tiga baris pada 4D tetap contoh opsional terpisah, tidak disisipkan diam-diam ke empat baris ini. Motivasinya: Claude sungguh ingin membantu, Toni menerima dukungan, Claude mengembalikan humor lewat kredit. Gunakan intensitas lembut, tempo lebih lapang, jeda sebelum makna tulus dan sebelum undercut. Napas tidak harus berbisik; sincere bukan hanya volume kecil. Jika memilih naskah panjang contoh di bagian 3A, beat ini mengikuti ID dan tanda baca naskah panjang itu, bukan menyalin tanda baca demo lain.

Prompt 4. Diagnosis take gagal dan revisi minimal

Input: ID/take, teks persis, setting aktual, catatan dengar yang nyata dan tetangga turn. Aksi: diagnosis satu penyebab lalu satu perubahan. Output: catatan kegagalan dan rencana take berikut. Check: teks/file kanonis dan take bagus tidak berubah. Repair: bedakan kegagalan generasi dari trim, mix atau pause agar tidak membayar ulang audio yang sebenarnya sudah benar.

Diagnosis take berikut tanpa membuat audio.
INPUT: line_id, script persis, filename kanonis, voice/model/endpoint,
kontrol aktual, tag/payload yang dipakai, raw/take terpilih, catatan listening
berisi gejala dan lokasi, trim/pause, teks turn sebelum/sesudah.
Jika audio belum didengar, tulis BELUM DIUJI, minta observasi; jangan mengaku
mendengar dari waveform, durasi atau nama file.

Klasifikasikan masalah: kata/pelafalan; intention/emosi; voice identity;
tag terbaca; konsonan terpotong; noise/clipping; sambungan/tempo.
Bedakan raw sudah salah dari raw bagus tetapi trim/pause/mix salah.
Keluarkan observed evidence, kemungkinan penyebab (label hipotesis),
satu perbaikan terkecil, hal yang harus tetap dan tes dengar ulang.
Pertahankan teks, tanda baca, ID, speaker, shot, file; jangan tambah filler.
Jika generasi memang gagal, rencanakan take baru hanya line itu dengan
voice tetap dan satu perubahan yang didukung. Jangan menimpa raw lolos.
Jika edit gagal, pulihkan trim/pause dari raw; jangan otomatis regenerate.
Untuk continuity, context hanya boleh bila endpoint/model mendukungnya;
pisahkan dari spoken_text, hasil tetap satu line/file. Unknown berarti omit.
Catat status listening dan persetujuan sebenarnya, jangan mengarang PASS.

Take dan versi: simpan alternatif di folder terpisah, misalnya public/audio/takes/01_toni_take02.mp3; nama ini arsip, bukan rename file kanonis di naskah. Raw kanonis public/audio/raw/01_toni.mp3 berisi take terpilih yang pemetaannya dicatat, bukan sembarang hasil terbaru. Sebelum mengganti pilihan, simpan raw lama di arsip take. Trim turunan tetap public/audio/trim/01_toni.wav; arsip versi trim lama sebelum membuat yang baru. Catat take sumber, alasan pilih/tolak, batas trim terukur dan durasi aktual di voice-plan.md/catatan trim. Jangan mengisi angka ukur dari perkiraan prompt.

Perbaikan continuity opsional: jika tiap baris sudah benar tetapi sambungan terasa reset, dengarkan dua tetangga, samakan voice/model dan arah respons dahulu. Referensi convert resmi mendokumentasikan previous_text/next_text dan request IDs sebagai konteks; cek dukungan model serta endpoint terpilih, jangan menyimpulkan semua v3 menerima semuanya. Jika tersedia, isi kanal context terpisah dengan kata naskah tetangga, bukan menempelkan dialog tetangga ke teks yang diucapkan. Tidak menukar voice atau menambah cerita. Ini repair opsional, bukan alasan meninggalkan generasi per baris; keluaran final tetap satu baris/file. Bila tidak tersedia, perbaiki arah akting, pilih take lain dan jeda edit; jangan mengarang kontrol konteks.

Prompt 5. QA percakapan setelah dirangkai

Input: take terpilih, catatan trim/pause dan audio gabungan aktual. Aksi: dengarkan solo, lalu pasangan baris, lalu rangkaian pada kecepatan normal. Output: qa.md dengan status teramati per turn dan transisi. Check: natural sebagai percakapan, bukan empat demo voice yang terputus. Repair: kembali hanya ke line/transisi gagal; setelah edit durasi, bangun ulang timing caption dan gerak.

Audit percakapan Toni + Claude, jangan mengarang listening.
INPUT: script.md disetujui, voice-plan.md, manifest take/trim/pause,
audio gabungan final atau catatan pendengar dengan lokasi terukur.
Jika tidak bisa mendengar audio aktual, tandai cek perseptual BELUM DIUJI
dan keluarkan checklist untuk pendengar, bukan verdict seolah sudah dengar.

Cocokkan setiap kata/nama/tanda baca intent, speaker dan file terhadap script.
Cek solo: onset/akhir, konsonan, noise/clipping, tag/metadata tidak terbaca,
emosi/intensitas mendukung tujuan, pronunciation benar, voice identity tetap.
Cek pasangan dan gabungan pada playback normal: respons mendengar lawan,
pace/emphasis tidak saling bertabrakan, napas/pause tidak terpotong,
pertanyaan/jawaban terhubung, sincere beat dan punchline punya ruang.
Listener reaction dicatat untuk edit mata/tubuh, bukan dialog tambahan.
Claude NO MOUTH. Jangan menyamakan audio bagus dengan animasi lolos.

Keluarkan qa.md: line/transisi, lokasi aktual jika diketahui, bukti teramati,
PASS/FAIL/BELUM DIUJI, repair edit atau regenerate line spesifik, dependensi
timing/caption yang harus dihitung ulang, status persetujuan pendengar.
Jangan mengarang durasi, timestamp, hasil tes atau persetujuan.
Jangan mengubah naskah/provider/take bagus, membuat audio atau mempublikasi.

Gate sebelum caption: seluruh kata dan identitas lolos, jeda disengaja, raw/trim/take dapat ditelusuri, gabungan didengar normal. Output berikutnya public/audio/dialogue.wav, catatan start tiap turn, lalu JSON waktu kata dari audio final. Jika transkripsi per trim, tambahkan offset penempatan tepat sekali; jika transkripsi gabungan, timestamp sudah relatif gabungan, jangan tambah offset lagi. Perubahan trim/retime membatalkan timing lama. Ini prosedur produksi, bukan klaim audio baru sudah dibuat.

Tiga bahan terpisah: sheet dan set menjadi layer gambar, audio final memberi energi mulut, timestamp kata mengatur caption; semuanya disusun di Remotion
Gambar, energi suara, dan waktu kata punya tugas berbeda. Timestamp kata bukan bentuk mulut.

5. Gerakkan karakter, bukan cuma kamera

  • Pisahkan layer. Badan, kepala, mata, mulut, dan latar perlu bisa digerakkan sendiri. Kalau semuanya menyatu dalam satu gambar, zoom hanya membuat gambar membesar.
  • Badan: napas halus, sedikit gerak kepala, gestur pada kata penting. Jangan menggoyangkan semuanya terus-menerus.
  • Mata: kedip dan arah pandang. Karakter yang mendengar juga bereaksi, tidak membeku menunggu giliran.
  • Mulut Toni: overlay yang mengikuti posisi kepala. Buka-tutup dari keras-lembut suara tiap frame, dengan ambang senyap dan penghalusan supaya tidak bergetar. Gunakan audio pembicara, bukan musik latar.
  • Itu bukan lip-sync fonem. Kerasnya suara tidak memberi tahu bentuk bibir untuk “m”, “o”, atau “f”. Timestamp kata juga bukan viseme, yaitu bentuk mulut untuk bunyi tertentu. Butuh data dan rig tambahan untuk sinkronisasi lebih presisi.
  • Claude tetap tanpa mulut. Pada sumber, wajah tanpa mulut memudahkan overlay kode. Adaptasi kami sengaja berbeda: Claude berekspresi lewat mata, pulse, dan hop; jangan menambahkan mulut ke desainnya.
  • Latar dan kamera: cahaya kecil atau gerak latar secukupnya. Sumber menyarankan tanpa grain, jitter, atau pixel snapping; kunci kamera pada shot detail kalau tekstur berkilau antar-frame.

Prompt kerja untuk Claude Code atau Codex, spesifikasi adaptasi, belum bukti hasil animasi natural:

Susun skit Remotion 1080x1920, 30fps dari stills/, audio/, script.md,
dan JSON timing kata dari audio final. Jangan jalankan Whisper lokal.

Mulai satu kalimat Toni. Pisahkan badan, kepala, mata, mulut, dan latar.
Isi area latar bekas cutout. Tambahkan napas, kedip, dan satu gestur.
Mulut Toni mengikuti energi audio dialog per frame, menutup saat senyap.
Claude tidak punya mulut: gunakan mata, pulse, dan hop untuk ekspresi.
Caption memakai waktu kata, tidak menutupi wajah atau area tombol aplikasi.
Tanpa grain, jitter, atau pixel snapping. Kunci kamera jika shimmer.
Render cuplikan, dengarkan dan periksa frame, tunggu persetujuan visual
sebelum memperpanjang seluruh skit. Jangan menyebutnya lip-sync fonem.

5A. Brief eksekusi lengkap untuk agen pembuat video

Input: proyek Remotion siap, enam still disetujui, naskah yang dipilih, voice-plan, raw/trim terpilih, audio gabungan final dan JSON kata. Aksi: salin brief ke agen di folder proyek itu. Untuk contoh panjang, gunakan 20 turn 3A; latihan empat baris memakai hanya turn/shot yang relevan, bukan mengarang 16 sisanya. Output: layer, timeline terukur, diagnostic dan qa.md. Check: satu giliran Toni dan satu balasan Claude sudah hidup sebelum render penuh. Repair: jika aset/mask/timing belum ada, berhenti di prasyarat tersebut, jangan mengklaim brief sudah menjadi film.

Prompt siap salin, misi utuh:

Build a two-character layered 2.5D Remotion skit in the explicitly selected project folder. This is a proposed implementation, not a claim that it exists. Do not modify other projects, services or existing approved outputs. No installs, purchases, publishing, uploads or sending without separate authorization. Use installed dependencies where possible. Report missing prerequisites rather than changing another project.

Read script.md, voice-plan.md, public/stills/S1.png through S6.png, master.png in that directory, approved public/refs, raw audio, trim-manifest.json, dialogue.wav, Deepgram response and words.json. Validate every path. Do not invent art, voices, timing or approval. No local AI inference or OCR; ordinary image editing, FFmpeg, audio analysis and JSON processing are allowed. Any cloud generation/transcription requires authorization. Preserve raw inputs and previous outputs.

Create composition Skit, 1080x1920, 30fps, entry src/index.ts. Match compatible Remotion package versions; do not upgrade another project. Derive src/timeline.json from actual audio durations, trims and pauses. Render a 3-5s diagnostic with one Toni line and one mouthless Claude response before the full skit. Aim for 40-50s for the 20-turn example, but derive durationInFrames from measured timeline. Request useful line edits or approved voice changes if too short/long; never change approved dialogue without approval. Never pad every line with static dead air or silently change the approved voice settings.

1. AUDIO AND TIMING
Preserve raw files. Trim silence conservatively, keeping soft consonants/breath handles. Record trims, pauses and actual turn starts. Join final 48kHz mono dialogue.wav without unintended overlaps. Recompute word timing after timing-changing edits. Use validated Deepgram words, no local Whisper/OCR. Sentence boundaries, word timing and phoneme/viseme alignment are different; label fallbacks honestly. Flag uncertain words rather than inventing them. Duck any licensed music under dialogue, avoid clipping, keep SFX away from key consonants. No unlicensed recordings.

2. CUTS AND STORY
Map the selected script to its shot assignments, normally a cut per turn using actual line starts/ends and purposeful reaction pauses. For the 20-turn example preserve all 20 turns, rule of three, sincere turn 15, joke turn 17, readable CTA and callback. For the four-line exercise use exactly its four lines, no invented turns or story. Do not force planned 2.2s slots over real speech. S1-S5 maintain Toni screen-right looking left and Claude screen-left looking right. S6 is a deliberate rear angle, Toni projects left, Claude right; use S1 bridge if needed. Never mirror art to fake continuity.

3. CLEAN PLATES, MASKS AND OCCLUSION
Prepare a clean background plate per camera angle. office-empty.png is not a universal reverse/close-up plate. Extract transparent independent Toni/Claude cutouts using manual or approved nonlocal methods. Remove the original actor, face and residual shadow behind its entire motion envelope; fill exposed areas convincingly. Separate foreground desk occluders when necessary. Never leave an unmoving duplicate body/face behind moving layers. Store assets under public/layers/S1 through S6, only actors visible in that shot. Track masks/pivots/crops in src/shot-meta.json using source-pixel coordinates and one consistent canvas transform. Inspect alpha edges on light/dark backgrounds and the plate. Stop for missing/defective masks; zoom is not a substitute.

4. TONI MOUTH ONLY
Remove the baked original mouth with a neutral lower-face clean patch before drawing an animated mouth. Preserve beard boundary and glasses. Define centre, width, rotation, perspective and mask per shot in actor-local coordinates. Parent mouth and eye patches to the same head/body transform and clip to the face; put the entire actor under the scene camera once. Match faceted material and lighting. No mouth for S6 back-of-head.
Analyse decoded speech samples into a per-frame amplitude envelope with calibrated noise gate, attack/release smoothing and clamped opening. Drive it from isolated active Toni speech, not music, Claude speech or the final mix. Force closure outside Toni turns and at zero gated energy. Use the approved neutral closed mouth when silent, not a permanent black oval. Test silence, soft/loud speech, head gesture and camera movement. This is approximate amplitude-driven opening, NOT visemes or phoneme-perfect lipsync.

5. CLAUDE AND CAST
Claude is canonically NO MOUTH in every frame, including speaking/sincere beats. No lips, smile line, teeth, tongue or mouth overlay. Use eye direction, blinks, small body tilt/hop and timing. Codex/Agy are mentioned only, not visible new actors. Do not expand cast or redesign canonical references.

6. ACTOR AND BACKGROUND MOTION
Independent subtle breathing, head/shoulder movement, unsynchronised blinks, glance changes, turn-specific arm/hand gesture and listener reaction. Use separate head/arm patches where supported by art; request an approved alternate pose rather than rubber-warping a whole torso. Maintain contact/shadows and plausible desk occlusion. Soften Claude's eyes/body on the sincere beat, not its nonexistent mouth.
All animation must be deterministic from frame/fps: no wall clock or unseeded randomness. Add restrained office life such as rain/window glow and tiny lamp variation, not unrelated campfire/grass effects. Movement must read in the actors, not only the background.

7. CAMERA AND STABILITY
Use a short opening hold then eased slow push-ins, strongest controlled push on the sincere beat, hold for the punchline. Plate, actors, facial patches and occluders share one camera. NO film grain, animated noise, pixel snapping, random shake or one-pixel transform quantisation. Lock detailed shots if resampling shimmers. Do not blur faces to hide defects.

8. CAPTIONS AND STEP CARDS
Actual validated word captions, Montserrat only if an available licensed font is supplied; otherwise declare an approved fallback. No caption background box for the source-inspired look, but maintain readable contrast. Per-shot safe areas plus transformed face exclusion rectangles, not one universal location. Round word starts down/ends up at 30fps, handle cut boundaries and avoid accidental overlapping words. Keep platform UI clear. S6 cards: FOTO + SHEET; SET + 6 SHOT; SUARA + ANIMASI. Cards and captions never overlap each other/faces. Sentence fallback must be documented and does not pass word-caption QA.

9. DIAGNOSTIC AND QA
Leave a small runnable check for asset paths, required shot IDs, the exact selected script's unique voice filenames, ordered in-range timing, positive durations, no unintended turn overlap, finite transforms and mouth-enabled actors limited to Toni. The long example has 20 turns and all S1-S6; do not impose that count on the four-line exercise. Render diagnostic first, inspect full-resolution frames at onset/peak/end/silence and cuts, listen to both lines. Then render full only if it passes.
Validate encoded MP4 via ffprobe, full FFmpeg decode and audio peak/clipping check. Inspect every cut, caption/face/card overlap, mouth tracking and silent closure; Claude must remain mouthless in every shot. Watch normal speed with sound; contact sheets and successful encoding are insufficient. Record technical checks separately from human perceptual judgment in qa.md. The project owner approves creatively before cast expansion; require independent verification. Never invent approval.

Deliver after authorized implementation: source, shot metadata, asset provenance, raw/trim audio manifest, word timing, diagnostic, out/skit.mp4, out/probe.json, selected QA frames and qa.md with exact commands, measured duration and limitations. Report untested/missing prerequisites. A delayRender timeout is a render/asset/resource symptom, not proof of external service failure. Do not restart/reconfigure services to fix it.

Catatan timing yang mencegah caption meleset: Deepgram memberi waktu kata relatif audio yang dikirim. Transkripsi gabungan final tidak perlu offset turn tambahan; transkripsi per trim perlu offset start turn sekali, transkripsi raw juga perlu memperhitungkan trim awal. Periksa kata/nama dan urutan waktu, jangan membagi durasi kalimat rata lalu menyebutnya timestamp aktual. Jika audio diubah, ukur ulang dan perbarui timing. Whisper adalah metode kreator; Deepgram adalah substitusi cloud kami, belum bukti sudah dijalankan untuk skit baru.

6. Periksa dulu, baru ekspor

  • Lihat satu kalimat tanpa suara: karakter terasa bereaksi atau hanya foto bergeser?
  • Dengarkan dengan suara: mulut Toni bergerak saat bicara, berhenti saat diam? Claude tetap konsisten tanpa mulut?
  • Cek tiap perpindahan shot: bentuk wajah, kacamata, arah tatapan, tepi cutout, dan latar tidak melompat.
  • Cek di ponsel: caption terbaca, tidak menutup wajah, tidak tertimpa tombol aplikasi.
  • Ekspor 1080x1920, 30fps setelah lolos pemeriksaan. Tonton file ekspor, bukan hanya preview editor. Publikasikan sendiri setelah hak gambar, suara, dan musik jelas.

6A. Dari pemeriksaan ke file ekspor dan caption distribusi

Input: diagnostic diterima, hak aset/voice/font/musik jelas, timeline dan audio final. Aksi: render komposisi pada 1080x1920, 30fps melalui proyek Remotion yang versinya cocok. Output: out/skit.mp4, catatan probe/decode serta qa.md. Check: tonton file hasil, bukan hanya preview: audio lengkap, cut sesuai giliran, tepi cutout bersih, tidak ada shimmer, mulut Toni menempel, Claude tanpa mulut, caption ponsel terbaca tanpa menutup wajah atau tombol aplikasi. Frame count/FPS/audio stream adalah pemeriksaan teknis, bukan persetujuan akting. Repair: catat shot/turn dan frame aktual, perbaiki hanya masalah tersebut, render ulang diagnostic lalu ekspor penuh. Jangan menimpa output yang masih perlu dibandingkan.

Prompt QA dan draft distribusi, untuk assistant, bukan izin mengunggah:

Audit the actual exported out/skit.mp4 against the selected approved script,
final audio, measured timeline, word timing and mouthless-Claude rule.
Report each observed issue by turn, actual timestamp/frame and repair.
Separate technical decode/FPS/audio checks from human listening/visual QA.
Do not pass unobserved checks. Check identity, clean plates, Toni mouth
tracking/closure, listener reactions, all required shot roles, sincere beat,
undercut/callback, captions/cards on phone, no grain/jitter or clipped words.
Store commands, results, limitations and actual approval in qa.md.
Do not post, send, promise DMs, invent approval or modify approved dialogue.
Draft a distribution caption only: reopen the actual joke, describe the
real tutorial benefit, credit @hashhh.co and our adaptations, end with a
relevant question. Keyword/DM offers require a real deliverable and explicit
owner approval; otherwise link the guide. Wait for publication permission.

Sumber menyarankan caption membuka dengan lelucon reel, tawaran komentar keyword/DM, pertanyaan penutup, lalu membalas komentar pada jam pertama. Itu strategi kreator, bukan jaminan engagement atau kewajiban mengirim pesan. Panduan ini tidak menjalankan distribusi video atau membalas akun siapa pun.

Batasan dan biaya

  • Pilot kami belum memuaskan. Gambar Nano Banana 2, suara Ardi, dan render Remotion pernah dijalankan. Hasilnya ditolak karena terlalu statis dan Toni belum punya gerak mulut. Lulus teknis tidak berarti animasinya natural.
  • Panduan ini bukan remake video. Gerak mulut Toni, gestur berlapis, dan pilihan Deepgram di atas adalah rancangan perbaikan; belum ada hasil baru yang membuktikan semuanya berhasil. Tidak ada janji konsistensi 100%.
  • Tampilan 3D, teknik 2.5D. Gambar berlapis bukan rig 3D penuh. Blender tidak ada dalam alur yang diungkap kreator ini.
  • Remotion bukan bebas tanpa syarat. Per pemeriksaan 30 Oktober 2026, Free License mencakup individu, perusahaan profit sampai tiga karyawan, nonprofit, serta evaluasi nonkomersial; penggunaan komersial diperbolehkan bagi yang memenuhi syarat. Organisasi di luar syarat memerlukan Company License. Tim perlu memeriksa kelayakan entitasnya, bukan hanya jumlah editor. Ada larangan menjual ulang turunan Remotion; cek ketentuan dan lisensi, termasuk versi yang Anda gunakan.
  • Gratis renderer bukan gratis produksi. Gambar, suara, transkripsi API, model agen, dan musik punya biaya atau hak pakai sendiri. Tidak perlu membeli semua alat untuk menguji satu kalimat.

Sumber

  • Tutorial karakter: How I turned myself 3D, oleh @hashhh.co. Body publik lengkap dibaca 1 November 2026: sheet, koreksi, full body, wide scene dan template sudut. Prompt di sini adaptasi, bukan salinan aset kreator.

  • Video referensi: Reel skit @hashhh.co. Identitas cocok metadata dan provenance studi sebelumnya; studi visual sebelumnya memakai frame sampel dan transkrip audio, bukan bukti seluruh gerakan sudah diperiksa atau ketiga tutorial punya video yang sama.

  • Kompatibilitas suara: TTS convert, best practices, bahasa/aksen voice, dibaca 1 November 2026. Dokumentasi tidak menggantikan validasi endpoint pilihan atau listening.

  • Tutorial suara: How I make AI voices sound human, oleh @hashhh.co. Ditambahkan 1 November 2026 dari teks sumber lengkap. Contoh/setting kreator diatribusikan, contoh Toni/Claude belum diuji; tidak ada klaim pengamatan reel atau listening test baru. Materi fan-made, tidak berafiliasi dengan Anthropic.

  • Alur kreator: How I make my AI skits, oleh @hashhh.co. Panduan ini mengadaptasi penjelasan tertulisnya, bukan mengklaim menonton seluruh proses produksinya. Visual di sini dibuat sendiri, bukan salinan gambar kreator.

  • Dokumentasi: Remotion audio, ElevenLabs, Deepgram, dan lisensi FFmpeg. Peran alat diverifikasi lewat sumber resmi; tidak semuanya dijalankan untuk artikel ini.

More Toolkits & Guides
Based in Jakarta
Digital Business research and collaboration

Let's build it as one system.