ノードタイプ

TongFlow のノードは 6 つのグループに分かれます。AddModality のノードがキャンバス上で素材を保持し、それ以外のノードがその素材を加工します。

正式な一覧は tongflow リポジトリconfig/tongflow.abi.json にあります。このページはその現状を反映したものです。

Add ノード(7 種類)

Add ノードは新しい素材をキャンバスに置きます。Create モードで Smart Island の Add ツールバーから選びます。

ノードアイコン機能
addTextNodeTypeノード本体に直接テキストを入力
addImageNodeImageファイルのアップロード、カメラ撮影、スケッチ描画のいずれかで画像を 1 枚出力
addAudioNodeMusic音声ファイルのアップロード、またはマイク録音
addVideoNodeVideo動画ファイルのアップロード、またはカメラ録画
addFileNodeFileTextドキュメントのアップロード(PDF / DOCX / TXT / MD)
addLinkNodeLinkURL を貼り付けると、ページ内容を取得してテキストにする
addModelNodeBox3D モデルファイルのアップロード(GLB / GLTF)

Add タイプは 7 種類であり、11 種類ではありません。以前のドキュメントは「画像追加」と「カメラ撮影」を別ノードとして数えていましたが、実際には同じ addImageNode の中のモードです。

Transform ノード

各変換は 1 つの入力モダリティを受け取り、別のモダリティを出力します。バックエンドモデルまたは外部 LLM に接続されています。

テキスト変換

ノードスロット説明バックエンド
gen-textプロンプトからテキストを生成・書き換えOpenRouter / Gemini / OpenAI / DeepSeek(設定可能)
combine-text複数のテキスト入力を 1 つにマージローカル
split-text長いテキストをチャンクに分割ローカル

画像変換

ノードスロット説明バックエンドモデル
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画像 → テキスト(キャプション / Q&A)Gemma 4(マルチモーダル)
image-upscale画像のアップスケールSeedVR2

動画変換

ノードスロット説明バックエンド
gen-videotext-gen-videoテキスト → 動画LTX-2
image-gen-video画像 → 動画LTX-2
image-image-gen-video先頭フレーム + 末尾フレーム → 動画(補間)LTX-2
video-image-gen-video-mixwan-animate-mix画像 + 動画 → 動画(キャラクター差し替え / シーン合成)WAN Animate
video-image-gen-video-movevideo-image-move-animalモーション転写(被写体と動きを別ソースから合成)WAN Animate(move バリアント)
audio-image-gen-video音声 + 画像 → トーキングヘッド / アニメーションポートレートLTX-2 / WAN
video-describevideo-gen-text動画 → テキスト(要約 / キャプション)Gemma 4
video-upscale動画のアップスケールSeedVR2
get-first-frameget-last-frameフレームを 1 枚抽出ローカル(FFmpeg)
subtitle_remove焼き込み字幕の除去バックエンド
remove_watermarkウォーターマークの除去バックエンド

音声変換

ノードスロット説明バックエンド
gen-musicテキスト → 音楽ACE-Step
text-gen-speech-presetプリセット音声による TTSQwen3
text-gen-speech-cloneリファレンス音声によるクローン TTSQwen3
text-gen-speech-instructスタイル指示付き TTSQwen3
text-audio-gen-speechテキストとリファレンス音声を併用する TTSQwen3
transcribetranscribe-timestamp音声 / 動画 → テキスト(タイムスタンプは任意)Qwen3
denoise_audioノイズ除去バックエンド
separate_speaker話者分離バックエンド
separate_audio_trackseparate-video-audio動画から音声を分離ローカル(FFmpeg)
convert_voice声質・音色の置き換えQwen3

クロスモーダルブリッジ

ノードスロット説明
parse-documentドキュメント → テキスト
linkURL → テキスト
画像 → 3D(開発中)画像 → 3D モデル

Combine ノード

Combine ノードは複数の入力から 1 つの出力を作ります。

ノードスロット入力出力
image-fusion画像 N 枚ブレンドした画像 1 枚
audio-video-lip-sync音声 + 動画音声駆動のリップシンク(InfiniteTalk)
speech-video-gen-video動画 + テキスト(目的のセリフ)テキスト駆動のリップダビング(LTX LipDub)
その他のリップシンク系音声 + 画像 / テキスト / 画像+動画動画生成または合成
speech-image-video-gen-video音声 + 画像 + 動画合成動画
speech-text-gen-video音声 + テキスト動画
convert_voice(Combine 形式)テキスト + リファレンス音声 → 音声クローン音声
combine-textテキストノード N 個 → 1 つ

ヘルパーノード

ノードスロット説明
concat-videos複数のクリップを順につなぐ
merge-video-audio音声と動画を 1 ファイルにミックス
split-videoシーン境界で分割(シーン検出)
separate-video-audio音声と映像を別トラックに分離
extract-audio動画から音声トラックを取り出す
split-text長いテキストをチャンクに分割
combine-textテキストセグメントをマージ
drop-videoルールに基づいてクリップを除外
arrange-groupクリップやテキストをグループ化・整列し、下流のバッチ処理へ渡す

型チェックの仕組み

接続の検証は ABI に基づきます。出力ハンドルを入力ハンドルにドラッグすると、モダリティと形状が一致するかがチェックされます。テキストを求める入力に動画をつなごうとしても、エッジは形成されません。生成された src/generated/abi/index.ts の TypeScript 型が、キャンバスとワークフローエクスポーターの整合性をコンパイル時に保証します。

独自ノードの追加

必要な変換が一覧にない場合は、プラグインとして追加できます。tongflow リポジトリの docs/feature-registry.mddocs/plugins.md を参照してください。手順は次のとおりです。

  1. config/tongflow.abi.json にスロット定義を追加します。
  2. 型を再生成します:pnpm gen:abi
  3. plugins/ 配下に、@node_slot デコレータと対応する Pydantic モデルを使ってプラグインを実装します。
  4. Python SDK のバージョンピンを上げて公開し、Modal に再デプロイします。

関連ページ