Imbutus

文档

注册与激活

注册后充值余额至激活门槛,达到后账户将自动激活。所需金额可能随时间上涨,建议尽早激活。

最低激活余额:$18(会增长,不要错过)

LLM

视频教程

完整教程:

定价

仅按实际 GPU 使用量收费,价格与直接租用大致相当。多名用户同时共享同一 GPU 时,费用按比例分摊。邀请朋友一起使用,可进一步降低成本。

模型

模型列表经过精心筛选,原因如下:

  • 4B 与 9B 成本相近,但 9B 性能明显更强——冗余模型已剔除。
  • 部分模型规模化难度极大。Kimi-K2.6 需同时使用 8 块顶级 GPU,几乎无法稳定满足。
  • 有些模型体积过大,无法快速启动。数百 GB 的权重文件下载到新 GPU 上就可能耗费数小时,之后才能开始响应。
  • 每个模型都需要单独的硬件与软件调优,新增模型是真实的工作量。

当前可用模型:

经济型

通用型

编程型

模型将持续更新。所有模型均可在 Hugging Face 上以相同名称找到。

智能体 API

除模型外,API 内置每 6 小时更新一次的 CVE 与漏洞利用数据库,以及已连接 Kali Linux VPS 的相关知识。如需额外功能,可通过工单系统提交请求。

OSINT 工作流

在聊天中发送 "osint",模型会回复这些工作流及其确切语法 — 无需记忆任何内容。

  • osint:email <address>

    检查该邮箱地址在哪些平台上注册过账户,并进行域名/MX 查询。

    whoisdigholehe
    工作原理
    1. 查询该邮箱地址所属域名的 WHOIS 注册信息。
    2. 检查该域名的邮件(MX)记录。
    3. 运行 holehe,在 120 多个平台上检测该邮箱是否注册过账户。
    4. 报告该邮箱在哪些平台上注册 — 不确定的结果会被标注,不会随意判断。
  • osint:person <name>

    根据姓名枚举各平台上的公开资料和可能的用户名。

    sherlocktheHarvester
    工作原理
    1. 根据姓名推导可能的用户名(若姓名非拉丁字母,还会生成拉丁转写)。
    2. 运行 sherlock,在 300 多个网站上检查这些用户名。
    3. 如果同时提供了机构名称,还会运行 theHarvester 获取更多信息。
    4. 报告找到的资料,并提示重名风险 — 不会断定匹配一定正确。
  • osint:company <name>

    将公司名称解析为官方域名,然后分析其基础设施和组织信息。

    theHarvesterwhoiscrt.shdig
    工作原理
    1. 搜索并确认公司的官方域名。
    2. 对该域名执行完整的 Domain 工作流(WHOIS、子域名、DNS)。
    3. 运行 theHarvester 查找员工姓名/邮箱及可能的邮箱命名规律。
    4. 汇总报告已确认的域名、组织架构和基础设施信息。
  • osint:domain <domain>

    对域名执行 whois、子域名枚举和 DNS 查询。

    whoiscrt.shdigtheHarvester
    工作原理
    1. WHOIS 查询,获取注册商和创建日期。
    2. 通过证书透明度日志(crt.sh)枚举子域名。
    3. 查询 DNS 记录 — A、MX 和 NS。
    4. 运行 theHarvester 扫描,查找其他邮箱/主机信息。

每个工作流都需要一台正在运行的 Kali Linux 主机 — 所有工具(theHarvester、sherlock、whois、holehe 等)都已预装在其中,因此模型可以实时执行所有操作。请在 Virtual Machines 部分租用一台。

工作流程

我个人使用 Imbutus 搭配 PI(pi.dev)——但你可以连接任何支持的客户端,按自己的方式使用。

Web 界面聊天可用,但并非主要使用方式。如果发送请求时 GPU 处于离线状态,客户端将实时显示加载进度。

专属虚拟机——创建时为机器设置一个名称(例如 kalinux01)。AI 模型通过该名称识别您的机器,并获得直接 shell 访问权限,可运行 nmap、metasploit、sqlmap 及任意工具。只需在提示中说出机器名称,模型即可连接并操作。按天计费,随时终止。

会话活跃期间持续计费。如需停止——请点击主页上的 Stop 按钮(选择模型后显示),或直接告诉模型:"停止我们的会话"。如果此时没有其他人使用 GPU,它将立即关闭并停止计费。

支持的 Agent

几乎所有 AI 工具、IDE 扩展和智能体框架都使用两种 API 格式之一——Anthropic 的 Messages API(/v1/messages)或 OpenAI 的 Chat Completions(/v1/chat/completions)。两者都受支持,因此任何能与 Claude 或 ChatGPT 配合使用的工具,都可以直接连接到这里,无需额外配置。请在下方选择客户端查看配置指南。

Anthropic API · /v1/messagesOpenAI API · /v1/chat/completions

任何支持 Anthropic 或 OpenAI API 的 Agent 或工具均可在此使用——不仅限于上方列出的。

媒体

媒体生成尤其适合社会工程任务:克隆语音用于电话钓鱼演练,图像和视频用于钓鱼借口和深度伪造识别培训,合成人脸用于 sock-puppet OSINT 身份。全部通过 ComfyUI(可视化工作流编辑器)在独占 GPU 上运行,分为独立套件:图像、视频和语音。每个套件运行在各自的 GPU 上,可同时运行;GPU 运行期间按秒计费。每个套件在 ComfyUI 的 Templates 面板中都附带现成的示例工作流。

这些模型不限于安全用途——你可以用它们做任何事。

视频教程

关于所有媒体套装通用内容的总体介绍:

其余套装的视频教程正在逐步添加中——已在制作中。

定价

媒体生成(视频、语音、图像)的计费方式有所不同:每个会话独占一块 GPU,且该 GPU 同时只处理一个请求。由于 GPU 不在用户之间共享,费用也不分摊——GPU 运行期间的全部费用由您承担。

套件及其模型

每个套件是一个 GPU 实例,自带模型和可直接运行的工作流。你租用的是套件,而不是单个模型。

视频

MiniMax H3套件部分放开

生成自带原生立体声的视频——对白、音效和音乐与画面在同一次生成中一并产出,而非事后配音。支持文本、图像或参考驱动:可用最多 9 张图像、3 段视频和 3 段音频锁定角色、风格、动作、运镜或声音。

MiniMax 的内容审核运行在其云端 API 上,并不包含在开源权重中,因此这里不会有任何东西过滤你的提示词——但基础模型本身被训练成拒绝什么,官方未作说明,我们也未做测试。

ComfyUI 工作流: MiniMaxDirector

开箱即用的工作流

minimaxh3-director
MiniMaxDirector Lay out shots on the Director node's timeline; it compiles them into the single structured prompt MiniMax H3 reads, and snaps the clip to a length H3 accepts (length % 17 == 5 at 24 fps). • prompt and report outputs show exactly what was built and what the linter thinks. • Drop an image on a shot with Add Image; it becomes <Picture 1> automatically. • Models: the H3 bundle (ref2va unet, Qwen3-VL text encoder, video + audio VAEs). The three prompt buttons
ButtonTrackMakes
Add Video PromptMAINwhat happens on screen
Add Sound PromptAUDIOwhat is heard -- H3 generates it, no file
Add Camera PromptCAMERAhow the camera moves
Add Image / Add Audio / Add Video attach a real file instead, and the prose is given a <Picture n> / <Audio n> / <Video n> token pointing at it. With a block selected that carries no file yet, the file lands on that block; otherwise it gets a block of its own. Presets, copying, and the keyboard Clear empties the timeline: every block, the global prompt and the music. The preset dropdown replaces it with a worked example -- a talking avatar, a three-shot scene, a two-hander, a reference shot. Each one compiles and runs as it stands, so it is a starting point rather than a form. One undo step puts your own work back.
KeyDoes
Deleteremove the selected blocks
Ssplit them at the playhead
Cmd/Ctrl+C · Cmd/Ctrl+Vcopy the selection, paste it at the playhead keeping its spacing
Cmd/Ctrl+Dduplicate in place at the playhead
Cmd/Ctrl+Zundo
The playhead The red line is where every Add button puts its block -- click the empty part of a track to move it, or drag the scrubber. If it is standing inside a block there is no room, so the new one goes on the end instead. • Dragging a block or its edge snaps to the playhead and to the edge of every other block, on any track, within a few pixels -- so a cue can start exactly where a shot does. • S cuts the selected blocks in two at the playhead. The second half keeps the prose and drops any attached file, so the same picture is never in the prompt twice. • Zooming with + / - recentres the view on it. The clip settings, left to right
FieldWhat it does
durationLength of the whole piece, in frames. Type it here; the arrows step 17 at a time so you stay on H3's lattice. Zero or empty means the clip follows its content.
= ... sThe same length in seconds. Read-only -- see below.
frame rateAlways 24. H3 has no other rate, so this is shown, never chosen.
width / heightOutput resolution, in multiples of 32. Mirrors of the node's own widgets.
resizeHow reference images are fitted. match scales them to the output size; max keeps them larger, which holds a face or a logo together better and costs more time.
renders N framesWhat will actually be generated, after rounding up to 17n+5. If it differs from what you typed, the rounding is shown.
The three tabs The panel under the toolbar shows one of three things, and remembers which one across a reload: TIMELINE (the tracks and the selected block's fields), CAST (one card per person, with the count on the tab) and GLOBAL (the two clip-wide prompt boxes). The segment panel, under the timeline Select a block first -- with nothing selected there is nothing to edit and the fields are not on screen. Everything here edits that block.
FieldWhat it does
SEGMENT PROMPTWhat happens in this block. On MAIN it becomes the shot's sentence; on AUDIO the sound; on CAMERA a note added to the move.
start / end / lengthThe block's span in frames. Editing end moves the right edge and leaves the start alone -- the same edit as dragging the right grip.
line / faces / how / languageMAIN blocks only. One row per spoken line, + line for another -- see below.
cameraCAMERA blocks only. The move, from the vocabulary below.
describes / used as / keep fileBlocks carrying a file only. See the next section.
detach mediaRemoves the file, keeps the block and its prose.
The GLOBAL tab holds the two fields set once for the whole piece:
FieldWhat it does
GLOBAL PROMPTStyle and scene constants for the whole clip. Compiles into the opening of Shot 1.
GLOBAL MUSICScore only the audience hears, as instrumentation, tempo and dynamics -- not mood words. Empty compiles to non_diegetic_music: N/A.
Why seconds are read-only. Every greyed = ... s box is a reading, not an input. A second is 24 frames wide, so a block typed as 1.08 came back as 26 frames and was shown as 1.08 again -- the number actually set was never on screen. The clip is written in seconds and cut in frames, and only one of those can be the field you edit. Dialogue H3 makes the voice and the picture in one pass, and the guide's form for it is exact: The young woman with a quiet, breathy voice (S1) says: <d>[English] I get off at the next station.</d> The editor writes it for you, and splits it the way the work actually splits: **who the people are is written once in the CAST tab, and a block only says who talks and what they say**. CAST is one card per person:
FieldWhat it does
name themA short name, yours, so the faces on a dialogue row are readable.
fromWhich file on the timeline this person is drawn from. That binding is what makes a face and a voice one person; the card then shows the <Subject n> badge the prompt will use.
keep themHow much of the person survives, compiled as subject_retention. Not the block's keep file: the photo may be fully_preserved while the face taken out of it is an attribute_transfer onto somebody else.
what they look likeFor a card with a file. Becomes their line in subject_definitions.
how they soundAge, gender, pitch, timbre, accent, on screen or off. H3 fixes the voice from this, so an empty one is a voice nobody chose and the linter says so.
+ character adds a card; they speak switches dialogue off for the whole clip -- every row and every <d> at once, cards kept. Describing the same speaker two different ways in two shots used to be possible; to the model that reads as two people wearing one label. On the block:
FieldWhat it does
lineThe words themselves, sent verbatim -- never translated, punctuation kept.
facesWho says it: click a face from the cast. Two lit on one row is the guide's (S1,S2) -- the same words spoken by both at the same instant.
howHow it is performed. Becomes the verb: says, whispers, shouts, answers -- free text, used as written.
languageNames the language of the words; it does not translate them.
+ line adds another row, so one block can hold a conversation: a line each, spoken in turn, compiled as one <d> apiece. × removes a row. Three readings, kept apart on purpose: a chorus is one row with two faces, a conversation is two rows, and an argument -- overlapping speech with no agreed words -- is neither. Write that one in the segment prompt and put the sound in an AUDIO cue; there is nothing for H3 to quote. Attached files: used as, describes and keep file used as -- what the file is for. It decides the task type the summary opens with, and the guide wants every relationship named:
Used asTask type it produces
referencereference generation -- guidance for a character, scene, style or camera move
first frame / keyframe / last framekeyframe completion -- the image is a concrete frame of the target video, and retention_analysis says which
continue fromvideo continuation
editvideo editing
An attached audio adds audio reuse or audio reference depending on its keep. Several at once combine: [keyframe completion + video continuation + audio reuse]. A segment holding a real file gets two extra fields, and they are what switch the prompt into H3's full-reference format -- six sections instead of three. describes -- what the file is, and what must stay the same. One noun phrase, written for someone who cannot see it. It becomes that file's line in subject_definitions: <Picture 1> is the raccoon, grey and black with a striped tail and a masked face. Leave it empty and the linter warns: an unnamed reference is one H3 has to guess at. keep file -- how much of the file survives into the video. One per file, always; it also sits on the block itself, bottom right. A cast card drawn from this file carries its own keep them for the person, which may differ. The sentence it produces lands in retention_analysis, as <Picture 1> (appears in [Shot 2]): fully_preserved - the raccoon, ...
ValueMeans
fully_preservedcopy it -- same subject, same look, unchanged
partially_preservedkeep the subject, let pose, angle or lighting change
attribute_transfertake one trait -- a face, a colour, a texture -- onto something else
weak_referenceloose inspiration only: style, palette, grade, nothing literal
These are H3's own words, not ours. It reads them as instructions, so a wrong one is worse than a vague describes: fully_preserved on a style reference asks the model to reproduce the whole frame. Subjects live on cast cards. Point a card's from at a file and the person becomes a <Subject n> of their own, tracked apart from the picture they came from: <Subject 1> is the man's face, from <Picture 2>. That separation is what a face swap needs. The picture stays a weak_reference -- you do not want the whole frame back -- while the card's keep them is attribute_transfer onto the person in another shot. The shot then mentions <Subject 1> rather than <Picture 2>, because naming both asks for two different things at once. Camera modes Each mode contributes one sentence to the shot it covers. H3 reads prose, not enum values, so this is the exact wording it receives:
ModeSentence sent to the model
staticThe camera holds a static shot.
dolly_inThe camera pushes in with small amplitude at slow speed.
dolly_outThe camera pulls out with small amplitude at slow speed.
pan_leftThe camera pans left.
pan_rightThe camera pans right.
tilt_upThe camera tilts up.
tilt_downThe camera tilts down.
orbitThe camera moves in an arc around the subject.
handheldThe camera shakes slightly.
crash_zoomThe camera zooms in with large amplitude at fast speed.
A note typed into a camera segment is appended after the sentence, so dolly_in + "closing on the apple" becomes *The camera pushes in with small amplitude at slow speed. closing on the apple* -- so write the note as a continuation, not as a sentence of its own. Camera work is its own block rather than folded into the shot line, because a move can straddle a cut -- and merging them would silently pick a side.
minimaxh3-director-turbo
MiniMaxDirector — Turbo The director workflow with larryvrh's Turbo LoRA between the model loader and the sampler: 6 steps instead of 20, so a draft costs about a fifth of the GPU time. Same timeline, same prompt, same output. • Stay in 4-8 steps. 6-8 looks best; past 8 it stops helping and starts over-sharpening. • Leave LoRA strength at 1.0 and the scheduler on simple. • Preview weights: audio and fast motion are the weak spots. For a final take, use minimaxh3-director. --- Lay out shots on the Director node's timeline; it compiles them into the single structured prompt MiniMax H3 reads, and snaps the clip to a length H3 accepts (length % 17 == 5 at 24 fps). • prompt and report outputs show exactly what was built and what the linter thinks. • Drop an image on a shot with Add Image; it becomes <Picture 1> automatically. • Models: the H3 bundle (ref2va unet, Qwen3-VL text encoder, video + audio VAEs). The three prompt buttons
ButtonTrackMakes
Add Video PromptMAINwhat happens on screen
Add Sound PromptAUDIOwhat is heard -- H3 generates it, no file
Add Camera PromptCAMERAhow the camera moves
Add Image / Add Audio / Add Video attach a real file instead, and the prose is given a <Picture n> / <Audio n> / <Video n> token pointing at it. With a block selected that carries no file yet, the file lands on that block; otherwise it gets a block of its own. Presets, copying, and the keyboard Clear empties the timeline: every block, the global prompt and the music. The preset dropdown replaces it with a worked example -- a talking avatar, a three-shot scene, a two-hander, a reference shot. Each one compiles and runs as it stands, so it is a starting point rather than a form. One undo step puts your own work back.
KeyDoes
Deleteremove the selected blocks
Ssplit them at the playhead
Cmd/Ctrl+C · Cmd/Ctrl+Vcopy the selection, paste it at the playhead keeping its spacing
Cmd/Ctrl+Dduplicate in place at the playhead
Cmd/Ctrl+Zundo
The playhead The red line is where every Add button puts its block -- click the empty part of a track to move it, or drag the scrubber. If it is standing inside a block there is no room, so the new one goes on the end instead. • Dragging a block or its edge snaps to the playhead and to the edge of every other block, on any track, within a few pixels -- so a cue can start exactly where a shot does. • S cuts the selected blocks in two at the playhead. The second half keeps the prose and drops any attached file, so the same picture is never in the prompt twice. • Zooming with + / - recentres the view on it. The clip settings, left to right
FieldWhat it does
durationLength of the whole piece, in frames. Type it here; the arrows step 17 at a time so you stay on H3's lattice. Zero or empty means the clip follows its content.
= ... sThe same length in seconds. Read-only -- see below.
frame rateAlways 24. H3 has no other rate, so this is shown, never chosen.
width / heightOutput resolution, in multiples of 32. Mirrors of the node's own widgets.
resizeHow reference images are fitted. match scales them to the output size; max keeps them larger, which holds a face or a logo together better and costs more time.
renders N framesWhat will actually be generated, after rounding up to 17n+5. If it differs from what you typed, the rounding is shown.
The three tabs The panel under the toolbar shows one of three things, and remembers which one across a reload: TIMELINE (the tracks and the selected block's fields), CAST (one card per person, with the count on the tab) and GLOBAL (the two clip-wide prompt boxes). The segment panel, under the timeline Select a block first -- with nothing selected there is nothing to edit and the fields are not on screen. Everything here edits that block.
FieldWhat it does
SEGMENT PROMPTWhat happens in this block. On MAIN it becomes the shot's sentence; on AUDIO the sound; on CAMERA a note added to the move.
start / end / lengthThe block's span in frames. Editing end moves the right edge and leaves the start alone -- the same edit as dragging the right grip.
line / faces / how / languageMAIN blocks only. One row per spoken line, + line for another -- see below.
cameraCAMERA blocks only. The move, from the vocabulary below.
describes / used as / keep fileBlocks carrying a file only. See the next section.
detach mediaRemoves the file, keeps the block and its prose.
The GLOBAL tab holds the two fields set once for the whole piece:
FieldWhat it does
GLOBAL PROMPTStyle and scene constants for the whole clip. Compiles into the opening of Shot 1.
GLOBAL MUSICScore only the audience hears, as instrumentation, tempo and dynamics -- not mood words. Empty compiles to non_diegetic_music: N/A.
Why seconds are read-only. Every greyed = ... s box is a reading, not an input. A second is 24 frames wide, so a block typed as 1.08 came back as 26 frames and was shown as 1.08 again -- the number actually set was never on screen. The clip is written in seconds and cut in frames, and only one of those can be the field you edit. Dialogue H3 makes the voice and the picture in one pass, and the guide's form for it is exact: The young woman with a quiet, breathy voice (S1) says: <d>[English] I get off at the next station.</d> The editor writes it for you, and splits it the way the work actually splits: **who the people are is written once in the CAST tab, and a block only says who talks and what they say**. CAST is one card per person:
FieldWhat it does
name themA short name, yours, so the faces on a dialogue row are readable.
fromWhich file on the timeline this person is drawn from. That binding is what makes a face and a voice one person; the card then shows the <Subject n> badge the prompt will use.
keep themHow much of the person survives, compiled as subject_retention. Not the block's keep file: the photo may be fully_preserved while the face taken out of it is an attribute_transfer onto somebody else.
what they look likeFor a card with a file. Becomes their line in subject_definitions.
how they soundAge, gender, pitch, timbre, accent, on screen or off. H3 fixes the voice from this, so an empty one is a voice nobody chose and the linter says so.
+ character adds a card; they speak switches dialogue off for the whole clip -- every row and every <d> at once, cards kept. Describing the same speaker two different ways in two shots used to be possible; to the model that reads as two people wearing one label. On the block:
FieldWhat it does
lineThe words themselves, sent verbatim -- never translated, punctuation kept.
facesWho says it: click a face from the cast. Two lit on one row is the guide's (S1,S2) -- the same words spoken by both at the same instant.
howHow it is performed. Becomes the verb: says, whispers, shouts, answers -- free text, used as written.
languageNames the language of the words; it does not translate them.
+ line adds another row, so one block can hold a conversation: a line each, spoken in turn, compiled as one <d> apiece. × removes a row. Three readings, kept apart on purpose: a chorus is one row with two faces, a conversation is two rows, and an argument -- overlapping speech with no agreed words -- is neither. Write that one in the segment prompt and put the sound in an AUDIO cue; there is nothing for H3 to quote. Attached files: used as, describes and keep file used as -- what the file is for. It decides the task type the summary opens with, and the guide wants every relationship named:
Used asTask type it produces
referencereference generation -- guidance for a character, scene, style or camera move
first frame / keyframe / last framekeyframe completion -- the image is a concrete frame of the target video, and retention_analysis says which
continue fromvideo continuation
editvideo editing
An attached audio adds audio reuse or audio reference depending on its keep. Several at once combine: [keyframe completion + video continuation + audio reuse]. A segment holding a real file gets two extra fields, and they are what switch the prompt into H3's full-reference format -- six sections instead of three. describes -- what the file is, and what must stay the same. One noun phrase, written for someone who cannot see it. It becomes that file's line in subject_definitions: <Picture 1> is the raccoon, grey and black with a striped tail and a masked face. Leave it empty and the linter warns: an unnamed reference is one H3 has to guess at. keep file -- how much of the file survives into the video. One per file, always; it also sits on the block itself, bottom right. A cast card drawn from this file carries its own keep them for the person, which may differ. The sentence it produces lands in retention_analysis, as <Picture 1> (appears in [Shot 2]): fully_preserved - the raccoon, ...
ValueMeans
fully_preservedcopy it -- same subject, same look, unchanged
partially_preservedkeep the subject, let pose, angle or lighting change
attribute_transfertake one trait -- a face, a colour, a texture -- onto something else
weak_referenceloose inspiration only: style, palette, grade, nothing literal
These are H3's own words, not ours. It reads them as instructions, so a wrong one is worse than a vague describes: fully_preserved on a style reference asks the model to reproduce the whole frame. Subjects live on cast cards. Point a card's from at a file and the person becomes a <Subject n> of their own, tracked apart from the picture they came from: <Subject 1> is the man's face, from <Picture 2>. That separation is what a face swap needs. The picture stays a weak_reference -- you do not want the whole frame back -- while the card's keep them is attribute_transfer onto the person in another shot. The shot then mentions <Subject 1> rather than <Picture 2>, because naming both asks for two different things at once. Camera modes Each mode contributes one sentence to the shot it covers. H3 reads prose, not enum values, so this is the exact wording it receives:
ModeSentence sent to the model
staticThe camera holds a static shot.
dolly_inThe camera pushes in with small amplitude at slow speed.
dolly_outThe camera pulls out with small amplitude at slow speed.
pan_leftThe camera pans left.
pan_rightThe camera pans right.
tilt_upThe camera tilts up.
tilt_downThe camera tilts down.
orbitThe camera moves in an arc around the subject.
handheldThe camera shakes slightly.
crash_zoomThe camera zooms in with large amplitude at fast speed.
A note typed into a camera segment is appended after the sentence, so dolly_in + "closing on the apple" becomes *The camera pushes in with small amplitude at slow speed. closing on the apple* -- so write the note as a continuation, not as a sentence of its own. Camera work is its own block rather than folded into the shot line, because a move can straddle a cut -- and merging them would silently pick a side.
minimaxh3-i2v
MiniMax H3 MiniMax H3 is MiniMax's general-purpose, omni-modal generation model. It jointly understands text, image, video, and audio, and generates video with native stereo audio: voice, sound effects, and music are modeled jointly in a single forward pass, not layered on afterward. Output is up to 2K resolution, 24fps, and up to about 15 seconds. About this workflow This template runs the Image to Video task (MiniMaxH3ImageToVideo node), which covers both: • t2va (text-to-video), when no images are connected • fl2va (first/last-frame image-to-video), when first_frame and/or last_frame are connected Key inputsfirst_frame / last_frame: optional keyframes; the model generates the motion between them • prompt: describe the shots, motion, and the accompanying audio (dialogue, SFX, music) in one block • width / height: set via Resolution Selector. H3's native canvas is a 768px short edge, capped at 768x1344 pixels, rounded to a multiple of 32 • duration (seconds): converted to a valid frame length by the Math Expression node, snapping up to the model's 17-frame-per-block (17k+5) grid at 24fps
minimaxh3-r2v
MiniMax H3 MiniMax H3 is MiniMax's general-purpose, omni-modal generation model. It jointly understands text, image, video, and audio, and generates video with native stereo audio: voice, sound effects, and music are modeled jointly in a single forward pass, not layered on afterward. Output is up to 2K resolution, 24fps, and up to about 15 seconds. ComfyUI links • ComfyUI#15224🤗 Comfy-Org/MiniMax-H3 About this workflow This template runs the reference-to-video (ref2va) task using the MiniMaxH3ReferenceToVideo node. It takes any mix of reference images, videos, and standalone audio, and weaves them into the generation to lock in a character's identity, a style, a motion, a camera move, or a voice. Key inputsref_images / ref_videos / ref_video_audios / ref_audios: up to 9 reference images, 3 reference videos (each may carry its own paired soundtrack), and 3 standalone reference audio clips • prompt: reference the inputs by tag, in the exact order they were connected, for example <Picture 1>, <Video 1>, <Audio 1>, then describe the target scene, motion, and audio • ref_image_size: match scales references down to the generation's resolution (faster); max keeps up to a 2048px short edge for stronger identity fidelity, at the cost of speed since reference tokens ride along every sampling step • width / height: set via Resolution Selector. • duration (seconds): converted to a valid frame length by the Math Expression node Sampling and decode • Sampler: res_multistep. beta or normal scheduler tends to outperform simple for reference-heavy prompts like this one • The sampler's joint audio+video LATENT output feeds directly into both VAEDecode (video, minimax_h3_video_vae_fp16) and VAEDecodeAudio (audio, minimax_h3_audio_vae_fp32); each decode node automatically pulls its own half out of the packed latent. CreateVideo then muxes the two into a single MP4 with synced sound • The diffusion model here is minimax_h3_ref2va_pruned_int8_convrot.safetensors, a different set of weights from the fl2va model used by the t2v/i2v templates Ref2va's output is very sensitive to prompt wording; matching the reference tags precisely and being explicit about which reference drives which part of the shot tends to work best.
minimaxh3-t2v
MiniMax H3 MiniMax H3 is MiniMax's general-purpose, omni-modal generation model. It jointly understands text, image, video, and audio, and generates video with native stereo audio: voice, sound effects, and music are modeled jointly in a single forward pass, not layered on afterward. Output is up to 2K resolution, 24fps, and up to about 15 seconds. ComfyUI links • ComfyUI#15224🤗 Comfy-Org/MiniMax-H3 About this workflow Key inputsprompt: describe the shots, camera moves, and the accompanying audio (dialogue, SFX, music) in one block • width / height: set via Resolution Selector. H3's native canvas is a 768px short edge, capped at 768x1344 pixels, rounded to a multiple of 32 • duration (seconds): converted to a valid frame length by the Math Expression node, snapping up to the model's 17-frame-per-block (17k+5) grid at 24fps

视频教程

MiniMax H3 套装教程:

本套件包含的模型

Sulphur-2套件已解除审查

通过 LTX Director 2.0 从文本提示、图像、音频或视频生成视频片段,并支持对口型配音——提供一段成片和你的语音,它会重新生成画面,让口型与你的话语一致。Sulphur-2 是 LTX 2.3 的无审查版本。

ComfyUI 工作流: LTXDirector

开箱即用的工作流

sulphur2-lipdub
How to use Lip-sync an existing clip to speech you supply. 1. Load Video (red) — upload the clip whose mouth should move. 2. Positive Prompt (red) — describe the shot and write what the person says. 3. IC-LoRA (orange) — ltx-2.3-22b-ic-lora-dubit-0.9, strength 1.0 is the tested value. 4. Press Run — stage 1 generates at low resolution, stage 2 refines it. The audio comes from the loaded video. To dub a different voice, mux your voiceover onto the clip before uploading it.
sulphur2-ltx-director-2

该工作流过于复杂,无法在此简述——请观看讲解: LTXDirector

视频教程

Sulphur-2 套装教程:

本套件包含的模型

  • Sulphur 2

    通过 LTX Director 2.0 从文本提示、图像、音频或视频生成视频片段。LTX 2.3 的无审查版本。

  • LTX DubIt IC-LoRA

    LTX 2.3 / Sulphur-2 的对口型插件。根据你提供的语音重新生成片段,让口型与语音一致 —— 可用于配音成另一种语言或改变说话内容。

SCAIL-2套件原生无审查

角色动画与替换——用一段驱动动作视频驱动参考角色;人物自动遮罩(SAM 3.1),无需手动绑定。基于 Wan2.1 14B 构建。输出无声音,请后期在视频剪辑软件中添加。

开箱即用的工作流

scail2-animation
SCAIL-2 — Character Animation Take the motion out of one video and put your own character into it. The driving video's background is not kept — the scene is generated fresh around your character. Fill these in 1. Load Video — your driving clip. Only the movement is used, never the appearance. 2. Load Image — the character to animate (person, mascot, drawing). One character only. The output video is sized to this image, so a portrait photo gives a portrait video. 3. Run SAM3 Video Track — upper node, fed by Load Video. Its text box names the subject to copy motion from. One person in the clip: leave human. Several people: pick one, e.g. man, woman in a red dress — otherwise SCAIL-2 gets two motion tracks and one character, and the result breaks. 4. Run SAM3 Video Track — lower node, fed by Load Image. Leave at human for a person. For a non-human character use its noun, e.g. dog, robot. 5. CLIP Text Encode (Positive Prompt) — describe your character and the action, e.g. a short-haired man in a striped shirt, hands on his hips, full body. Add full body if you want legs in frame. 6. Press Run. Check the masks first The two Preview Image nodes show the tracking masks. Exactly one subject should be coloured in each. If extra subjects light up, make the prompt in step 3 or 4 more specific, or raise detection_thres above 0.50. Do this before any long render — a bad mask wastes the whole run. Length Default is 81 frames at 16 fps — about 5 seconds, taken from the start of your clip. To go longer, raise these two together and keep them equal: • Load Video → frame_load_capWan SCAIL To Video → length 161 ≈ 10 s, 321 ≈ 20 s. SCAIL-2 is trained at 81 frames, so longer runs cost more VRAM and the character may drift. To start somewhere other than the beginning, set Load Video → skip_first_frames (in frames, at 16 fps — 160 skips 10 s). Sound This workflow does not do sound. The render is always silent — SCAIL-2 generates picture only, and nothing in the graph carries audio through to the output. Add the soundtrack afterwards in a video editor, using your original clip as the audio source. Trying to attach it here is not worth it: the render is a short slice of your clip, so the audio would not line up anyway. Video format The upload button accepts .mp4, .webm, .mkv and .gif. H.264 MP4 is the safe choice. If a clip is rejected with "Invalid video file", re-encode it before uploading. A common cause is a movie-rip audio track (AC-3) that the pod's ffmpeg cannot decode: ``` ffmpeg -i input.mp4 -c:v libx264 -pix_fmt yuv420p -an clean.mp4 ``` -an drops the audio, which this workflow does not use anyway. Keep the clip's own resolution — it is resized internally, so a huge 4K source only costs upload time. Leave alone unless you know why • Negative Prompt — a fixed quality filter, not something to describe your video with. • KSamplersteps 6, cfg 1.0, euler / simple. These are tuned for the distilled LoRA; raising steps or cfg makes it worse, not better. • Create SCAIL-2 Colored Mask → replacement_modefalse here on purpose. Setting it true switches to the replacement behaviour (keeps the original background), which is what the scail2-replacement workflow already does. • Every model this workflow needs is already installed on the pod.
scail2-animation-multi-char
SCAIL-2 — Character Animation (two characters) Same graph as the single-character animation, driven by a clip with two moving subjects. Only the inputs and the prompts differ. There is only ONE Load Image — and that is correct There is no second image node, and you should not add one. Both characters come from a single reference image that already contains both of them. SAM3 finds both figures inside that one picture and hands SCAIL-2 two separate coloured regions. It has to be one real photograph of both subjects together — one background, one camera, one light. The output video is built from this frame, so whatever you hand over becomes the scene. Do not glue two separate photos side by side. A collage keeps both backgrounds and the seam between them, and the render comes out looking like two videos in one frame. If all you have is a separate photo of each character, this workflow cannot merge them — run the single-character scail2-animation workflow on each one instead. Fill these in 1. Load Image — one picture holding both characters. The output video is sized to this image, so a wide image gives a wide video. Both characters should be clearly separated and, if you want limbs animated, fully in frame. 2. Load Video — a driving clip with two moving subjects. Their motion is copied; their appearance is not. 3. Run SAM3 Video Track — upper node, fed by Load Video. Leave at human when the clip has exactly two people and you want both. Use a narrower word only if there are extra people to exclude. 4. Run SAM3 Video Track — lower node, fed by Load Image. Leave at human for two people. For non-human characters use a word that matches both, e.g. mascot or character — a word matching only one of them will leave the other untracked. 5. CLIP Text Encode (Positive Prompt) — describe both characters and what they do together, e.g. a black dog mascot character and a green-and-cream bird mascot character holding hands and dancing on a white stage. 6. Press Run. Check the masks first — this matters most here The two Preview Image nodes show the tracking masks. You need two differently coloured regions in each: two in the driving mask, two in the reference mask. If either shows one region, or three, fix the prompt in step 3 or 4 before rendering. Who maps to whom is decided by Create SCAIL-2 Colored Mask → sort_by (area by default — biggest region first in both masks). If the wrong character gets the wrong motion, that pairing is the reason. Length Default is 81 frames at 16 fps — about 5 seconds, from the start of the clip. To go longer, raise these together and keep them equal: • Load Video → frame_load_capWan SCAIL To Video → length 161 ≈ 10 s, 321 ≈ 20 s. SCAIL-2 is trained at 81 frames — longer runs cost more VRAM and drift more, and two characters drift faster than one. To start later in the clip, use Load Video → skip_first_frames (frames at 16 fps — 160 skips 10 s). Sound This workflow does not do sound. The render is always silent — SCAIL-2 generates picture only, and nothing in the graph carries audio through to the output. Add the soundtrack afterwards in a video editor, using your original clip as the audio source. Trying to attach it here is not worth it: the render is a short slice of your clip, so the audio would not line up anyway. Video format The upload button accepts .mp4, .webm, .mkv and .gif. H.264 MP4 is the safe choice. If a clip is rejected with "Invalid video file", re-encode it before uploading. A common cause is a movie-rip audio track (AC-3) that the pod's ffmpeg cannot decode: ``` ffmpeg -i input.mp4 -c:v libx264 -pix_fmt yuv420p -an clean.mp4 ``` -an drops the audio, which this workflow does not use anyway. Keep the clip's own resolution — it is resized internally, so a huge 4K source only costs upload time. Leave alone unless you know why • Negative Prompt — a fixed quality filter, not a place to describe your video. • KSamplersteps 6, cfg 1.0, euler / simple, tuned for the distilled LoRA. Raising steps or cfg makes it worse. • replacement_modefalse here on purpose; the background is meant to be generated fresh. To keep an original background instead, use the scail2-replacement workflow. • Every model this workflow needs is already installed on the pod.
scail2-replacement
SCAIL-2 — Character Replacement Swap one person in your video for your own character. The original scene, background and everyone else stay exactly as they are. Steps 1. Load Video — upload your clip. The output is sized to this video, not to your image. 2. Load Image — upload the character who takes their place. A clear, full-body photo works best. 3. Run SAM3 Video Track (the upper one, fed by Load Video) — its text box says who gets replaced. One person in the clip: leave human. Several people: name the one you want, e.g. man or woman in a red dress. 4. Run SAM3 Video Track (the lower one, fed by Load Image) — leave it at human. 5. Positive Prompt — describe your new character inside the video's setting, e.g. bearded man in a grey suit sitting at the desk. 6. Press Run. Check the masks before a long render The two Preview Image nodes show the tracking masks. In the driving mask, only the person being replaced should be coloured. If extra people light up, make the prompt in step 3 more specific, or raise detection_thres above 0.50. Length A default run is 81 frames at 16 fps — about 5 seconds, taken from the start of your clip. For longer output raise these two together and keep them equal: • Load Video → frame_load_capWan SCAIL To Video → length 161 ≈ 10 seconds, 321 ≈ 20 seconds. SCAIL-2 is trained at 81 frames, so longer runs cost more VRAM and the character may drift. To start later in the clip, set Load Video → skip_first_frames (frames at 16 fps — 160 skips 10 s). Running the same clip in 81-frame slices at 0, 81, 162, 243 and joining the files is the alternative to one long render; expect a visible seam at each join. Sound This workflow does not do sound. The render is always silent — SCAIL-2 generates picture only, and nothing in the graph carries audio through to the output. Add the soundtrack afterwards in a video editor, using your original clip as the audio source. Trying to attach it here is not worth it: the render is a short slice of your clip, so the audio would not line up anyway. Video format The upload button accepts .mp4, .webm, .mkv and .gif. H.264 MP4 is the safe choice. If a clip is rejected with "Invalid video file", re-encode it before uploading. A common cause is a movie-rip audio track (AC-3) that the pod's ffmpeg cannot decode: ``` ffmpeg -i input.mp4 -c:v libx264 -pix_fmt yuv420p -an clean.mp4 ``` -an drops the audio. Since this workflow keeps the original scene, re-encode from the highest-quality source you have — the output resolution is taken from this clip. Leave alone unless you know why • Replace mode is already on — the toggles on Create SCAIL-2 Colored Mask and Wan SCAIL To Video are true. Turning them off gives the animation behaviour instead (original background discarded). • Negative Prompt — a fixed quality filter, not a place to describe your video. • KSamplersteps 6, cfg 1.0, euler / simple, tuned for the distilled LoRA. Raising steps or cfg makes results worse, not better. • Output size comes from the video via Get Image from Batch, not from your reference image — so a portrait clip stays portrait no matter what you upload. • Every model this workflow needs is already installed on the pod.

本套件包含的模型

图像

FLUX.2 klein套件已解除审查

FLUX.2 klein 9B(无审查)——快速文本生成图像 + 多参考编辑,另有 RefControl 深度/结构控制。“True V3”美学微调版(Q8 GGUF),搭配去拒答文本编码器。个人最爱:别被低价迷惑——多参考编辑和 RefControl 不输更贵的套餐,且仅需单张 24GB GPU。

开箱即用的工作流

flux2-klein-controlnet
ControlNet (depth) — klein 1. Load Image depth (red) — drop the photo whose structure you want to copy. A depth map is auto-extracted (Depth Anything V2). 2. Load Image reference (red) — drop the subject/style reference to place into that structure. 3. Prompt — describe the result (default refcontrol). 4. RefControl strength (yellow) — the Lora node. Higher = follow the depth structure more strictly. 5. Press Run — result in Save Image. Powered by the RefControl depth LoRA for klein 9B. The first depth run downloads the preprocessor weights (~1.3GB) once.
flux2-klein-darkbeast-faceswap
Face Swap — DarkBeast (klein 9B) 1. Target photo (red, top-left) — the picture whose face gets replaced. Ships with example.png so the graph runs out of the box. 2. Face to swap in (red, bottom-left) — the source face/identity to paste on. 3. Prompt — inside the Face Swap node; keep it simple, e.g. swap the face of the person with the reference face, keep pose, expression and lighting. 4. Steps = 5, CFG = 1 — DarkBeast is a distilled BFS model tuned for 5 steps / CFG 1. Do not raise them — higher values make it worse, not better. 5. Color Match (orange) regrades the result to the target's lighting so the swap blends in. Lower strength (or 0) to disable. 6. Press Run — the result is saved in Save Image. DarkBeast Klein 9b V2 BFS — face-swap-specialized klein 9B (safetensors, loaded via UNETLoader).
flux2-klein-edit
Image Edit — klein (multi-reference) 1. Load Image (red, group image 1) — drop the reference picture. It ships with example.png so the graph runs out of the box. 2. Prompt — describe the edit inside the Image Edit node. 3. Reference images toggle — switch image 2image 10 on to use more reference pictures. Each toggle enables one Load Image group on the left. 4. Color Match (orange) — regrades the result to image 1's lighting/colors so edits blend in. Lower strength (or 0) to disable. 5. Press Run — the result is saved in Save Image. FLUX.2 klein 9B (uncensored) — fast text → image + up to 10 reference images.
flux2-klein-text-to-image
How to use 1. Prompt (orange) — type what you want to generate. 2. Two variants: Standard and Distilled (faster). Enable one and bypass the other with Ctrl-B. 3. Press Run — the result is saved in Save Image. FLUX.2 klein 9B (uncensored) — fast text → image.

视频教程

FLUX.2 klein 套装教程:

本套件包含的模型

  • FLUX.2 klein 9B (True V3, uncensored)

    快速 9B FLUX.2 klein(无审查)——“True V3”美学微调版,搭配去拒答文本编码器。支持文本生成图像、多参考编辑,以及 RefControl 深度/结构控制,单张 24GB 显卡即可运行。

  • DarkBeast Klein 9b V2 BFS (face-swap, uncensored)

    DarkBeast Klein 9b V2 BFS——专注换脸的 FLUX.2 klein 9B 微调版,无审查。蒸馏为 5 步、CFG 1(Best Face Swap 技术):放入目标照片和参考人脸,即可在保持姿势、表情和光照的同时替换身份。与 “True V3” 微调版一同附带——在加载器中选择即可。24GB 显卡用 fp8,32GB 用 bf16。

Ideogram 4套件部分解除限制

文本生成图像,文字排版能力强——非常适合清晰文字与设计。可在画布上精确摆放文字与元素位置(区域布局控制)。

去拒答编码器消除了提示词拒答,但训练数据中已过滤 NSFW 内容,因此该领域的效果仍不稳定。

开箱即用的工作流

ideogram4-text-to-image
How to use 1. Prompt Builder (red) — type your prompt in the Description field (plain language is fine). For layout control, open the Ideogram 4 editor and drag boxes to place objects/text in regions. 2. Resolution Selector (orange) — choose aspect ratio / size. 3. Press Run — the image appears in Save Image. "Image blocked by safety filter" comes from the model's own safety training, not ComfyUI.

本套件包含的模型

Qwen-Image-2512-Edit-2511套件完全无审查

包含两个模型:Qwen-Image-2512 从文本生成图像,Qwen-Image-Edit-2511 按提示词编辑已有图像(最多 3 张输入图像)。包含多角度相机工作流——拖动 3D 手柄即可更改任意照片的相机角度。

开箱即用的工作流

qwen-image-edit
How to use 1. Load Image — upload image 1 (required). Type the edit instruction in the Image Edit prompt field. 2. To combine pictures, enable Load Image 2 / 3 (right-click → Set Mode → Always) and upload. 3. Press Run — result in Save Image. Predefined example — reset every GPU start; use Workflows → Save As to keep your own copy.
qwen-image-edit-multiangle-camera
How to use 1. Load Image (red) — drop the photo whose camera angle you want to change. 2. Qwen Multiangle Camera (red) — drag the 3D handle to set the angle, or pick a preset. The prompt is built for you. 3. Press Run — the re-angled image appears in Save Image. Powered by Qwen-Image-Edit-2511 + the multi-angle camera LoRA (4-step Lightning).
qwen-style-transfer
The quality of the style transfer depends largely on the quality of the RF inversion. These settings work well, but feel free to try other values.
qwen-text-to-image
How to use 1. Text to Image (red) — type your prompt in the text field, set width / height (and seed if you want). 2. Press Run — the image appears in Save Image. Sizes: 1:1 1328×1328 · 16:9 1664×928 · 9:16 928×1664 · 4:3 1472×1104 · 3:4 1104×1472 Predefined example — reset on every GPU start. Use Workflows → Save As to keep your own copy.
qwen-upscale-4k
Upscale to 4K 1. Load Image (red) — drop any image (e.g. one you made with the Text-to-Image workflow). 2. Target size (yellow) — Scale to Total Pixels sets the working resolution. 4 MP ≈ 4K; raise/lower for your GPU. 3. Refine (yellow) — the KSampler re-renders detail at the new size. denoise ~0.35–0.45: higher = more new detail, lower = closer to the original. 4. Press Run — the upscaled image lands in Save Image. This is a single refine pass on an existing image. Generate first in the Text-to-Image workflow, then upscale here.

本套件包含的模型

  • Qwen-Image-2512

    从文本生成图像,提示词还原度高,图中文字渲染清晰。

  • Qwen-Image-Edit-2511

    按提示词编辑现有图像——替换背景、添加/移除物体、风格重绘(最多 3 张输入图像)。

Boogu-Image套件大部分解除限制

一个组合中包含两个模型:Boogu Turbo 用于快速文本生成图像,Boogu Edit 用于基于指令的图像编辑。中英双语文字渲染能力强。

去拒答编码器消除了提示词拒答,但模型安全策略较软,该领域的效果仍可能不稳定。

开箱即用的工作流

boogu-edit
How to use 1. Load Image (red) — upload the image you want to edit. 2. Instruction — double-click the red Image Edit (Boogu) subgraph and type what to change in the prompt box. 3. Size (yellow) — output matches the input by default. Bypass Resize Image/Mask to keep the original size, or raise its megapixels (e.g. 4) for higher resolution — depends on your GPU. 4. Press Run — compare input vs result in Image Compare; the result is saved in Save Image. Boogu Edit is instruction-based image editing with strong bilingual (English / 中文) text rendering.
boogu-turbo-t2i
How to use 1. Prompt — double-click the red Text to Image (Boogu Turbo) subgraph and type your description in the prompt box. 2. Resolution (yellow) — pick aspect ratio / size in Resolution Selector. 3. Press Run — the image appears in Save Image. Boogu Turbo is a fast text-to-image model with strong bilingual (English / 中文) text rendering. For instruction-based image editing, open the Boogu Edit workflow.

本套件包含的模型

  • Boogu-Image Turbo

    4 步快速文本生成图像,逼真度强,支持中英双语文字渲染。

  • Boogu-Image Edit

    基于指令的图像编辑——用文字描述改动,即可在图像中添加、替换或重绘对象。

Krea-2套件完全无审查

快速逼真的文本生成图像,最高支持 2K 分辨率,另有 9 种可选风格 LoRA 呈现不同效果。

开箱即用的工作流

krea2-text-to-image
How to use 1. Prompt — double-click the red Text to Image (Krea-2 Turbo) subgraph and type your description in Text String (User Prompt). 2. Resolution (orange) — pick aspect ratio / size in Resolution Selector. 3. Press Run — the image appears in Save Image. Prompt enhancement is on by default; it expands your prompt using the model's own text encoder (no extra model needed). Toggle prompt_enhance inside the subgraph to turn it off. Style LoRAs — set enable_lora? to true inside the subgraph, pick a krea2_* file in LoraLoaderModelOnly; the matching trigger word is added automatically. All 9 LoRAs are pre-installed.
LoRATrigger WordStrength
krea2_darkbrushmonochrome ink wash style1.0
krea2_dotmatrixmonochrome stippling style1.0
krea2_kidsdrawingnaive expressive sketch style1.0
krea2_neondriptextured abstract style1.0
krea2_rainywindowrainy window style1.0
krea2_retroanimepurple retro anime style1.0
krea2_softwatercolorart deco watercolor style1.0
krea2_sunsetblurethereal motion blur style1.0
krea2_vintagetarotvintage tarot style1.0

本套件包含的模型

语音

共用模型

  • WhisperX

    语音转 SRT 的语音识别引擎(默认)。以 Whisper 为核心,加上音素强制对齐,字幕词级时间对齐非常精准,并支持说话人分离。

    用于: Fish Audio S2 · CosyVoice 3 · Qwen3-TTS · Chatterbox Multilingual

Fish Audio S2套件无内容过滤

配音首选——文本转语音与声音克隆,支持 80+ 种语言(Fish Audio S2 Pro),准确率同类最佳。语音转 SRT 和 SRT 转语音配音保留原始时间轴,使用 WhisperX 转录。

开箱即用的工作流

common-align-script-to-srt
Script → per-section SRT 1. Load audio (red, left) — upload the recording of your narration. 2. script (in the Align node) — paste your script; a blank line starts a new section. Each section becomes one SRT cue. 3. language — leave auto, or set ru / en / zh. 4. Press Run — WhisperX aligns your exact text to the speech and writes an SRT with one cue per section (exact start/end). A ⬇ Download SRT button appears when it finishes. Sections whose words aren't found in the audio (e.g. a line you skipped while reading) are dropped and logged. Runs best on a GPU tier.
common-audio-to-srt
AUDIO -> SRT (transcribe, keep timing). 1. Upload your source audio to 'Load source audio'. 2. On 'Audio -> SRT' pick the spoken language (auto / en / ru / zh). ENGINE is whisperx — Whisper core + phoneme forced-alignment; the tightest word-level timing and the best accuracy of the two engines. The Qwen3-TTS bundle additionally offers 'qwen3-asr' as an alternative engine; every other voice bundle is WhisperX-only. 3. Run. The timestamped subtitles are saved to output/subs/transcript.srt and shown in the node. Then translate that SRT text (keep the timestamps unchanged) and feed it to the 'SRT -> Audio' workflow to get a dubbed track with the SAME timing.
fishs2-srt-to-audio
SRT -> dubbed AUDIO, voice cloned, original timing preserved (Fish Audio S2 Pro). 1. Paste your TRANSLATED subtitles into 'Fish S2 SRT Dub' (keep the same timestamps as the source SRT, only the text is translated). 2. Upload a clean 10-30s clip of the speaker to 'Reference voice'. 3. Run. The output language is detected from the SRT text itself. Optional: press '🎙 Transcribe' on the dub node to preview the WhisperX transcription of your reference clip in 'ref_text' and fix it before Run. Left empty, the transcript is derived automatically. Knobs: fit_to_timing (on = lock each line into its SRT slot), max_stretch (cap before audio sounds sped-up).
fishs2-voice-clone
TTS + VOICE CLONE (Fish Audio S2 Pro, 80+ languages). 1. Upload a clean 10-30s clip of the target speaker to 'Reference voice'. 2. 'ref_text' — the exact words spoken in that clip. LEAVE EMPTY to have it transcribed automatically (WhisperX); type it manually for maximum accuracy. 3. Type the text to speak into 'text' — the language is detected from the text itself. 4. Run, listen in 'Save audio'. Tip: leave 'Reference voice' unconnected to let the model pick a random voice. The S2 server starts at boot; the first request after boot may wait a bit while it warms up.

本套件包含的模型

CosyVoice 3套件无内容过滤

变声首选——原生语音转换保留原有的词句、停顿和语气,只替换音色,中间无需转录。同时支持声音克隆、文本转语音、语音转 SRT 和 SRT 转语音,使用 WhisperX 转录。

开箱即用的工作流

common-align-script-to-srt
Script → per-section SRT 1. Load audio (red, left) — upload the recording of your narration. 2. script (in the Align node) — paste your script; a blank line starts a new section. Each section becomes one SRT cue. 3. language — leave auto, or set ru / en / zh. 4. Press Run — WhisperX aligns your exact text to the speech and writes an SRT with one cue per section (exact start/end). A ⬇ Download SRT button appears when it finishes. Sections whose words aren't found in the audio (e.g. a line you skipped while reading) are dropped and logged. Runs best on a GPU tier.
common-audio-to-srt
AUDIO -> SRT (transcribe, keep timing). 1. Upload your source audio to 'Load source audio'. 2. On 'Audio -> SRT' pick the spoken language (auto / en / ru / zh). ENGINE is whisperx — Whisper core + phoneme forced-alignment; the tightest word-level timing and the best accuracy of the two engines. The Qwen3-TTS bundle additionally offers 'qwen3-asr' as an alternative engine; every other voice bundle is WhisperX-only. 3. Run. The timestamped subtitles are saved to output/subs/transcript.srt and shown in the node. Then translate that SRT text (keep the timestamps unchanged) and feed it to the 'SRT -> Audio' workflow to get a dubbed track with the SAME timing.
cosyvoice3-change-voice
CHANGE VOICE (CosyVoice 3 native voice conversion) — keeps the words and the delivery, swaps only the timbre. 1. Upload the speech you want re-voiced (any length) to 'Source speech'. It is auto-split into <=25s chunks, re-voiced, and stitched back, so length is unlimited. 2. Upload a SHORT clean clip (3-30s) of the target speaker to 'Target voice'. Keep it SHORT (<=30s). 3. Run, listen in 'Save audio'. This is REAL voice conversion — no transcription step, so pauses, emphasis and pacing survive intact. To generate NEW speech from typed text instead, use the 'Voice Clone' workflow. First run downloads the CosyVoice model (~GB) — give it a few minutes. ⚠️ Predefined example — it resets to the original every GPU start; edits here are lost. Save under a NEW name (Save As) to keep your own copy; custom workflows persist between sessions.
cosyvoice3-srt-to-audio
SRT -> dubbed AUDIO, voice cloned, original timing preserved. 1. Paste your TRANSLATED subtitles into 'CosyVoice SRT Dub' (keep the same timestamps as the source SRT, only the text is translated). 2. Upload a SHORT clean clip (3-15s, no music) of the speaker to 'Reference voice' — CosyVoice clones this timbre. 3. Pick language (auto works; en/zh are reliable). 4. Run. Each line is synthesized and time-stretched to fit its slot, so the output lines up with your video. Knobs: fit_to_timing (on = lock to SRT timing), max_stretch (cap before audio sounds sped-up), speed. Languages: EN and ZH are solid. Other officially supported languages can be less reliable in this model — prefer the Qwen3-TTS bundle for those. First run downloads the CosyVoice model (~GB).
cosyvoice3-voice-clone
VOICE CLONE (CosyVoice 3 zero-shot). 1. Upload a SHORT clean clip (3-30s, no music) of the target speaker to 'Reference voice'. A reference clip is REQUIRED. 2. Type the text you want spoken into 'text' on the Voice Clone node. 3. Run, listen in 'Save audio'. First run downloads the CosyVoice model (~GB) — give it a few minutes. To re-voice EXISTING speech instead of generating new speech, use the 'Change Voice' workflow — it keeps the original words and delivery and only swaps the timbre. ⚠️ Predefined example — it resets to the original every GPU start; edits here are lost. Save under a NEW name (Save As) to keep your own copy; custom workflows persist between sessions.

本套件包含的模型

Qwen3-TTS套件无内容过滤

全 Qwen 套件——文本转语音,支持 3 秒声音克隆和声音设计:用文字描述声音即可让它开口(Qwen3-TTS 1.7B)。还支持语音转 SRT 和 SRT 转语音配音,也是唯一在 WhisperX 之外附带 Qwen3-ASR 作为第二识别引擎的套件。

开箱即用的工作流

common-align-script-to-srt
Script → per-section SRT 1. Load audio (red, left) — upload the recording of your narration. 2. script (in the Align node) — paste your script; a blank line starts a new section. Each section becomes one SRT cue. 3. language — leave auto, or set ru / en / zh. 4. Press Run — WhisperX aligns your exact text to the speech and writes an SRT with one cue per section (exact start/end). A ⬇ Download SRT button appears when it finishes. Sections whose words aren't found in the audio (e.g. a line you skipped while reading) are dropped and logged. Runs best on a GPU tier.
common-audio-to-srt
AUDIO -> SRT (transcribe, keep timing). 1. Upload your source audio to 'Load source audio'. 2. On 'Audio -> SRT' pick the spoken language (auto / en / ru / zh). ENGINE is whisperx — Whisper core + phoneme forced-alignment; the tightest word-level timing and the best accuracy of the two engines. The Qwen3-TTS bundle additionally offers 'qwen3-asr' as an alternative engine; every other voice bundle is WhisperX-only. 3. Run. The timestamped subtitles are saved to output/subs/transcript.srt and shown in the node. Then translate that SRT text (keep the timestamps unchanged) and feed it to the 'SRT -> Audio' workflow to get a dubbed track with the SAME timing.
qwen3tts-redub-voice
RE-DUB VOICE (Qwen3-TTS pipeline: transcribe -> re-speak, timing preserved). This is NOT voice conversion. Qwen3-TTS has no native VC, so this workflow chains two steps: the source audio is transcribed with timestamps (Audio -> SRT), then every line is re-spoken from scratch by the cloned TARGET voice at its original timestamp (SRT Dub). 1. Upload the recording you want re-dubbed to 'Source audio'. 2. Upload a SHORT clean clip (3-15s, no music) of the TARGET voice to 'Target voice'. Leave 'ref_text' empty — it is transcribed automatically. 3. On the dub node pick the LANGUAGE of the source speech and run. Line timing is preserved, but the words are re-generated, so intonation, pauses and emphasis inside each line are the model's, not the original speaker's. Two side effects worth knowing: a transcription error becomes a wrong word in the output, and any non-speech audio is dropped. For REAL voice conversion — same words, same delivery, only the timbre swapped — use the CosyVoice 3 bundle (the change-voice pick) or Chatterbox Multilingual. Both do it natively with no transcription step.
qwen3tts-srt-to-audio
SRT -> dubbed AUDIO, voice cloned, original timing preserved (Qwen3-TTS). 1. Paste your TRANSLATED subtitles into 'Qwen3-TTS SRT Dub' (keep the same timestamps as the source SRT, only the text is translated). 2. Upload a SHORT clean clip (3-15s, no music) of the speaker to 'Reference voice'. 3. 'ref_text' — the exact words spoken in that clip. LEAVE EMPTY to have it transcribed automatically (WhisperX); type it manually for maximum accuracy. 4. Pick the language of the TRANSLATED text and run. Knobs: fit_to_timing (on = lock each line into its SRT slot), max_stretch (cap before audio sounds sped-up). Each line is synthesized with the cloned voice and placed at its SRT timestamp, so the output lines up with your video.
qwen3tts-voice-clone
VOICE CLONE (Qwen3-TTS 1.7B Base). 1. Upload a SHORT clean clip (3-15s, no music) of the target speaker to 'Reference voice'. 2. 'ref_text' — the exact words spoken in that clip. LEAVE EMPTY to have it transcribed automatically (WhisperX); type it manually for maximum accuracy. 3. Type the text you want spoken into 'text' and pick its language. 4. Run, listen in 'Save audio'. First run loads the model (pre-baked at boot, a few seconds).
qwen3tts-voice-design
VOICE DESIGN (Qwen3-TTS 1.7B VoiceDesign). No reference audio needed — describe the voice you want in plain language. 1. Type the text to speak into 'text'. 2. Describe the voice in 'instruct' (gender, age, mood, pace, accent — e.g. 'A raspy old pirate, slow and theatrical'). 3. Pick the language and run. Tip: to REUSE a designed voice, save its output and feed it into the Voice Clone workflow as the reference sample.

本套件包含的模型

  • Qwen3-TTS-1.7B-VoiceDesign

    声音设计模型——用文字描述想要的声音(性别、年龄、情绪、口音),它就用该声音朗读你的文本。支持 10 种语言。

  • Qwen3-TTS-1.7B-Base

    声音克隆模型——3 秒参考样本即可定义输出音色。支持 10 种语言。

  • Qwen3-ASR

    语音转 SRT 的备选语音识别引擎,仅随 Qwen3-TTS 套件提供。内置词级时间戳。

Chatterbox Multilingual套件无内容过滤

文本转语音、声音克隆和原生变声,支持 23 种语言(Chatterbox Multilingual v3)——盲听测试中击败 ElevenLabs 的模型。还支持语音转 SRT 和 SRT 转语音配音,使用 WhisperX 转录。

开箱即用的工作流

common-align-script-to-srt
Script → per-section SRT 1. Load audio (red, left) — upload the recording of your narration. 2. script (in the Align node) — paste your script; a blank line starts a new section. Each section becomes one SRT cue. 3. language — leave auto, or set ru / en / zh. 4. Press Run — WhisperX aligns your exact text to the speech and writes an SRT with one cue per section (exact start/end). A ⬇ Download SRT button appears when it finishes. Sections whose words aren't found in the audio (e.g. a line you skipped while reading) are dropped and logged. Runs best on a GPU tier.
common-audio-to-srt
AUDIO -> SRT (transcribe, keep timing). 1. Upload your source audio to 'Load source audio'. 2. On 'Audio -> SRT' pick the spoken language (auto / en / ru / zh). ENGINE is whisperx — Whisper core + phoneme forced-alignment; the tightest word-level timing and the best accuracy of the two engines. The Qwen3-TTS bundle additionally offers 'qwen3-asr' as an alternative engine; every other voice bundle is WhisperX-only. 3. Run. The timestamped subtitles are saved to output/subs/transcript.srt and shown in the node. Then translate that SRT text (keep the timestamps unchanged) and feed it to the 'SRT -> Audio' workflow to get a dubbed track with the SAME timing.
chatterbox-change-voice
VOICE CONVERSION (Chatterbox VC). Replaces the VOICE in a recording while keeping the words, pacing and intonation of the original. 1. Upload the recording you want to convert to 'Source audio'. 2. Upload a SHORT clean clip (3-15s, no music) of the TARGET voice to 'Target voice'. 3. Run, listen in 'Save audio'. First run loads the VC model (pre-baked at boot, a few seconds).
chatterbox-srt-to-audio
SRT -> dubbed AUDIO, voice cloned, original timing preserved (Chatterbox Multilingual v3). 1. Paste your TRANSLATED subtitles into 'Chatterbox SRT Dub' (keep the same timestamps as the source SRT, only the text is translated). 2. Upload a SHORT clean clip (3-15s, no music) of the speaker to 'Reference voice'. No transcript needed. 3. Pick the language code of the TRANSLATED text (en / ru / zh / ...) and run. Knobs: fit_to_timing (on = lock each line into its SRT slot), max_stretch (cap before audio sounds sped-up). Each line is synthesized with the cloned voice and placed at its SRT timestamp, so the output lines up with your video.
chatterbox-voice-clone
TTS + VOICE CLONE (Chatterbox Multilingual v3, 23 languages). 1. Upload a SHORT clean clip (3-15s, no music) of the target speaker to 'Reference voice'. No transcript needed. 2. Type the text to speak into 'text' and pick its language code (en / ru / zh / ...). 3. Run, listen in 'Save audio'. Tip: leave 'Reference voice' unconnected to use the model's default voice. First run loads the model (pre-baked at boot, a few seconds).

本套件包含的模型

工作流与节点

每个套件在 ComfyUI 中打开后都附带可直接运行的工作流——打开 Workflows 面板,在 “_examples” 文件夹中查看。每个工作流的画布上都有一条 “How to use” 说明,告诉你需要填写哪些字段、按什么顺序操作,无需记忆任何步骤。生成结果显示在 Assets 选项卡中。工作流是节点组成的图——你只需关注需要你输入的节点。节点按颜色区分:

  • 必填 — 运行前必须提供——上传文件或输入提示词。
  • 关键 — 需要检查或经常调整——宽高比、模式或关键参数。

GPU 自动停止

闲置 60 分钟的 GPU 会自动关闭,您不会为忘记关闭的机器付费。LLM 与 Media 对"闲置"的判定不同。

LLM — 计时针对您自己的会话,每次请求都会重置。会话按用户独立计算,结束您的会话不会影响他人;最后一个会话结束后机器才关闭。

Media — Pod 监控自己的 ComfyUI 队列。正在渲染或排队的任务都算活动,因此长达数小时的渲染会保持 Pod 运行。队列清空后才开始计时。

这些可以修改。LLM 与 Media 在设置页面独立配置,也可以设为永不自动停止。

余额耗尽时 GPU 一定会停止,与超时设置无关。

日志与数据

我在专用 GPU 服务器上运行这些模型——你的请求不会发送给任何第三方 AI 提供商。

对话:只有使用网页版聊天时才会保存对话,方便你重新打开。通过 API(/v1/messages、/v1/chat/completions)发送的请求不会被保存——其内容不会写入数据库。

调试日志:为便于排查问题,我保留短期技术日志,按 3 天轮换(超过 3 天的一律不留)。其中只有诊断信息——模型、耗时、token 数、工具名称——绝不包含对话内容。GPU 服务器日志存在实例本身,实例下线即消失。

合作伙伴计划

前往 Referrals 页面获取专属推广码并分享。使用该码的用户可享 10% 折扣,您将获得其消费额的 15% 作为佣金。

理念

这是本项目的理念。首先,我打造这些工具是为了自己的日常工作,然后把它们分享给所有人。我也会按客户需求开发——只要理论上能实现的,我就能做出来。在工单系统里提出即可。如果有多位用户请求同一个功能或工具,我就会去做。你可以把它看作一家由你的朋友打理的 AI 工具精品店。

验证

为了让任何人都能验证本项目的真实性并确认它由其原始创建者掌控,我在下方公开了我的 PGP 公钥。如果你遇到关于本项目的争议或冒充行为,任何用与此指纹匹配的密钥签名的消息都可以被信任为来自我本人。

指纹:64B0 A423 385A 6518 49FD F920 E491 5625 837E 5AD9

显示公钥
-----BEGIN PGP PUBLIC KEY BLOCK-----

mQINBGpSurIBEACj0dS+3/A2xbCdnwWOrBNOnbzBoDxSxKdl8F7397HsuRaSuPv9
251Dm0WlgR7uAnvjhmMuuquCrrVNih2c5BDy8TUkKegTIccg7Iqkn6E5Xa5AbJxT
O2NA935H3WOX5LG1TrJrS8TW4sFnk8LGNdrkKfSYwdvRrvDtAYGI/bratwweenJw
ZLqZIP80UK2+Y8rS012k519KqOMaPx0w+5Ltz9WFqFq/cipQjTUNuQ05j60a8VOJ
Migki8UjCf4pp04kZ2903WNdIkfvKh7IU09V08y+LlQlGbB4qETZACNt7B7DZ3n+
d/4Io+bK2W7BLTvz2zriLfaFhcvNx5BpNyDqdLmAFWCCouCe+4LBBTxQfL95UW0P
Tx0Jz/KXfJnP5h/mQf6fO+tqbM5CRPhAItFWOYlDe+uSkkXsDKdOb2vqznUO39Cw
mARDjE40oSjrf+9PMHe/j1Y0hYTiQ+U/OQOY+zjXTL+rhZJrophLkctLbfwOnSVb
74L3f+0SMXiTFEnyNuMXolPjsg4115ghdi5NMQOzlb2EylM+nms8wjBdVDxhIGCv
daHXy4aosDBsrtSdWEwy2Pw35GdQQ9l21lYE4u9vJE7eeiaKwGMNZp8hpDFbU0Si
ri0E6c0Mve6GNlwAujK5pkCL0D5D67ESdZ7k4guyVsKHZEMotos0/2+ZYQARAQAB
tANrZXmJAm4EEwEIAFgWIQRksKQjOFplGEn9+SDkkVYlg35a2QUCalK6shsUgAAA
AAAEAA5tYW51MiwyLjUrMS4xMiwwLDMDGy8EBQsJCAcCAiICBhUKCQgLAgQWAgMB
Ah4HAheAAAoJEOSRViWDflrZregP/1jpyy8wEyUC4Ulq4qTNE3WZ63TWn6LNSuBb
y1VmDQ2HVeWlZO94uOZSqvpyACp9Z8EDCuypHT9BHlTjaXrHMHCsa2ZQBBn64dzZ
us75QAfviccKCgHOFZ6sJvik7m+tBW7JyrPPEdhcAp03yQ9CY5c8riutFLq+EHPL
0yKQJoVWDRQidx54m3b6OPp4ZLmzJWMFX1NSSs3FD4Gj53+xWTxWvw8YrxJ5o3AQ
yHl/IsHmF7FSmO9HRzbj0OX0yv3lIl0q1umh5Jbep9R7Jsh909JsKBAGjy6liVeC
vOvdINFaNof7+u6ln6zF55aq7Q9ALyDwgYgVdxi/p9g7HJdEBipRcEP4jM3indd8
ZMVRDYxDxQz3at8jFCpmSW5NwyDyKSsOYR7vqOVHvZLIP46Ci7Ir8/+2Q7Xm4sZA
yTkwKOF+zjYlQPHs0ulH8VmF/UFcuZp+aMQVUfadISCMe9Gl+UBjMuFPwygnkTdp
RJlTPlO8L8t2ISFW7oy5P5WNk33IKdtLHqoMu3eT/0oISSpqL1SovuV6K4Mn8Je1
5f8afvalMzbWorUS9cyZQfoHok6wxNAdipBAKt3PNiGcE/1AHd3DcNOS6RQmxQMP
YQv3Lr+gV0c89US2Fd2vzMuZ6f/huGMEN8PSdweLrAQahQRUzc56joxd60KucIdR
eEbBD3eE
=hE65
-----END PGP PUBLIC KEY BLOCK-----