Communitygithub.com

0xsline/openchatcut

通過 Fal.ai、Seedance 2.0、Kling、MiniMax Hailuo、xAI Grok Imagine 和 OFox 進行 AI 影片生成。當使用者想要生成影片片段時使用 — 文字轉影片、圖片轉影片、首/尾幀轉場、參考引導生成、多鏡頭,或對現有片段進行生成式編輯/延伸。

openchatcut 是什麼?

這個 AI 技能是一個統一的影片生成介面,支援 Fal.ai、Seedance 2.0、Kling、MiniMax Hailuo、xAI Grok Imagine 和 OFox 等多種模型。每個呼叫會提交一個影片生成任務並傳回 `jobId`;任務管理(等待/狀態)由 `track_progress` 工具負責。它不會自動將影片放置在時間軸上。該技能支援文字轉影片、圖片轉影片、首尾幀轉場、參考引導生成、多鏡頭腳本,以及對現有片段進行生成式編輯/延伸。選擇模型時會優先考慮使用者設定的供應商,未配置時預設使用 Seedance 2.0。技能強制要求一個四步驟工作流程:對齊範圍、撰寫提示、提交並確認、迭代。它高度強調視覺一致性,要求使用參考錨點(圖片或影片)來維持多鏡頭之間的角色與風格一致性,並明確禁止在不經使用者確認的情況下進行平行提交或臆測。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/0xsline/openchatcut/tree/HEAD/src/agent/skills/video-gen

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

影片生成 (Video Gen)

每次呼叫提交一個影片生成任務並傳回 jobId。任務管理(等待/狀態)屬於 track_progress 的範疇;此技能不會自動將影片放置到時間軸上。

使用時機

每當使用者想要生成一個影片片段時 — 文字轉影片、圖片轉影片、首尾幀轉場、基於參考的生成、多鏡頭腳本,或對現有影片進行生成式編輯/延伸(根據來源片段生成新的素材;並非時間軸修剪)。

模型

模型參考文件優勢
fal + falModelreferences/fal.md明確的 Fal 目錄;請參閱工具架構了解每個模型的限制
seedance2references/seedance2.md配置時的預設模型。多模態參考、首/尾幀、編輯/延伸/橋接、2–15 秒、480p/720p/1080p/4k、音訊/種子/相機/浮水印/尾幀/任務控制。
klingreferences/kling.md技術性相機/效能;Omni 多鏡頭;圖片 ≤7(使用一個功能 refVideos 時 ≤4);std/pro;3–15 秒。
hailuoreferences/hailuo.mdMiniMax 海螺。T2V / I2V / 首+尾幀;6 秒或 10 秒;512P (Hailuo-02)、720p→768P、1080P (6 秒);不支援多參考/多鏡頭。
grok-imagine-videoreferences/grok-imagine-video.mdxAI Grok Imagine。僅文字轉影片;1–15 秒;480p/720p/1080p;包含音訊軌道。
ofoxreferences/ofox.mdOFox 多模型閘道(Seedance/Wan 等共用一個金鑰)。文字/圖片轉影片、首+尾幀、最多 9 張圖片參考;2–30 秒(依模型 API 限制);480p/720p/1080p(依模型而定)。

重要: 生成之前,請閱讀所選模型的參考文件,了解其能力、輸入通道、模式、提示結構以及模型特有的行為。切勿發明該參考文件禁止的參數。

模型選擇

尊重從能力提示中配置的供應商(僅呼叫其金鑰已開啟的模型)。

  1. 使用者指定了供應商("用海螺"、"MiniMax"、"Kling"、"Seedance")→ 使用該 model(如果已配置)。
  2. 如果選擇或要求使用 Fal.ai,則使用 model: "fal" 和要求的 falModel 或儲存的 Fal 預設值(來自能力)。如果未選擇 Fal 模型,則詢問。請閱讀工具架構中的 Fal 目錄限制;下方的原生供應商限制不適用。
  3. 否則,當 Seedance 已配置時,預設使用 seedance2。
  4. 否則,如果只配置了 Kling → kling。如果只配置了 MiniMax → hailuo。如果只配置了 xAI → grok-imagine-video。如果只配置了 OFox → ofox。
  5. 在以下情況跳過預設值:
    • 需要多鏡頭自訂/智慧 → kling(如果非使用者指定,需確認)。
    • 需要豐富的多模態參考(影片/音訊參考、編輯/延伸)→ seedance2。
    • 需要短暫單一拍且只有 MiniMax 可用,或使用者想要 Hailuo → hailuo,時長為 6 或 10 秒。

如果所需的模型未配置,請告知使用者,並提供替代方案:另一個已配置的影片供應商、上傳或動態圖形 — 不要假裝該 API 存在。

在提交之前,簡短告知使用者您將生成什麼。

工具參數

參數值預設值
modelseedance2、kling、hailuo、grok-imagine-video、ofox、falseedance2(可用時)
durationSeconds依模型而定seedance/kling ~5;hailuo 6 或 10(1080p → 僅 6);grok 1–15;ofox 2–30(依模型 API 限制)
ratio請參閱模型文件16:9(seedance/kling/grok/ofox);hailuo 忽略此參數
resolution480p、512p、720p、1080p、4k依供應商而定;hailuo 為 Hailuo-02 新增 512p;grok: 480p/720p/1080p
refVideoModefeature、base僅 kling,需搭配 refVideos
promptOptimizer / fastPretreatment布林值僅 hailuo
generateAudio、seed、cameraFixed、watermark控制項僅 seedance
returnLastFrame、executionExpiresAfter、priority控制項僅 seedance;請求的尾幀會變成另一個圖片資產
name描述性資產名稱為獲得良好的池 UX 而必填
firstFrame專案圖片資產參考可選
lastFrame專案圖片資產參考seedance / kling / hailuo(需搭配 firstFrame;seedance 多參考時不支援)
refImages / refVideos / refAudios資產參考seedance 完整;kling: 圖片 + 1 個功能影片(無音訊);hailuo: 無(幀 / S2V 主體)
mode / shotType / multiPromptsKling 多鏡頭僅 kling

模型特有的參數 — 請參閱該模型的參考文件。

輸入解析度

firstFrame / lastFrame / refImages / refVideos / refAudios 都接受專案資產參考。偏好使用來自 read_project 的完整 UUID 或簡短前綴;asset://<id> 和由 read_project 傳回的同一專案資產 URL 也可接受。按插槽類型:幀插槽和 refImages → 圖片;refVideos → 影片;refAudios → 音訊。

不接受外部 URL 和 base64。如果來源是公開 URL,請先將其下載到專案中(影片/音訊使用 download_media,圖片使用 submit_image),並傳入產生的資產 ID。

工作流程

四步驟循環。對於每次新的生成,如果使用者的意圖已改變,則從步驟 1 重新開始。

步驟 1 — 與使用者對齊範圍

在撰寫任何提示之前,先在三個維度上對齊:

  1. 時長與片段 — 總長度、鏡頭數量,以及它們是位於同一個片段還是多個片段中。

    如果使用者已經陳述了方向("做一段"、"in one video"、"分別生成"、"split into N shots" 等),則遵循指示 — 不要擅自揣測。

    否則,向使用者呈現兩種路徑並讓他們選擇:

    • 單一片段內的多鏡頭(請參閱模型參考) — 單次推理,子鏡頭之間的主體、光線、風格在物理上保持一致;適合在每個片段的時長上限內講述一個連貫的故事。
    • 多個片段 — 每個片段可獨立控制和重新生成,但身份和風格連續性必須透過錨點來維繫;適合超出時長上限或具有明顯場景轉換的情況。

    說明取捨;不要替使用者決定。

  2. 內容 — 每個片段描繪的內容。按片段總結您理解的內容。當內容模糊時(例如 "generate a video of a girl dancing"),使用者通常未指定以下一項或多項:

    • 主體:主要主體是誰/是什麼(外觀、服裝、定義特徵)?
    • 動作:他們在做什麼?(對於說話/情感鏡頭,微表情是什麼?)
    • 場景:在哪裡 — 設定、時間、環境細節?
    • 光線 / 色調氛圍:什麼氣氛?
    • 相機:是否有任何鏡頭大小/角度/移動偏好?
    • 風格:視覺風格或參考(電影感 / 動畫 / 紀錄片 / …)。

    專注於對這個特定請求重要且無法安全推斷的項目 — 不要將其變成填空練習。在繼續之前,將理解的部分總結給使用者。

  3. 一致性錨點 — 僅當多個鏡頭重複使用角色、物體或場景時:確定哪個錨點(參考圖片或影片)要在各鏡頭之間固定。關於來源規則,請參閱下文 "多鏡頭之間的視覺一致性"。

對於每個維度,檢查使用者的話語:

  • 明確 — 繼續。
  • 模糊或缺失 — 詢問使用者。不要猜測,不要預設為您自己的解釋。一輪確認比一次浪費的生成更便宜。

不該做的事

  • 不要 "先說再提交" — 宣布 "我將把它做成 2 個片段" 並立即提交不是對齊,而是單方面決定加公告。
  • 不要預設將單一影片請求拆分成多個片段。 單一片段可以承載多個子鏡頭(請參閱模型參考),主體、光線、風格在它們之間可以物理上保持一致。說明取捨,然後讓使用者選擇。
  • 不要跳過詢問, 即使您認為答案是顯而易見的。

硬性覆蓋(使用者的明確話語優先)

  • "one clip / single clip / 一條 / 一個鏡頭 / in 1 clip" → 永遠不要拆分,即使描述客觀上很長。
  • "N shots / N 段 / N 個鏡頭" → 精確生成 N 個。
  • "use this image / 用這張圖" → 作為參考使用,不要替代。

步驟 2 — 撰寫提示

請參閱所選模型的參考文件,了解提示結構和參數組合(例如 Seedance 的 8 要素結構和模式;Kling 的提示技巧)。提交前,請檢查:

  • name 是一個描述性資產名稱 — 描述性足夠強,讓使用者(以及您在後續回合中)能夠在專案庫中識別此資產。避免使用模糊的名稱,如 "Untitled" 或 "clip 1"。
  • 參數組合與使用者的意圖相符 — 請參閱模型參考中的 模式 部分。
  • 生成的影片音訊不是工具參數(由供應商方決定)。Hailuo 沒有比例/多參考;不要發明這些參數。
  • 驗證失敗時,請閱讀錯誤訊息並修正輸入 — 不要盲目地重試相同的無效參數。

步驟 3 — 提交一個、等待、確認

一次只提交一個生成任務。 除非使用者明確要求平行生成多個片段,否則請勿在當前片段完成且使用者審核之前提交下一個片段。平行提交會隱藏問題:如果第一個鏡頭出現漂移或錯誤構圖,使用者寧願重做一次,也不願有多個偏差的鏡頭需要丟棄。

  • submit_video.ratio 僅控制生成的資產;它不會改變專案時間軸畫布。如果使用者要求特定的最終輸出寬高比(例如 "9:16 垂直" 或 "16:9 水平"),在放置完成的資產之前,使用 manage_timelines 操作=update(例如 ratio:"9:16")將時間軸畫布設定為相同比例。如果使用者要求無黑邊 / 滿版,請在設定畫布或更新/新增視覺項目時傳遞 fit:"cover"。
  • 不要使用此技能進行任務管理 — 使用 track_progress 工具來處理狀態/等待。
  • 提交後,結束您的回合(告知使用者任務已建立),除非已有排隊的後續任務。
  • 任務完成時,在繼續下一個鏡頭之前,將結果展示給使用者審核。
  • 模型特定的失敗處理 — 請參閱該模型的參考文件。

步驟 4 — 迭代

當使用者想要下一個鏡頭、修改或延續時:

  • 如果這是多鏡頭序列中的下一個鏡頭 — 重複使用已建立的錨點(關於原則,請參閱下文 "多鏡頭之間的視覺一致性";關於標誌層面的細節,請參閱模型參考)。
  • 如果使用者的回饋是模糊的("它感覺不對") — 在重新生成之前,詢問具體要更改什麼。
  • 如果相同的文字提示調整失敗了兩次 — 停止調整文字。改用參考圖片,或在模型支援的情況下切換到編輯模式(請參閱模型參考)。
  • 每次新的生成都會在步驟 1 重新開始循環 — 如果範圍發生變化,請重新對齊。

多鏡頭之間的視覺一致性

僅靠文字無法可靠地在多個鏡頭之間維持視覺身份;視覺參考對輸出的約束遠比文字精確得多。

錨點:一致性的基石

錨點 是一個參考圖片或影片,固定在共用相同角色、物體或風格的每個鏡頭上。任何具有重複視覺元素的多鏡頭序列都需要一個錨點 — 不要試圖僅從文字複製它們。

獲取錨點

具備參考意識。當使用者的請求涉及重複出現的角色/物體/場景時,在撰寫提示之前思考要使用哪個錨點:

  • 首先檢查專案。 使用者已經提供或批准了什麼?上傳的圖片、先前生成並批准的鏡頭,或先前的專案資產都可以作為錨點。
  • 匹配使用者的意圖。 如果使用者指向特定資產("use this photo"、"像上一段那樣"),則使用該資產。如果他們僅用文字描述了一個角色,則尚不存在錨點,必須建立一個。
  • 有疑問時,詢問使用者。 不要猜測要固定哪個資產,也不要在使用者可能已經有想法時默默生成一個新的錨點。

建立新的錨點(需經使用者同意)

當沒有現有資產適合且必須生成一個時,請先向使用者提出建議 — 它會影響後續的每一個鏡頭。模型特定的路徑 — 請參閱所選模型的參考文件。

使用錨點

  • 在每個共用該角色/物體/風格的鏡頭中傳遞錨點。要使用的具體標誌取決於模型 — 請參閱模型的參考文件。
  • 在提示中透過外觀描述錨點,而非名稱:"帶有鍍鉻排氣管的黑色賽車" 比 "Fleetmaster" 的約束力強得多。當角色混淆可能發生時,添加明確的否定:「摩托車不要變形。」
  • 在提示中使用 @Image1 / @Video1 來引用錨點 — 不要使用模糊的短語如 "the same car as before"。
  • 當一個鏡頭依賴於先前的生成時,等待先前的任務完成(透過 track_progress 搭配 action=wait)以獲取其 assetId,然後將其作為錨點參考傳遞。不要平行提交依賴性鏡頭。

多角色專案

當一個專案有多個命名角色且具有不同屬性時(例如 Faz 帶火屬性能量,Kev 帶冰屬性能量),將每個角色視為一個單獨的錨點 — 每個角色一個參考資產。在每個提示中:

  • 命名活躍的角色並附加其獨特屬性("Kev 具有藍色冰系電能")。
  • 為其他角色添加明確的否定,以防止屬性洩漏("NOT 紅色火屬性能量,NOT Faz 的外觀")。
  • 固定正確角色的錨點(模型特定標誌 — 請參閱模型參考)。不要意外重複使用另一個角色的錨點。

遺漏明確的屬性歸屬或否定會導致跨角色屬性混合。

同一畫格中的多個角色。 對於多個角色同時出現(尤其是面對相機)的鏡頭,模型容易出現臉部交換或身體裁剪的問題。為每個角色添加強烈的姿勢 + 服裝錨點,並偏好使用固定相機

…

[為翻譯而截斷]

Individual skills in this repo

This repo contains 11 individual skills — each has its own dedicated page.

0xsline/openchatcut

Connect an MCP-capable coding agent to OpenChatCut and edit local video projects. Use when the user asks to install, connect, or set up OpenChatCut; inspect or edit an OpenChatCut project; work with its timeline, transcript, captions, media, generation, motion graphics, audio, color, or export tools; or recover from an OpenChatCut MCP error.

0xsline/openchatcut

Use when acquiring or importing media into a OpenChatCut project asset library for video editing or creation, including local/attached videos, user-provided paths, public media URLs, web video/audio/image assets, upload fallback decisions, and deciding between import_media, download_media, or manual user action.

0xsline/openchatcut

Use when a OpenChatCut video editing or creation workflow needs export, render, download, share, final delivery, subtitle-file export, render choice, local-only asset handling, or export fallback explanation.

0xsline/openchatcut

AI image generation via Fal.ai, gpt-image-2, nano-banana, MiniMax image-01, and xAI Grok Imagine. Use when the user wants to generate or create an image / picture / still.

0xsline/openchatcut

Use when a OpenChatCut tool call fails or returns an unexpected shape.

0xsline/openchatcut

Music generation via Mureka, MiniMax, Atlas Cloud, and Sonilo. Use for instrumentals, songs, soundtracks, track/stem generation, covers, or video-conditioned scoring of the finished cut through `submit_music`.

0xsline/openchatcut

OpenChatCut product knowledge — UI layout, editor features, and how generation providers are configured. Use when the user asks about the product interface, how to use a feature, where to find something, or needs GUI guidance for something the agent cannot do directly. Also use as fallback when a task fails and the user needs to complete it manually in the UI. NOT for live project-state queries ("where are my folders?", "what's on my timeline?", "where is clip X?") — those are answered by `read_project`, not by this skill.

0xsline/openchatcut

AI shader generator for WebGL video effects, transitions, masks, and color grading (LUT / 调色 / 电影感 / film look). Use when the user wants a video effect (滤镜 / 特效), a transition (转场 / crossfade / wipe / cube / 3d), a mask (蒙版 / 遮罩 / reveal), a zoom / push-in (推近 / 推镜头), or a color grade — try the built-in effects (zoom, builtin LUTs) before generating a new shader.

0xsline/openchatcut

Use when checking whether agent edits are reflected in the OpenChatCut project and editor.

0xsline/openchatcut

Text-to-Speech (TTS), voiceover, narration placement/sync, and custom sound effects (SFX) generator. Use when the user wants generated speech from text, wants to add/replace/align narration or voiceover for an existing video/timeline, wants to keep existing voiceover synced after visual retiming edits, needs voice audition/selection, or explicitly wants a newly generated/custom sound effect that is not available in the Sound Effects library.

0xsline/openchatcut

Use when the agent should ask the user for structured input with an in-chat form, including single-select, multi-select, text fields, style pickers, or voice audition choices.

相關技能