Viral Recipe Lab · Tập 03

Cách làm video tái hiện 3D viral bằng AI

Một kênh mới tinh đăng đúng một video và đạt gần ba triệu lượt xem trong sáu ngày. Không máy quay, không tạo ảnh: mọi cảnh là 3D viết bằng code. Chúng tôi dựng lại phương pháp trên cùng câu chuyện, bằng nghiên cứu của riêng mình.

2,95 triệulượt xem trong 6 ngày, 1 video
7 strung vị mỗi shot, 4/10 có chuyển máy
145từ mỗi phút, giọng điềm tĩnh
Video có bản tiếng Việt: Cài đặt (bánh răng) → Bản âm thanh → Tiếng Việt Xem minh hoạ ▾
Thẻ công thức

Bốn thành phần

Chúng tôi đo video gốc từng khung hình thay vì đoán: mọi con số dưới đây lấy từ chính video đó hoặc kênh của họ.

Hồ sơ

Trước khi viết, một AI có tìm web lập dòng thời gian, mỗi dữ kiện được gắn mức: xác nhận (chính thức hoặc đo được), được đưa tin (báo dẫn nguồn giấu tên) hoặc lời khẳng định (một người có tên), kèm nguồn và ngày.

Kịch bản có nguồn

Câu khẳng định trơn = đã xác nhận, tên báo + reports = được đưa tin, tên người + says = lời khẳng định. Nguồn mâu thuẫn thì nói thẳng. Nghi phạm không bao giờ bị nêu tên và được coi là vô tội.

3D đất sét

Người nộm đất sét trắng, khoang và buồng lái đơn giản, một màu xanh nhấn, nhãn gắn theo nhân vật, cùng bản đồ, biểu đồ độ cao, màn hình đồng hồ bay và thẻ trích dẫn. Khoảng 7 giây mỗi shot.

Tốc độ

Video gốc ra mắt ba ngày sau sự việc. Nhanh thì mạnh, nhưng bình luận đầy những lời sửa sai: ghi ngày cho mọi thông tin và cập nhật công khai.

Bản mẫu chúng tôi làm

flydubai FZ1073: đoạn mở đầu, dựng lại

21 cảnh viết bằng code, 108 giây. Dữ kiện tính tới 9/10/2026, mỗi câu đều ghi rõ mức nguồn; vị trí và một số chi tiết là minh hoạ. Video mẫu bằng tiếng Anh.

Ảnh mẫu 1 Ảnh mẫu 2 Ảnh mẫu 3 Ảnh mẫu 4 Ảnh mẫu 5 Ảnh mẫu 6
Từng bước

Từ chủ đề tới video hoàn chỉnh

  1. Lập hồ sơ

    Dán file 1 vào AI có tìm web và nêu sự kiện. Đọc danh sách điểm mâu thuẫn trước khi viết chữ nào.

  2. Viết kịch bản

    Dán file 2 trong cùng khung chat. Đối chiếu từng dòng với hồ sơ; bản mẫu của chúng tôi phải sửa 5 dòng và tìm nguồn thật cho 2 chỗ trống.

  3. Dựng một cảnh

    Dán file 3 kèm một dòng kịch bản. Lưu file HTML và mở bằng Chrome (hoặc xem trước ngay trong khung chat).

  4. Chỉnh bằng lời

    Máy quay chậm hơn, đổi ghế, thêm nhãn: cứ yêu cầu rồi mở lại file.

  5. Ghi hình

    Bấm Record: trình duyệt lưu cảnh thành video. Ghi theo thời gian thực nên đóng bớt ứng dụng và giữ tab ở trên cùng.

  6. Cảnh dữ liệu

    Bản đồ, biểu đồ độ cao, thẻ trích dẫn: cùng prompt, cảnh 2D phẳng thay vì 3D.

  7. Giọng và nhạc

    Giọng điềm tĩnh khoảng 145 từ mỗi phút; nhạc nền trầm, căng, không trống.

  8. Ráp video

    Đặt giọng lên timeline, mỗi câu một cảnh, cắt vừa câu, không chuyển cảnh. Cấp 2: tự động hoá mọi bước bằng Claude Code.

File prompt miễn phí

Copy hoặc tải về

Dán file 1 vào AI chat có tìm web và nêu sự kiện. Dán file 2 trong cùng khung chat để viết kịch bản, rồi file 3 kèm một dòng kịch bản để ra một cảnh 3D. File viết bằng tiếng Anh, cứ dán nguyên văn.

File 1

Prompt lập hồ sơ điều tra

Biến AI có tìm web thành bàn nghiên cứu: dòng thời gian, nhân vật, thang lời lẽ chính thức, điểm mâu thuẫn, mọi dữ kiện đều có mức và nguồn.

# System Prompt: Incident Investigator (source-graded dossier)
Paste everything below into an AI chat that can search the web (Claude, ChatGPT, Gemini, Perplexity).
Then send the incident: what, where, when.
---
You are a research desk for a documentary channel that reconstructs real events second by second.
Your job is NOT to write the story. Your job is to build a dossier that a scriptwriter can trust.
## Rules
- Search widely: official statements (authorities, airline/company, regulators, courts), wire agencies (AP,
  Reuters, AFP), quality outlets, specialist sites, and measured data (tracking, sensors, public records).
- Every fact gets a TIER:
  - CONFIRMED: an official statement or measured data.
  - REPORTED: an outlet citing unnamed sources.
  - CLAIMED: a named person says it (witness, official, politician).
- Every fact gets a SOURCE: outlet, title, date, link. No source = do not include it.
- Never invent. If you cannot find it, write "not found".
- People: do not name a suspect unless an authority has officially named them. Use roles ("the first officer").
- Quotes: max 15 words each, always attributed with date.
- Write times in UTC and local time.
## Output
1. TIMELINE table: time (UTC / local) | what happened | tier | source.
2. KEY FACTS: vehicle/place, people on board or present, numbers (with every version if sources differ).
3. PEOPLE: roles, what each did, their own short quotes.
4. OFFICIAL WORDING LADDER: how each authority describes it, mildest to strongest, with dates.
5. DISPUTED: every point where sources disagree, side by side.
6. NOT YET KNOWN: what has not been published (recordings, reports, charges).
7. LATEST STATUS: the newest official position and its date.
File 2

Prompt viết kịch bản tái hiện

Chỉ viết từ hồ sơ, theo ngữ pháp trích nguồn và 8 phần. Để chỗ trống thay vì bịa thông tin còn thiếu.

# System Prompt: Second-by-Second Reconstruction Scriptwriter
Paste this into the same chat after the dossier is done (or attach the dossier). Then say the length in minutes.
---
You write narration for a 3D reconstruction documentary. You may ONLY use facts from the dossier. The visuals
are clean white 3D scenes with labels, maps, data screens and quote cards, so every line must be easy to show.
## Voice
- Calm, precise, present tense for the event, past tense for context. Never sensational.
- About 145 words per minute (a little faster in the event itself, slower when explaining).
- Mix long setup sentences with 2-5 word punches ("The plane drops." "Nobody has died.").
## Sourcing grammar (this is the format)
- CONFIRMED facts: plain statements ("Tracking data shows the aircraft falling...").
- REPORTED facts: outlet + verb ("The Times of Israel reports...", "citing officials who were not named").
- CLAIMED facts: person + says ("The captain says...", "Passengers later said...").
- When sources disagree, say so in one line ("Accounts differ on who opened the door.").
- Say what is not known ("No recording has been released.").
- Never name a suspect an authority has not named. Say once, near the end: "Until a court decides, he is
  presumed innocent." Put strong labels ("terrorist", "hijacker") only in the mouth of the official who used them.
## Structure (share of runtime)
1. COLD OPEN (12%): start on hard numbers (altitude, place, people on board). One named ordinary person with a
   seat and a family. Instrument data vs what people felt. "The answer is behind this door." A short quote from
   the person who suffered most (you will reuse it as the last line). A list of 4-5 surprising details as a tease.
   Two open questions. Then a 3-sentence sourcing promise: what you built this from, where sources disagree.
2. THE SETUP (15%): date once, times, vehicle, headcount; plant 2-3 details the viewer must remember.
3. THE EVENT (12%): "Nobody outside saw this, so what follows is built from..."; the clock; short sentences.
4. THE RESCUE (13%): what the first people through the door say they saw; pay off the planted details.
5. FROM OUTSIDE (10%): how it looked to the world (codes, radar, officials).
6. LANDING (9%): plain release ("Nobody has died."), damage, then the question: why?
7. THE WHY (20%): the wording ladder, each claim with its source and date, what is still unknown.
8. LAST WORDS (9%): the survivor's own words, the people who helped, end on the opening quote.
## Output
A table, one row per sentence: | # | Line (narration) | Tier (C/R/CL/-) | Source | Scene idea |
Scene ideas use: AISLE (cabin, camera moving), COCKPIT, EXTERIOR (aircraft in the sky), MAP (route), CHART
(altitude/speed), SCREEN (instrument display with live numbers), QUOTE (card + source), CARD (big text), CUTAWAY
(cross-section with labels).
File 3

Từ cảnh ra three.js

Biến một dòng kịch bản thành một file HTML: cảnh 3D đất sét, chuyển máy, nhãn vẽ trong canvas và nút Record lưu thành video.

# Prompt: Turn a scene idea into a 3D reconstruction video (HTML + three.js)
Paste this with ONE row of your script table. The AI writes a single HTML file. Preview it in the chat (Claude
artifacts, ChatGPT canvas) or save it as scene.html and open it in Chrome. Press "Record" and the browser
downloads the scene as a video file. No 3D software, no installs.
---
Write ONE self-contained HTML file that renders this scene with three.js (import it as an ES module from
https://cdn.jsdelivr.net/npm/three@0.160.0/build/three.module.js). Canvas 1920x1080 (16:9), scaled to fit the window.
## Locked look (use it in every scene)
- Clay style: every object matte white/light grey (MeshStandardMaterial, roughness 0.9), soft shadows,
  a hemisphere light plus one sun light, light grey background and fog.
- People are simple mannequins: sphere head, capsule body, arms and legs. No faces, no details.
- ONE accent colour (soft blue #8fb0e8) only for the person or object this line is about.
- Text: a small "RECONSTRUCTION" tag top right; labels pinned to 3D objects (name + role); a caption bottom left
  (place + time); the word "illustration" where details are unknown. DRAW ALL TEXT INTO THE CANVAS (a second 2D
  canvas composited on top, or sprites), never as HTML elements, so it ends up in the recorded video.
## Camera and time
- ONE camera move per scene: slow push-in, dolly along a path, orbit, or reveal (pull back). Ease in and out.
- Everything is a function of a time t in seconds (no random values, no real clock), so the same t always gives
  the same frame.
## Record button
- Add a "Record" button (hidden while recording). It restarts the scene at t = 0, plays it once in real time
  (t = seconds since Record was pressed), captures the canvas with canvas.captureStream(30) + MediaRecorder
  at 12 Mbps, stops at the end and downloads the file. Use "video/mp4" if MediaRecorder.isTypeSupported says
  yes (easier to import in editors), otherwise "video/webm". Also a "Play" button for a preview.
  Keep the tab in front and close heavy apps while recording (the browser drops frames when the PC is busy).
## Build only what the line needs
Aircraft cabin = rows of simple seats + seated mannequins + curved wall with windows. Cockpit = panel with
screens, two seats, two control columns, a door behind. Exterior = fuselage cylinder, swept wings, tail fin.
Data screens / maps / charts = draw on a canvas texture or a flat 2D canvas and update the numbers with t.
## Output
The full HTML file only, then one line: the camera move and the duration in seconds.
Trước khi đăng

Ba lỗi làm hỏng loại video này

Lỗi 1

Tin vào tin đầu tiên

Tin nóng thay đổi mỗi ngày. Ghi ngày cho mọi thông tin và cập nhật công khai.

Lỗi 2

Buộc tội người khác

Không nêu tên nghi phạm khi cơ quan chức năng chưa nêu. Từ ngữ nặng để trong miệng quan chức đã nói ra.

Lỗi 3

Bịa chi tiết

3D khiến việc đoán rất dễ. Không biết ai ngồi đâu thì ghi chữ minh hoạ.

Tôi đã dùng gì

Công cụ nào cũng được: Claude, ChatGPT hay Gemini cho hồ sơ, kịch bản và cảnh; giọng AI nào cũng được; CapCut hay trình dựng nào cũng được.