พิมพ์ /animclip ตามด้วยหัวข้อใน Claude Code แล้ว AI จะเขียนบท จัดซีนแอนิเมชันพิกเซลผสมกระดาษปะติด พากย์เสียงไทย ใส่เพลงและเสียงประกอบให้ตรงคำพูด แล้วเรนเดอร์เป็นคลิปแนวตั้ง ไม่ต้องมีกล้อง ไม่ต้องมีคนออกหน้ากล้อง
Type /animclip and a topic in Claude Code, and the AI writes the script, builds pixel-art and paper-collage animated scenes, records a Thai voice-over, syncs music and sound effects to the words, and renders a vertical video. No camera, no one on screen.
ขั้นที่มีคนเป็นผู้ตัดสินใจหรือใช้งานSteps where a person decides or uses it
คลิปทดสอบที่ได้จากระบบ (ปิดเสียง)
A test video produced by the system (muted)
AI เขียนโค้ดให้ แต่โจทย์ เกณฑ์ และสิ่งที่ยอมไม่ได้ ผมเป็นคนกำหนด
The AI writes the code; the problem, the criteria and the non-negotiables are mine.
เวอร์ชันแรกเป็นแค่การเล่าข้อมูล ดูแล้วไม่มีอารมณ์ร่วม ผมเลยตั้งกฎให้ AI: เปิดด้วยคำถามใน 2 วินาที เว้นจังหวะก่อนตบมุก และถ้าเป็นคลิปเปรียบเทียบต้องปูพื้นก่อนว่าแต่ละฝั่งคืออะไร
Version one just recited information and had no emotional pull. I set rules for the AI: open with a question within 2 seconds, pause before the punchline, and in comparison videos explain what each side is before comparing.
คลิปที่ไม่มีเพลง หรือของบนจอโผล่ไม่ตรงคำพูด จะดูเหมือนสไลด์ ผมเลยให้ระบบลดเสียงเพลงลงตอนมีคนพูด ตัดซีนตามบีท และผูกของบนจอเข้ากับคำ
Without music, or with visuals that don't land on the words, it looks like a slideshow. The system ducks the music under speech, cuts on the beat and ties on-screen items to specific words.
ปุ่มและแคปชันของ TikTok บังขอบจอ ระบบจะดันข้อความและตัวละครให้อยู่ในพื้นที่ปลอดภัยเอง และจำกัดขนาดตัวละครไม่ให้บังเนื้อหา
TikTok's buttons and captions cover the edges. The system keeps text and characters inside the safe area and caps character size so nothing important is hidden.
ซีนที่ต้องโชว์หน้าจอจริง ระบบจะทำรายการภาพที่ต้องแคป แล้วเบลอชื่อคน ยอดเงิน หรือเลขบัญชีก่อนใส่ลงคลิปทุกครั้ง
When a scene needs a real screen, the system lists the shots to capture and blurs names, amounts and account numbers before they go into the video.
โค้ดทั้งหมดเขียนโดย Claude Code ตามที่ผมสั่ง ผมอ่านแล้วอธิบายได้ว่าแต่ละท่อนทำอะไร และทำไมต้องเขียนแบบนี้ (ข้อมูลลับอย่างรหัสผ่านและที่อยู่เครื่องถูกตัดออก)
All code was written by Claude Code under my direction. I can explain what each part does and why it's written that way. (Secrets such as keys and machine paths are removed; code comments are in Thai.)
AI เขียนบทออกมาเป็นไฟล์ JSON ซีนละก้อน ในก้อนบอกว่าพูดอะไร ฉากไหน ตัวละครท่าไหน และข้อความหรือไอคอนจะโผล่ตรงคำไหน คนแก้ไฟล์นี้ได้โดยไม่ต้องเปิดโปรแกรมตัดต่อเลย (ตัวอย่างย่อ)
The AI writes the script as JSON, one block per scene: what is said, which background, the character's pose, and which word triggers each text or icon. Anyone can edit it without opening editing software. (Shortened example.)
{
"id": "test01",
"voice": {"engine": "edge", "name": "th-TH-NiwatNeural", "rate": "+15%"},
"scenes": [
{"say": "คลิปนี้ AI ทำเองทั้งคลิป", "bg": "kraft", "transition": "cut",
"char": {"outfit": "tee", "pose": "wave", "enter": "drop"},
"headline": ["คลิปนี้", "AI ทำเอง"], "fx": ["burst"]},
{"say": "ตั้งแต่เขียนบท วาดภาพ ยันใส่เสียง", "bg": "grid", "transition": "slide",
"char": {"outfit": "hoodie", "pose": "type", "enter": "slide_left"},
"icons": [{"name": "bulb", "x": 0.78, "y": 0.42, "delay": 0.3}],
"headline": ["บท", "ภาพ", "เสียง"], "sfx": [{"name": "typing", "at": 0.2}]}
]
}ความยาวแต่ละซีนเริ่มจากความยาวเสียงพากย์ บวกช่วงเว้นจังหวะก่อนตบมุก (lead) แล้วปัดขึ้นให้ลงตารางบีทของเพลง ซีนเลยเปลี่ยนตรงจังหวะเสมอ เป็นเหตุผลที่คลิปดูมีจังหวะแม้ไม่มีคนตัดต่อ
Each scene starts from the voice-over length plus the pause before a punchline (lead), then is rounded up to the music's beat grid, so scene changes always land on the beat. That's why the videos feel edited even though no one edited them.
bpm = float(spec.get('bpm', 130))
beat_f = FPS * 60 / bpm # จำนวนเฟรมต่อหนึ่งบีท
grid = beat_f / 2 # ตัดได้ทุกครึ่งบีท
...
lead = float(sc.get('lead', 0)) # เว้นเงียบก่อนพูด (จังหวะตบมุก)
hold = float(sc.get('hold', 0)) # เว้นหลังพูด
need = max(float(sc.get('min', 1.0)), lead + dur_voice + 0.06 + hold) * FPS
dur_f = math.ceil(need / grid - 0.15) * grid # ปัดให้ลงตารางบีทเสียงพากย์อ่านแท็กอารมณ์ออกมาเป็นคำ
The voice engine read emotion tags aloud
ถอดเสียงคลิปที่ได้กลับมาเช็คทุกครั้ง ถ้าเจอก็ตัดแท็กตัวนั้นออก
Transcribe every finished video to check, and drop any tag that gets spoken
ตัวละครใหญ่จนบังจอ
Characters so big they covered the screen
ตั้งขนาดเริ่มต้นและเพดานขนาด และเช็คจากเฟรมจริงขนาดเต็ม ไม่ใช่จากภาพย่อ
Set a default and a maximum size, and check full-size frames rather than thumbnails
พื้นหลังซ้ำจนน่าเบื่อ
Repetitive backgrounds
สุ่มพื้นหลังเองโดยไม่ให้ซ้ำกับซีนติดกัน
Randomize backgrounds so neighbouring scenes never repeat
เสียงไทยไม่เป็นธรรมชาติ
Unnatural Thai voice
ทดลองหลายเสียงรวมถึงเสียงที่โคลนเอง สุดท้ายเลือกเสียงคนไทยจริงเป็นค่าเริ่มต้น
Tried several voices including my own cloned voice; settled on a real Thai speaker's voice as default