AI 機能
TongFlow の変換は 小規模で明記された バックエンドモデルのセット上で動作します ——「何千ものモデル」という曖昧な約束ではありません。実際のリスト、各モデルの用途、アクセスの設定方法を示します。
バックエンドモデル(Modal で実行)
これらのモデルは Modal ワーカーコンテナ内で実行されます。MODAL_TOKEN_ID と MODAL_TOKEN_SECRET を設定すると、ランタイムが Modal 経由で呼び出します:
| モデル | 用途 | ノード |
|---|---|---|
| Z-Image | テキスト → 画像 | image-gen-text、image-gen |
| FLUX.2 Klein 9B | マルチリファレンス融合、画像編集 | image-fusion、image-edit |
| LTX-2 | テキスト/画像 → 動画、トーキングヘッド | text-gen-video、image-gen-video、image-image-gen-video、audio-image-gen-video |
| SeedVR2 | 画像と動画の超解像 | image-upscale、video-upscale |
| Gemma 4 | マルチモーダルテキスト理解(画像 / 動画) | image-describe、video-describe、video-gen-text |
| Qwen3 | 音声認識と TTS | transcribe、transcribe-timestamp、text-gen-speech-preset、text-gen-speech-clone、text-gen-speech-instruct、convert_voice |
| ACE-Step | テキスト → 音楽 | gen-music |
アニメーション / キャラクター入れ替え / モーション転写(wan-animate-mix、video-image-move-animal、video-image-gen-video-mix)には、TongFlow は WAN-Animate バリアントを使用 ——正確なスロット配線は ABI を参照。
ローカルメディアパイプライン
モデルを必要としない操作もあります ——単にメディアツールです。これらは Modal ワーカー上で実行されますが、学習済みモデルは一切呼ばないという意味で「ローカル」です:
- FFmpeg — トランスコード、ミックス、デマックス、フレーム抽出(
merge-video-audio、separate-video-audio、extract-audio、get-first-frame、get-last-frame) - シーン検出 —
split-video用のショット境界検出 - 字幕 / ウォーターマーク除去 — 専用ワーカーが処理(
subtitle_remove、remove_watermark)
LLM プロバイダ(テキスト生成とルーティング用)
テキスト生成(gen-text、combine-text グルーピング)は 4 つの LLM プロバイダのいずれかを経由してルーティングされます。環境変数で選択:
| プロバイダ | 環境変数 | 備考 |
|---|---|---|
| OpenRouter | OPENROUTER_API_KEY | gen-text のデフォルト。無料ルーティングティアあり。OPENROUTER_FREE_MODEL で特定のルートを固定可能 |
| Google Gemini | GEMINI_API_KEY または GOOGLE_API_KEY | ノードのモデルスロットが Gemini バリアントの場合に使用。一部マルチモーダルハンドラも駆動 |
| OpenAI | OPENAI_API_KEY | ノードのモデルスロットが OpenAI の場合に使用。デフォルトチャットモデルは gpt-4o-mini(OPENAI_CHAT_MODEL で上書き) |
| DeepSeek | DEEPSEEK_API_KEY | 特定のコードパス(バッチテキストグルーピング等)のみで使用。メインの gen-text ドロップダウンには含まれない |
実際に使う予定のプロバイダだけ設定すれば十分です。少なくとも 1 つは設定してください ——どの LLM キーも未設定だと、スタジオはテキスト生成変換の実行を拒否します。
変換呼び出しの流れ
image-gen-text(「テキスト → 画像 with Z-Image」)ノードの場合:
- キャンバスはノードの入力(上流テキストノードの出力)をワークフローエクスポーターに渡す
- エクスポーターは Next.js タスク API を呼び出す:
POST /api/task/create、ペイロード{feature: "image-gen-text", pluginId, prompt: {text}, nodeId} - サーバーは Z-Image ワーカーへの Modal 呼び出しをキューに入れ、入力プロンプトを渡す
- ワーカーが画像を生成し、base64 を返す;サーバーが保存されたファイル参照(
file_key)に後処理し、data/uploads/に置く - キャンバス上の画像ノードが結果で更新
任意の変換呼び出しがこのパターン ——スロット名と入力形状だけが異なります。
Modal のコスト
- Modal は月 USD 30 の無料クレジットを提供。ほとんどの TongFlow ワークフローでは十分な枠です
- 画像生成と TTS は安価。動画生成(特に長尺)と 4K アップスケールは高め ——Modal の使用ダッシュボードで消費が見えます
- ハードな上限が欲しい場合、Modal の設定で支出制限を設定してください
LLM のコスト
- OpenRouter 無料ティアは軽いテキスト生成用途をカバー
- より重いテキスト用途は、OpenRouter 有料ルート、Gemini、OpenAI Mini が通常 1 回数セント
- DeepSeek は安いがデフォルトではありません;特に必要な場合のみ有効化
モデルリストの拡張
新しいモデル(自分の LoRA、別のアップスケーラー、オープンソース TTS)を接続したい場合、tongflow リポジトリの docs/feature-registry.md を参照。フロー:
config/tongflow.abi.jsonで新スロットを型付き入出力で定義pnpm gen:abiで TS 型を再生成plugins/配下に Python SDK でスロットを実装(@node_slotデコレータ + Pydantic モデル)pnpm tongflow:publishで新 SDK バージョンを公開、Modal にプラグインをデプロイ
関連
- Getting started — Modal + LLM の環境変数設定
- ノードタイプ — どのノードがどのモデルを使うか
