網站啟動影片
回覆使用者的語言。除非另有要求,否則影片文案使用英文。
輸出:工作目錄中的 <brand>_launch.mp4(1920x1080,30fps,H.264 + AAC)。
成本:無需生成 credits。此工作流程切勿呼叫 generate_video / generate_audio——所有內容均透過 Higgsfield 沙箱中的程式碼渲染。
需求
- Higgsfield MCP 連接器(提供
sandbox_exec、media_upload、media_confirm、get_workflow_instructions)。 - 瀏覽器工具(內建瀏覽器或 Chrome 中的 Claude)以讀取網站。
需要取得的輸入(僅在缺少時詢問)
- 網站 URL(必要)。
- 選用:優惠券/折扣、是否為使用者自己的產品或付費推廣(推廣 → 提醒他們在發文時加上
#ad)、音樂風格、是否為直式 9:16。
步驟 1 - 讀取網站
- 導航至 URL,然後執行 JS
document.body.innerText(等待約 2 秒以處理 SPA)。收集:H1、副標題、4-6 個功能標題、價格、優惠/折扣文字、保證/信任文字、CTA 標籤。 - 截圖並滾動 2-3 次以查看視覺風格(卡片、膠囊、眉標、按鈕、強調字顏色)。
- 抓取計算後的樣式:body/h1/h2/button 的
fontFamily, color, backgroundColor, letterSpacing, fontWeight,以及所有背景和文字顏色的頻率計數。 - 如果頁面因 CSS 被封鎖而以無樣式呈現,請改為在沙箱中拉取 CSS:
curl -sL -A "Mozilla/5.0" URL -o index.html; grep -o '/_next/static/[^"]*\.css' index.html(或任何<link rel=stylesheet>),將它們 curl 進all.css,然後grep -oE -- '--(background|foreground|brand|primary|accent|muted|border|card|surface|ink)[a-z-]*:[^;}]*' all.css | sort -u以及grep -o 'font-family:[^;}]*' all.css | sort -u。 - Logo:header 中的
<img>(例如/logo.png)或/android-chrome-512x512.png//apple-touch-icon.png。合作夥伴 Logo 以 SVG 形式存在 →convert -background none -density 1200 x.svg -resize 400x400 x.png。
步驟 2 - 設計 Token
將網站對應到模板 Token:BG, INK (標題), MUTED (主體灰), BRAND (強調色), BRAND_SOFT (強調色淡色調用於晶片), PANEL (灰卡底), WHITE (卡片)。暗色網站 → 暗色 BG,淺色 INK,無柔和陰影。鏡像網站的模式:如果網站這樣做,則使用兩行標題,第二行為強調色;眉標/標籤晶片;帶箭頭的藥丸按鈕;灰色面板搭配白色卡片。
步驟 3 - 字型
來自 fontsource 的每個字重的靜態 TTF(任何 Google 字型):
curl -sf -o font-800.ttf https://cdn.jsdelivr.net/fontsource/fonts/<font-slug>@latest/latin-800-normal.ttf(slug = 小寫,空格→連字號,例如 bricolage-grotesque、urbanist)。在 await p.add("font-800.ttf") 之後,透過 typography={{fontAssetId: handle.id}} 使用。拉丁子集沒有 → ✓ ★ 字形 - 請使用 icon("arrow-right") 等。內建系列(Inter、DM Sans、Montserrat…)可以使用 higgsedit fonts add . Inter:400 Inter:700 + fontFamily。
步驟 4 - 編寫影片腳本
在每次 Higgsedit 工作之前,載入 Higgsfield video-editing 工作流程一次(每個工作階段一次)(get_workflow_instructions {workflow:"video-editing"})。
從 reference/template.jsx 開始。預設結構,約 25 秒:
| # | 場景 | 時間 | 內容 |
|---|---|---|---|
| 1 | 鉤子 | 0-3.3 | 用 2 行表達痛點,眉標 "For <受眾>" |
| 2 | 認識 | 3.3-7 | Logo + 品牌,網站 H1,副標題,CTA 按鈕彈出 |
| 3-6 | 功能 | 各約 3.7 秒 | 眉標 = 網站區段標籤,標題 = 網站本身的功能標題,一個原生 UI 模擬(帶計數器的統計卡片、帶標籤的行、熱力圖網格、佇列列表、評論卡片、日期藥丸…) |
| 7 | CTA | 最後約 4.3 秒 | Logo + 網域,價格/優惠卡片,優惠券藥丸 + 按鈕,保證文字 |
規則:
- 使用網站的真實文案和真實範例數字。告訴使用者哪些示範值是說明性的。切勿虛構使用者計數或推薦。
- 原生重建 UI(框架/文字/圖示)。請勿使用低解析度網站截圖或 AI 生成的 UI。
- 保持場景開始時間 - 音樂需要它們(
cuts= 場景 2..7 的開始時間)。
步驟 5 - 沙箱建置與預覽
沙箱須知:當沙箱重置時檔案會消失(如果 cd 失敗則重新下載資源);一個指令最多 16,000 字元(將上傳 URL 寫入檔案,然後在另一個呼叫中使用長 heredoc cat > edit.jsx);長時間渲染 → background:true 然後輪詢。
- 預先
media_upload輸出(一個預覽sheet.png和最終的.mp4),並將每個 upload_url 儲存在沙箱中的一個.txt檔案內。預簽名 URL 是一次性的:第二次 PUT 會回傳 412 - 請求一個新的。 - 在一個呼叫中建置 + 製作聯絡表 + 上傳:
higgsedit build edit.jsx 2>&1 | grep -iE "error|missing"; higgsedit sheet . --times <每個場景中點 + CTA 結束時間> --cols 3 --out renders/sheet.png; curl -s -o /dev/null -w "%{http_code}" -X PUT -H "Content-Type: image/png" --upload-file renders/sheet.png "$(cat sheet_url.txt)" media_confirm,將回傳的公開 URL 下載到本地並查看。在最終渲染前修正佈局問題。
Higgsedit 注意事項:
padding是一個數字或{left,right,top,bottom},絕不能是陣列。- Token
motion={{by:"word"|"character"}}用在置中文字上時會導致重新排版(文字從左邊跳動)。置中文字請使用animate={pop};Token 動畫僅適用於靠左對齊的「打字」文字。 - 時間軸
target必須是直接命名的子框架,不能是自身 - 使用animate關鍵影格(delayPop)來為自身添加動畫。 - 計數器:使用一個固定大小的
layout="none"框架搭配一個靜態文字;不要使用千位分隔符。 animate始終是一個陣列;框架的motion是一個物件。
步驟 6 - 渲染
higgsedit render . --out renders/promo.mp4 --quality final(25 秒約需 1 分鐘)。
步驟 7 - 音樂(每次不同)
scripts/music.py = numpy 程序化音樂,免版稅。風格:pop(120bpm 明亮)、lofi(82bpm chill 爵士)、synthwave(105bpm 復古)、house(124bpm offbeat)、cinematic(90bpm 史詩)、marimba(110bpm 友善)。每首曲目:每個剪輯點前有一個呼嘯聲,CTA 上有一個衝擊音,1.6 秒淡出。
選擇風格 - 絕不重複最近兩次:
- 讀取此技能資料夾中的
music-history.log(如果不存在則建立)。 - 匹配氛圍:開發/AI/科技 → synthwave 或 house;創作者/寫作/生產力 → lofi 或 marimba;大型/高級啟動 → cinematic;消費者/娛樂 → pop。除非使用者要求,否則跳過最近 2 筆記錄中使用的風格。
- 隨機
--seed→ 隨機調性和進行,因此即使相同風格聽起來也不同。 - 將
YYYY-MM-DD <site> <style> seed=<n>附加到music-history.log。
將 music.py 放入沙箱(首次執行):media_upload,檔案名稱為 music.py → 從本地機器 curl -X PUT -H "Content-Type: application/octet-stream" --data-binary @scripts/music.py '<upload_url>' → media_confirm type:file → 將回傳的公開 URL 儲存到此技能資料夾中的 music_url.txt。後續執行:在沙箱內執行 curl -sf -o music.py "$(cat music_url.txt)"(如果回傳 404 或 music.py 已更改則重新上傳)。
合成:
python3 music.py --style <style> --duration <video secs> --cuts <c2,c3,...,c7> --seed <n> --out music.wav
ffmpeg -y -v error -i renders/promo.mp4 -i music.wav -filter:a "loudnorm=I=-15:TP=-1.5:LRA=11" -c:v copy -c:a aac -b:a 192k -map 0:v -map 1:a -shortest final.mp4
持續時間:ffprobe -v error -show_entries format=duration -of csv=p=0 renders/promo.mp4。
步驟 8 - 交付
上傳 final.mp4(全新 URL)→ media_confirm type:video → 將其作為 <brand>_launch.mp4 下載到本地 → 將檔案交給使用者。報告:哪些內容與網站相符(背景/顏色/字型/Logo)、場景列表、音樂風格、哪些數值是說明性的。提供 9:16 版本或不同音樂風格。
9:16 變體
size: "1080x1920",W=1080 / H=1920,垂直堆疊行(卡片排成列),標題大小 ×0.75,相同時間和音樂。