unlock-ai — workshop materials

UnlockAI: Editor Agent

ทุกอย่างที่ต้องใช้วันนี้อยู่ในหน้านี้ — ทำตามทีละข้อ ก๊อปแล้ววางได้เลย

step 0 โหลดแอป agent ของคุณ

เลือกตามแพ็กเกจที่สมัครไว้ — ใช้ตัวเดียวพอ

Claude Desktop สำหรับคนที่มี Claude Pro

ดาวน์โหลด Claude Desktop →

Codex สำหรับคนที่มี ChatGPT Plus

ดาวน์โหลด Codex →

เปิดแอปครั้งแรก: กด allow ให้ครบทุกอัน (เข้าถึงโฟลเดอร์ + รันคำสั่ง)

ตั้ง approval policy (ครั้งเดียว) Claude Desktop: permissions → Auto (หรือ bypass permissions) · Codex: approval → on request (หรือ never) — agent จะได้ทำงานยาวโดยไม่หยุดถามทุกคำสั่ง

เลือกโฟลเดอร์ทำงาน สร้างโฟลเดอร์ใหม่ใน Documents ชื่อ butabuilds-workshop-editor (ห้ามใช้ชื่อภาษาไทย) แล้วเลือกเป็น working folder ของ session ก่อนวาง Prompt 1

step 1 Prompt 1 — ติดตั้งทุกอย่าง

ก๊อปทั้งกล่อง วางในแชต agent แล้วปล่อยให้มันทำงาน — ตอบ yes ได้เลย ใส่รหัสผ่านเครื่องเมื่อถูกถาม

prompt 1 · setup
You are setting up my computer for a video-editing workshop. Do everything
yourself; only ask me when you need a choice or a password. Steps:

1. Detect my operating system, then check the package manager exists:
   - Mac: if "brew" is missing, install Homebrew with its official
     installer script (it will ask for my password), then activate it:
     eval "$(/opt/homebrew/bin/brew shellenv)"
   - Windows: check "winget --version" once. If winget is missing, hangs,
     or errors, do NOT install it and do NOT open the Microsoft Store —
     nothing in this setup needs winget itself. Just use the direct
     downloads in steps 2–3 instead.
   If bootstrapping fails, read
   https://raw.githubusercontent.com/Kusalin-T/unlockai-editor-agent/main/SETUP-HELP.md
   and follow its direct-download fallbacks; as a last resort open the
   relevant download page in my browser so I can install it by hand.
2. Make sure real ffmpeg is installed:
   - Mac: brew install ffmpeg
   - Windows with winget: winget install Gyan.FFmpeg
   - Windows without winget: download
     https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.zip ,
     extract it, and copy the archive's inner bin folder to C:\ffmpeg\bin
     (so C:\ffmpeg\bin\ffmpeg.exe exists) — the tools look there.
   Never install imageio-ffmpeg or any "python ffmpeg" package — those
   builds cannot burn subtitles. After installing, use a fresh shell so
   PATH updates apply.
3. Make sure Python 3.11+ is installed:
   - Mac: brew install python@3.12
   - Windows with winget: winget install Python.Python.3.12
   - Windows without winget: download the official Python 3.12 installer
     from python.org and run it with the flags /quiet PrependPath=1 —
     then use a NEW terminal so python is on PATH.
4. Download https://github.com/Kusalin-T/unlockai-editor-agent/archive/refs/heads/main.zip
   and unzip its CONTENTS directly into the current working folder
   (Documents/butabuilds-workshop-editor — the folder this session is
   already working in). No extra nested folder. Work here from now on.
5. Install the Python packages: python -m pip install -r requirements.txt
6. Copy .env.example to .env, then OPEN the .env file for me in a
   simple text editor (Windows: notepad .env / Mac: open -e .env).
   Do NOT ask me to paste the key into this chat. I will paste it into
   the file myself, right after GROQ_API_KEY=, and save. Tell me when
   the editor is open, then WAIT until I say "done". After I say done,
   read .env and confirm a key is present (it starts with gsk_) —
   if it's missing, reopen the file and wait again.
7. Run: python tools/verify_setup.py — and fix anything that fails.
8. Start the timeline UI in the background: python butacut/serve.py
   — then open http://127.0.0.1:8766 in my default browser.
9. When every check passes, say "READY" and show me the check output.
step 2 คีย์ของคุณ

คีย์ห้องเรียนปิดแล้ว คีย์ที่ใช้ในเวิร์กช็อป (9 ส.ค.) ถูกปิดตามที่บอกไว้ — ทำคีย์ของตัวเองฟรีใน 2 นาที แล้วทุกอย่างใช้ต่อได้เหมือนเดิม · ขั้นตอนอยู่ในหัวข้อ take it home ด้านล่าง · ย้ำเหมือนเดิม: วางคีย์ในไฟล์ .env เท่านั้น ห้ามวางในแชต

the build Prompt 2–9 — ก๊อปตามจังหวะบนจอ
prompt 2 · hear the words (transcribe)
I want to edit the sample video. First, get me the words: transcribe the sample video so every word has its exact time. Use Groq cloud transcription with the key in .env — I approve uploading the audio to Groq, so don't stop to ask.
prompt 3 · cut the silences
Look at the tools in this folder. I want to cut the silent parts from the sample video — which tool does that? Run it.
prompt 3b · cut tighter (optional)
ใช้เฉพาะถ้ารอบแรกยังไม่แน่น — เสียงรบกวนถูกนับเป็นเสียงพูด หรือช่วงเงียบยังเหลือเยอะ
The silence cut isn't tight enough: it counted some background noise as me talking, and it left the pauses too long. Run the silence-cut tool again with stricter settings — raise --threshold one step so background noise counts as silence, and lower --min-silence to 0.2 so shorter pauses get cut too. Replace the previous cut and tell me the before/after duration — I'll check the timeline in ButaCut.
prompt 4 · cut the mistakes
When I mess up a line I repeat the same word or phrase. Find every repeated take in my transcript: consecutive identical words or phrases (ignore case and punctuation, at least 2 characters, repeats within 2.5 seconds of each other). Keep only the LAST occurrence and cut the earlier ones by updating the keeps in the project file, per section 6 of butacut/edit-contract.md: pad the cut 0.05s before the flubbed take, end it 0.03s before the kept take, and never let a cut eat a word that stays in. List every cut you made with its timestamp — I'll restore anything you got wrong in ButaCut.
prompt 5 · one-word burst subtitles
Turn the transcript into subtitles — one big word at a time, timed to exactly when I say each word (the burst style, the tool's default).
prompt 6 · effects when I call them
Read my transcript and find every moment where I SAY an effect name: "zoom in", "zoom out", "whoosh", "sound effect", "pop up". Write fx/sfx events into the project file (edit.json) exactly per section 6 of butacut/edit-contract.md: each event fires at that word's start timestamp. "Zoom in" ramps ease-out over ~0.5s to 1.3x and HOLDS until I say "zoom out", which releases back to 1.0 — pair them, and add the whoosh sound to both. "Whoosh" plays assets/sfx/whoosh.mp3, "sound effect" plays assets/sfx/ding.mp3, "pop up" is a card pop-up plus assets/sfx/pop.mp3. Zoom scales only the video — subtitles stay unzoomed. Show me the events on the ButaCut timeline before rendering anything.
prompt 7 · review the cut (fix & iterate)
ก่อนวาง: ดูคลิปเต็มหนึ่งรอบใน ButaCut แล้วแก้ทุกอย่างที่ขัดใจ — ลากใน ButaCut หรือพิมพ์สั่ง agent เป็นคำพูดก็ได้ · พอใจแล้วค่อยวาง prompt นี้ให้ agent สรุปว่าอะไรพังซ้ำ
I just finished fixing my first cut — I made changes in ButaCut and asked you for corrections in this chat. Re-read the project file (edit.json), compare it with what you originally wrote, and go back through my corrections. List every issue I had to fix, then identify the RECURRING ones and the exact fix that worked for each (example: a subtitle staying on screen after the word is already finished → end each subtitle at the word's end timestamp, not at the next word's start). Save the recurring issues and their fixes to review-notes.md — we'll bake them into my skill next.
prompt 8 · make it a skill
Save the pipeline we just ran as a reusable skill named butabuilds-editor-skill. Look back through this whole conversation and collect every step we ran, every preference I stated, and every correction I made along the way — those are my editing preferences. Write them into the skill file together with the tools, the settings that worked, and the recurring fixes from review-notes.md, so next time I only have to say "edit this video".
prompt 8b · plan effects before adding them
วางทันทีหลัง Prompt 8 — เปลี่ยนจาก “ได้ยินชื่อเอฟเฟกต์แล้วใส่” เป็น “อ่าน transcript → เสนอแผน → รอคุณอนุมัติ → ค่อยใส่เอฟเฟกต์”
Update butabuilds-editor-skill so it chooses effects intelligently for real videos instead of only adding them when the transcript literally says an effect name. Add an effect-planning checkpoint after transcription, cuts, and subtitles but before any fx/sfx are written: read the transcript and propose a short plan for where zoom in, zoom out, whoosh, sound effect, or pop up would strengthen emphasis, pacing, or clarity. For each suggestion, show the timestamp, the transcript phrase, the effect, and one short reason. Use effects sparingly; it is okay to suggest none. Show me the plan and wait for my approval or changes. Only after I approve may you write the effects to edit.json and render. Save this rule in the skill.
prompt 9 · use the skill
delete the final version. now edit the sample video again with butabuilds-editor-skill
prompt 10 · your own video
[video path] edit this video with butabuilds-editor-skill
fix-it · เวลาเจอ error
วางข้อความ error แทนคำว่า [paste] แล้วส่ง
Here is the error: [paste]. Fix it, then run the setup check again and show me the result.
level up ทางเลือกเพิ่มเติม (ช่วง free play)

Prompt 13 — Finish กด Apply cut ใน ButaCut → มันจะโชว์ prompt ที่เขียนมาให้โปรเจ็กต์คุณโดยเฉพาะ → ก๊อปไปวางในแชต agent → ได้ไฟล์จริง

film your own เอาคลิปจากมือถือเข้าเครื่อง

Mac AirDrop จากไอโฟน → ไฟล์ไปอยู่ในโฟลเดอร์ Downloads → บอก agent: "ใช้คลิปล่าสุดใน Downloads"

Windows ง่ายสุด: ถ่ายด้วยแอป Camera บนโน้ตบุ๊กเลย (กล้องหน้า อัดวิดีโอ) — ไฟล์อยู่ใน Pictures\Camera Roll

LINE ส่งคลิปเข้า LINE หาตัวเอง (Keep) → เปิด LINE บนคอม → ดาวน์โหลดไฟล์

take it home ทำคีย์ของตัวเอง (ฟรี 2 นาที)

คีย์ของห้องปิดแล้ว — ทำของตัวเองแล้วทุกอย่างใช้ต่อได้เหมือนเดิม

เข้า console.groq.com → สมัครฟรี (ไม่ต้องใส่บัตร)
เมนู API KeysCreate API Key → ตั้งชื่ออะไรก็ได้ → ก๊อปคีย์เก็บไว้
เปิดไฟล์ .env ด้วย TextEdit หรือ Notepad → ลบคีย์เดิมหลัง GROQ_API_KEY= → วางคีย์ใหม่เอง → เซฟ (ห้ามวางคีย์ในแชต)

อยากได้ถอดเสียงแม่นขึ้นอีก? บริการแบบเสียเงินเสียบช่องเดียวกันได้ — ถาม agent ว่า "what better transcription services can plug into my pipeline?"

Workshop folder โค้ดทั้งหมดที่ใช้วันนี้ — เผื่ออยากลงเครื่องอื่น

github.com/Kusalin-T/unlockai-editor-agent →

Community ส่งการบ้าน + ถามต่อได้ใน LINE

เพิ่มเพื่อน LINE OA →

extra homework เพิ่ม Remotion เข้า workflow

ทำหลังเวิร์กช็อปเมื่อพร้อม — prompt นี้เก็บ ButaCut/FFmpeg ไว้สำหรับ transcript + cuts แล้วเพิ่ม Remotion สำหรับ captions, motion graphics, overlays และ final render

extra homework · Node + Remotion setup
Upgrade this workshop project with a separate Remotion workspace. Preserve every existing ButaCut, Python, footage, skill, and output file; do not replace the current workflow.

1. Detect my operating system and architecture. Check node, npm, and npx. If any are missing, install the current Node.js LTS (not Current) from official sources only: on Mac use Homebrew or the official Node installer; on Windows use "winget install OpenJS.NodeJS.LTS" or the official nodejs.org MSI. Open a fresh shell and verify all three versions.
2. From the current project root, create "remotion-studio" with:
   npx create-video@latest --yes --blank --no-tailwind remotion-studio
   Keep it inside this project and do not create or keep a nested Git repository.
3. Install the official Remotion skill at project scope:
   npx skills add remotion-dev/skills --skill remotion-best-practices
   Choose the agent I am using if prompted.
4. Configure a vertical starter composition named CreatorVideo at 1080x1920, 30fps, with public/media, src/components, src/compositions, and out folders. Add scripts for Remotion Studio, a one-frame still, a full render, and typecheck. Use frame-driven Remotion animation, not CSS animation.
5. Add a rule to butabuilds-editor-skill: keep transcription and cut decisions in ButaCut/FFmpeg; use Remotion for captions, motion graphics, overlays, compositing, and final rendering when it improves the result. Before rendering, show which layer each tool will handle and wait for my approval.
6. Install dependencies, run typecheck, render a still to out/setup-check.png, start Remotion Studio in the background, open it in my browser, and say READY only when every check passes. Show the versions, paths, and check results.

Remotion ใช้ฟรีสำหรับบุคคลและทีมไม่เกิน 3 คนตาม license ปัจจุบัน; ทีมใหญ่กว่านั้นควรเช็ก license ที่ remotion.dev ก่อนใช้เชิงพาณิชย์

free skills ดาวน์โหลดแล้วใช้ต่อได้เลย

กดปุ่มเดียวเพื่อโหลดครบทั้ง 4 skills → แตก ZIP → ลากโฟลเดอร์ skill เข้า project → บอก agent ว่า “install this skill for this project” · ไฟล์ skill ฟรีทั้งหมดและไม่ต้องใช้ API key

Remotion Agent Skills official · popular

แพ็กทางการสำหรับสร้างวิดีโอ, captions, transitions, audio, rendering และ Remotion Studio

Short-form Scriptwriter Buta Builds

เปลี่ยนไอเดียหรือ transcript เป็น hook 3 แบบ + สคริปต์พูดจริง + caption + filming notes

Content Repurposer Buta Builds

เอา source เดียวไปแตกเป็น short video, carousel, caption และ text post โดยไม่แต่งข้อมูลเพิ่ม

Transcript Edit Planner Buta Builds

อ่าน timestamp แล้วเสนอ cuts, captions, visual support และ effects — รออนุมัติก่อนแก้หรือ render