节点类型
TongFlow 的节点分六组。Add 和 Modality 节点持有画布上的素材;其余节点对它们做操作。
权威清单是 tongflow 仓库里的 config/tongflow.abi.json——本页反映的是 v0.1.0 状态。
Add 节点(7 个)
Add 节点在画布上落一个新素材。在 Create Mode 下从智能岛 Add 工具栏选:
| 节点 | 图标 | 用途 |
|---|---|---|
addTextNode | Type | 直接在节点内输入文本 |
addImageNode | Image | 选本地文件、摄像头拍照、或画板手绘——输出一张图 |
addAudioNode | Music | 选音频文件或麦克风录音 |
addVideoNode | Video | 选视频文件或摄像头录制 |
addFileNode | FileText | 上传文档(PDF / DOCX / TXT / MD) |
addLinkNode | Link | 粘贴一个 URL——抓取页面内容为文本 |
addModelNode | Box | 上传 3D 模型文件(GLB / GLTF) |
总共 7 种 Add 类型,不是 11 种。 老文档把”上传图片”和”摄像头拍照”算作两个独立节点,实际上它们是同一个 addImageNode 内部的不同模式。
Transform 转换
每个转换接受一种模态作为输入,产出另一种。背后接的是后端模型或外部 LLM。
文本转换
| 节点 slot | 描述 | 后端 |
|---|---|---|
gen-text | 根据提示生成或改写文本 | OpenRouter / Gemini / OpenAI / DeepSeek(可配置) |
combine-text | 合并多个文本输入 | 本地 |
split-text | 将长文本拆分成块 | 本地 |
图像转换
| 节点 slot | 描述 | 后端模型 |
|---|---|---|
image-gen-text | 文 → 图 | Z-Image |
image-gen | 图 → 图(整帧编辑) | Z-Image |
image-gen-model | 模型条件下的图像生成 | 可配置 |
image-edit | 局部修复 / 指令编辑 | FLUX.2 Klein 9B |
image-fusion | 多图融合 | FLUX.2 Klein 9B |
image-describe | 图 → 文(字幕 / 视觉问答) | Gemma 4(多模态) |
image-upscale | 图像放大 | SeedVR2 |
视频转换
| 节点 slot | 描述 | 后端 |
|---|---|---|
gen-video、text-gen-video | 文 → 视频 | LTX-2 |
image-gen-video | 图 → 视频 | LTX-2 |
image-image-gen-video | 首尾帧 → 视频(插值) | LTX-2 |
video-image-gen-video-mix、wan-animate-mix | 图 + 视频 → 视频(角色替换 / 场景混合) | WAN Animate |
video-image-gen-video-move、video-image-move-animal | 动作迁移(主体取自一个,动作取自另一个) | WAN Animate(move 变体) |
audio-image-gen-video | 音频 + 图 → 视频(数字人 / 说话头像) | LTX-2 / WAN |
video-describe、video-gen-text | 视频 → 文 | Gemma 4 |
video-upscale | 视频放大 | SeedVR2 |
get-first-frame、get-last-frame | 抽帧 | 本地(FFmpeg) |
subtitle_remove | 去字幕 | 后端 |
remove_watermark | 去水印 | 后端 |
音频转换
| 节点 slot | 描述 | 后端 |
|---|---|---|
gen-music | 文 → 音乐 | ACE-Step |
text-gen-speech-preset | 预设音色 TTS | Qwen3 |
text-gen-speech-clone | 参考音色克隆 TTS | Qwen3 |
text-gen-speech-instruct | 指令驱动 TTS | Qwen3 |
text-audio-gen-speech | 文本 + 参考音频 TTS | Qwen3 |
transcribe、transcribe-timestamp | 音/视频 → 文本(可选时间戳) | Qwen3 |
denoise_audio | 降噪 | 后端 |
separate_speaker | 说话人分离 | 后端 |
separate_audio_track、separate-video-audio | 视频解复用音频 | 本地(FFmpeg) |
convert_voice | 声音 / 音色替换 | Qwen3 |
跨模态桥接
| 节点 slot | 描述 |
|---|---|
parse-document | 文档 → 文本 |
link | URL → 文本 |
| 图 → 3D(在管线中) | 图像 → 3D 模型 |
Combine 组合
Combine 节点把多个输入合成一个输出。
| 节点 slot | 输入 | 输出 |
|---|---|---|
image-fusion | N 张图 | 一张融合图 |
speech-video-gen-video、口型同步系列 | 音频+视频 / 音频+图 / 音频+文本 / 音频+图+视频 | 口型同步视频 |
speech-image-video-gen-video | 语音 + 图 + 视频 | 合成视频 |
speech-text-gen-video | 语音 + 文本 | 视频 |
convert_voice(组合形式) | 文本 + 参考音频 → 语音 | 克隆声音 |
combine-text | N 个文本节点 → 一个 |
Helpers 辅助节点
| 节点 slot | 描述 |
|---|---|
concat-videos | 多个片段拼接 |
merge-video-audio | 音视频合成 |
split-video | 按镜头分割(场景检测) |
separate-video-audio | 解复用为独立轨道 |
extract-audio | 提取音频轨道 |
split-text | 长文本切分成块 |
combine-text | 文本段合并 |
drop-video | 按规则丢弃片段 |
arrange-group | 文本/片段批次分组排列 |
类型校验
连线校验由 ABI 驱动。从输出 handle 拖到输入 handle 时,系统检查模态和形状是否匹配——如果你试图把一个视频喂给只接受文本的输入,连线不会形成。src/generated/abi/index.ts 里生成的 TypeScript 类型在编译期保证画布和工作流导出器一致。
添加自己的节点
如果你需要的转换不在清单上,你可以接进来。参考 tongflow 仓库的 docs/feature-registry.md 和 docs/plugins.md。流程:
- 在
config/tongflow.abi.json添加 slot 定义 - 重生类型:
pnpm gen:abi - 在
plugins/下实现插件,用@node_slot装饰器配 Pydantic 模型 - Bump Python SDK 版本、发布、重新部署 Modal
