Parameters Reference (v0.4.1)

Every custom parameter on the shipped v0.4.1 operator, organized by parameter page. Alt + mouse over any parameter in TouchDesigner for its tooltip.

v0.4.1 adds, removes or changes no parameters. Names, defaults, menus and ranges below are identical to v0.4.0.

New in v0.4.0

  • TRT Profile (Trtprofile, Models page): flexible / quality / performance / fast_build engine build profiles. performance is FP8 (RTX 40+); fast_build is ~2x faster engine builds
  • CN Cache Decay (Cncachedecay, V2V page): ControlNet residual cache that actually works on live video
  • Feature Injection (Fienable / Fistrength / Fithreshold, V2V page): StreamV2V smoothness controls
  • Preprocessor preview (Enablepreprocpreview, ControlNet page): opt-in, costs a stall
  • LoRA Weight is live: drag it mid-stream, no rebuild
  • Acceleration menu is none / tensorrt (xformers is gone); Cfgtype menu is none / self / initialize (full is gone)
  • Interpolation gains cosine_weighted
  • Dynamic-shape engines cover 256-1024px (floor was 384)
  • Settings 1 - Core generation: prompts, step schedule, seeds, IP Adapter, guidance
  • Settings 2 - Stream control, backend console, OSC, and generation mode
  • Settings 3 - Outputs, UI, op config, model presets, and the TensorRT engine loader
  • FX Processors - Processor chain for image and latent processing
  • ControlNet - Image conditioning
  • V2V - StreamV2V cached attention, ControlNet caching, and Feature Injection
  • Models - Model loading, acceleration, TensorRT build profile, LCM / VAE, and LoRA
  • Callbacks - TouchDesigner callback functions fired by the operator
  • Install - Backend selection and installation
  • About - Version info, updates, and operator packaging

Settings 1

Core generation: prompts, step schedule, seeds, IP Adapter, guidance.

Status (Status) op('StreamDiffusionTD').par.Status Str
Read-only status line, mirrored in the operator UI.
Default: Not Streaming
Start Stream (Startstream) op('StreamDiffusionTD').par.Startstream Pulse
Start the stream. Local backend: launches the server process and builds any missing TensorRT engines first.
Stop Server (Stopstream) op('StreamDiffusionTD').par.Stopstream Pulse
Shut down the backend server process entirely. Use Pause Stream (Settings 2) to stop output without killing the server.
Model Id (Modelid) op('StreamDiffusionTD').par.Modelid StrMenu
Model used for generation. Accepts a HuggingFace ID, a direct safetensors link, or a local file path. The dropdown shows starter models; use My Models (Models page) for models in your models folder.
Default: stabilityai/sdxl-turbo Options: stabilityai/sd-turbo, stabilityai/sdxl-turbo, prompthero/openjourney-v4
Width (Width) op('StreamDiffusionTD').par.Width Int
Output width. Dynamic-shape TensorRT engines cover 256-1024 without a rebuild; static-shape engines (Quality / Performance / Fast Build profiles) are locked to their build resolution. Values round to a multiple of 64.
Default: 512 Slider: 384 - 1024 (soft)
Height (Height) op('StreamDiffusionTD').par.Height Int
Output height. Same engine rules as Width.
Default: 512 Slider: 384 - 1024 (soft)

Prompts

Prompt Blocks (Promptdict) op('StreamDiffusionTD').par.Promptdict Sequence
Prompt blocks. Each block has a Prompt string and a Weight; multiple blocks blend by weight using the Interpolation method. Add and remove blocks while streaming.
Per block: Prompt (Str); Weight (Float) 0 - 1 (soft)
Normalize Prompt Weights (Normpweights) op('StreamDiffusionTD').par.Normpweights Toggle
Normalize prompt block weights so they sum to Total Weight.
Default: On
Total Weight (Totalpweights) op('StreamDiffusionTD').par.Totalpweights Float
The combined weight the normalized prompt blocks sum to.
Default: 1.0 Slider: 1 - 3 (soft)
Interpolation (Setinterpolation) op('StreamDiffusionTD').par.Setinterpolation Menu
How multiple prompt embeddings blend: average is a linear mix, slerp is spherical interpolation, cosine_weighted eases the transition between prompts.
Default: cosine_weighted Options: average, slerp, cosine_weighted

Denoise Schedule

Step Schedule (Tindexblock) op('StreamDiffusionTD').par.Tindexblock Sequence
Step schedule, similar to denoise in img2img. Each block is one diffusion step with an index slider (1-49): lower = more change, higher = closer to the input. Add or remove steps while streaming; more steps is slower but higher quality (1-4 typical).
Per block: Step (Int) 1 - 49

Seed / Init Noise

Seed Blocks (Seeddict) op('StreamDiffusionTD').par.Seeddict Sequence
Seed blocks. Each block has a Seed value and a Weight; multiple seeds blend without the weight-drag glitch of earlier versions. Seed -1 picks a random seed every frame.
Per block: Seed (Int) -1 - 1e+07 (soft); Weight (Float) 0 - 1 (soft)
Seed Noise Multiplier (Noisemult) op('StreamDiffusionTD').par.Noisemult Float
Multiplier on the seed noise.
Default: 1.0 Slider: 1 - 1.1 (soft)

Ip Adapter

Enable Ip (Ipadapterenable) op('StreamDiffusionTD').par.Ipadapterenable Toggle
Enable IP Adapter image conditioning. With TensorRT this is baked into the engine: decide it before the build.
Default: Off
Update Image (Ipadapterupdate) op('StreamDiffusionTD').par.Ipadapterupdate Pulse
Push the current Ip Image TOP to the stream as the new reference image.
Ip Weight (Ipadapterscale) op('StreamDiffusionTD').par.Ipadapterscale Float
Strength of the IP Adapter influence. Updates live.
Default: 0.0 Slider: 0 - 1 (soft)
Ip Image [ TOP ] (Ipadapterimage) op('StreamDiffusionTD').par.Ipadapterimage TOP
TOP used as the IP Adapter reference image.
Default: Empty
Use Face ID Ipadapter (Ipfaceid) op('StreamDiffusionTD').par.Ipfaceid Toggle
Use the FaceID variant of IP Adapter for face preservation. Not supported with sd-turbo.
Default: Off

Guidance

Guidance Scale (Guidancescale) op('StreamDiffusionTD').par.Guidancescale Float
CFG scale controlling prompt adherence.
Default: 1.0 Slider: 1 - 1.5 (soft)
Delta (Delta) op('StreamDiffusionTD').par.Delta Float
Multiplier of virtual residual noise.
Default: 1.0 Slider: 1 - 1.5 (soft)
Cfg Type (Cfgtype) op('StreamDiffusionTD').par.Cfgtype Menu
CFG mode for img2img. The full mode from earlier versions is gone in v0.4.0 (it manufactured a broken config).
Default: self Options: none, self, initialize
Negative Prompt (Negprompt) op('StreamDiffusionTD').par.Negprompt Str
Negative prompt. Not functional with distilled models: it required cfg full, which was removed in v0.4.0. Kept for compatibility.
Default: Empty

Settings 2

Stream control, backend console, OSC, and generation mode.

Status (Status2) op('StreamDiffusionTD').par.Status2 Str
Read-only status line.
Default: Not Streaming
Stream Active (Streamactive) op('StreamDiffusionTD').par.Streamactive Toggle
Read-only: the stream is producing frames.
Default: Off
Server Active (Serveractive) op('StreamDiffusionTD').par.Serveractive Toggle
Read-only: the backend server process is running.
Default: Off
Copy Current Benchmark (Generatebenchmark) op('StreamDiffusionTD').par.Generatebenchmark Pulse
Copies a formatted report (FPS, VRAM, current config, GPU info) to the clipboard. Useful for sharing results or filing issues.
Feedback Safe (Feedbacksafe) op('StreamDiffusionTD').par.Feedbacksafe Toggle
Paces processing so TD-side feedback networks stay in step with the stream: frames are processed on demand instead of free-running. Pair with Process Delay and the Process Frame pulse.
Default: Off
Pause Stream (Pausestream) op('StreamDiffusionTD').par.Pausestream Toggle
Pause and resume output without shutting the server down. Restart is immediate.
Default: Off
Process Delay (frames) (Delayframes) op('StreamDiffusionTD').par.Delayframes Int
Frame delay used by Feedback Safe pacing before a frame is processed.
Default: 3 Range: 1 - 10
Process Frame (Processframe) op('StreamDiffusionTD').par.Processframe Pulse
Manually process one frame (Feedback Safe workflows).

Connection / Stream Settings

DEBUG [ CMD stays open ] (Debugcmd) op('StreamDiffusionTD').par.Debugcmd Toggle
Keep the backend console window open after exit so errors stay readable.
Default: On
Visible CMD Window (Visiblewindow) op('StreamDiffusionTD').par.Visiblewindow Toggle
Show the backend console window.
Default: On
Debug CMD Extra Logs (Debugmode) op('StreamDiffusionTD').par.Debugmode Toggle
Verbose debug logging in the backend console for the Local backend.
Default: Off
Stream Out Name [ to SD ] (Streamoutname) op('StreamDiffusionTD').par.Streamoutname Str
Name of the shared-memory stream between TD and the backend. Default is an expression built from the operator name and resolution; leave it unless you have a naming collision.
Default: StreamDiffusionTD_512-512_1b0c7dd5
OSCin Port [ to TD ] (Oscinport) op('StreamDiffusionTD').par.Oscinport Int
OSC port the operator listens on (backend to TD).
Default: 8576 Range: 1 - 65535
OSCout Port [ from TD ] (Oscoutport) op('StreamDiffusionTD').par.Oscoutport Int
OSC port the operator sends on (TD to backend).
Default: 8588 Range: 1 - 65535

Additional Settings

Similar Image Filter (Imagefilter) op('StreamDiffusionTD').par.Imagefilter Toggle
Skip processing when the input is nearly identical to the previous frame.
Default: Off
Similarity Filter Threshold (Filterthresh) op('StreamDiffusionTD').par.Filterthresh Float
Similarity threshold for the similar image filter.
Default: 0.9998 Slider: 0 - 1 (soft)
Max Skip Frame (Maxskipframe) op('StreamDiffusionTD').par.Maxskipframe Int
Maximum consecutive frames the similar image filter may skip.
Default: 10 Range: 0 - 10
Sd Mode (Sdmode) op('StreamDiffusionTD').par.Sdmode Menu
Switch between image-to-image and text-to-image generation.
Default: img2img Options: img2img, txt2img
Warmup Steps (Warmup) op('StreamDiffusionTD').par.Warmup Int
Warmup steps run at stream start before frames are produced.
Default: 10 Slider: 5 - 30 (soft)
Safety Checker (Safetychecker) op('StreamDiffusionTD').par.Safetychecker Toggle
Enable the NSFW safety checker.
Default: Off
Skip Diffusion (Skipdiffusion) op('StreamDiffusionTD').par.Skipdiffusion Toggle
Pass frames through the pipeline without running the diffusion step. Debugging aid.
Default: Off
Limit FPS (Limitfps) op('StreamDiffusionTD').par.Limitfps Int
Cap the stream frame rate. Applies live.
Default: 120 Slider: 1 - 120 (soft)
Frame Buffer Size (Framesize) op('StreamDiffusionTD').par.Framesize Int
Frame buffer size for the denoising batch.
Default: 1 Slider: 0 - 1 (soft)
Add Noise (Addnoise) op('StreamDiffusionTD').par.Addnoise Toggle
Add noise for the following denoising steps.
Default: On
Denoise Batch (Denoisebatch) op('StreamDiffusionTD').par.Denoisebatch Toggle
Use denoising batch processing.
Default: On
Stream Out Mode [ unused ] (Streamoutmode) op('StreamDiffusionTD').par.Streamoutmode Menu
Transport selector. Marked unused in this release; shared_mem is the active path.
Default: shared_mem Options: shared_mem, ndi

Settings 3

Outputs, UI, op config, model presets, and the TensorRT engine loader.

Status (Status3) op('StreamDiffusionTD').par.Status3 Str
Read-only status line.
Default: Not Streaming

Op Create

Create Synced Component (Synccompcreate) op('StreamDiffusionTD').par.Synccompcreate Pulse
Creates a base component with an independent timeline that advances at the stream rate, wired with the callback code for syncing to StreamDiffusionTD (onReceiveFrame must be On).

Outputs

CHOPs - out2 (Out2) op('StreamDiffusionTD').par.Out2 Menu
What the CHOP on out2 carries: all channels or only backend channels.
Default: only_backend Options: all, only_backend
Select DAT - out3 (Out3) op('StreamDiffusionTD').par.Out3 Menu
Which DAT out3 shows: logs, daydream_web_status, or local_backend_status.
Default: logs Options: logs, daydream_web_status, local_backend_status
Show Logs Level - out3 (Showlogs) op('StreamDiffusionTD').par.Showlogs Menu
Log level for the logs DAT on out3.
Default: Basic Options: Basic, All Logs, Errors Only

Display

UI Icons + Info (Uiicons) op('StreamDiffusionTD').par.Uiicons Toggle
Show the status icons in the top-left of the operator viewer (server state, mode, TensorRT / V2V / ControlNet active, FPS).
Default: On
Hide UI Errors (Hideuierrors) op('StreamDiffusionTD').par.Hideuierrors Pulse
Clear the error badges from the operator UI.

Op Configurations / Reset

Save OP Config (Writeconfig) op('StreamDiffusionTD').par.Writeconfig Toggle
When on, the operator saves its full configuration to a JSON file whenever the project is saved.
Default: Off
Load OP Config (Loadconfig) op('StreamDiffusionTD').par.Loadconfig Toggle
When on, the operator loads its saved configuration JSON on project load.
Default: Off
Reset Op (Resetop) op('StreamDiffusionTD').par.Resetop Pulse
Full operator reset back to defaults.

Model Preset Configs

Preset Name (Presetname) op('StreamDiffusionTD').par.Presetname Menu
Saved model preset to act on. Presets store main SD model, ControlNet, LCM, VAE, LoRA models, and acceleration settings (model_presets.json in the install).
Default: Saved Model Configs Will Show Here Options: Saved Model Configs Will Show Here
Load Preset (Loadpreset) op('StreamDiffusionTD').par.Loadpreset Pulse
Load the selected preset onto the operator.
Save Preset (Savepreset) op('StreamDiffusionTD').par.Savepreset Pulse
Save the current model setup as a preset.

TensorRT Engines

Select Engine (Engine) op('StreamDiffusionTD').par.Engine Menu
Built TensorRT engines found in the current install.
Default: Empty
Load Engine Parameters (Loadengine) op('StreamDiffusionTD').par.Loadengine Pulse
Load the selected engine’s parameters (model, step count, TensorRT settings) onto the operator so the stream reuses it instead of building.
Update Engine List (Updateengines) op('StreamDiffusionTD').par.Updateengines Pulse
Re-scan the engines folder and refresh the Select Engine menu.

FX Processors

Processor chain for image and latent processing. Full processor reference on the FX Processors page.

Custom Processors

Update FX Parameters (Updatefxpars) op('StreamDiffusionTD').par.Updatefxpars Toggle
Sync FX parameter changes to the running stream.
Default: On
Fx (Fx) op('StreamDiffusionTD').par.Fx Sequence
FX processor chain. Each block selects a processor; its parameters are generated dynamically on the operator when added. Built-ins: feedback_loop and feedback_grade (image_pre, so their effects compound through feedback), plus hed_tensorrt, normal_bae_tensorrt, and scribble_tensorrt TensorRT preprocessor effects. Custom processors dropped in the Basefolder appear here too - see the FX Processors docs page.
Per block: Processor (StrMenu) [feedback_grade, feedback_loop, hed_tensorrt, normal_bae_tensorrt, scribble_tensorrt]
Refesh Fx (Refreshfx) op('StreamDiffusionTD').par.Refreshfx Pulse
Re-scan available processors (built-in and custom) and refresh the menus.

ControlNet

Image conditioning. The ControlNet input image is the operator’s second TOP input. Note: the ControlNet cache controls (Cncacheinterval / Cncachedecay) live on the V2V page.

ControlNet

ControlNet Active (Usecontrolnet) op('StreamDiffusionTD').par.Usecontrolnet Toggle
Master ControlNet toggle. Turn it On before starting the stream so ControlNet is baked into the engine; once streaming it can be toggled to control whether conditioning is applied. The ControlNet input image is the operator’s second TOP input.
Default: Off
ControlNet (Cn) op('StreamDiffusionTD').par.Cn Sequence
ControlNet blocks. Each block has an Enable toggle, a Model ID (HuggingFace ID, local file, or the dropdown), a preprocessor, and a live Weight slider. Multiple blocks run multi-ControlNet.
Per block: Enable (Toggle); Model ID (StrMenu) [xinsir/controlnet-depth-sdxl-1.0, xinsir/controlnet-canny-sdxl-1.0, xinsir/controlnet-openpose-sdxl-1.0, xinsir/controlnet-scribble-sdxl-1.0]; preprocessor (Menu) [canny, depth_tensorrt, passthrough, pose_tensorrt, scribble_tensorrt]; Weight (Float) 0 - 1 (soft)

ControlNet Helpers

Auto Set Preprocessor (Autopreprocess) op('StreamDiffusionTD').par.Autopreprocess Toggle
Automatically select the mapped preprocessor when a ControlNet model is chosen. Turn Off to set preprocessors manually, otherwise your selection is overridden.
Default: Off
Auto Update ControlNet Options (Autoupdatecn) op('StreamDiffusionTD').par.Autoupdatecn Toggle
Automatically update the ControlNet Model ID options to match the current main model architecture.
Default: On
Auto Update Preprocessor Pars (Autoupdatecnpars) op('StreamDiffusionTD').par.Autoupdatecnpars Toggle
Automatically update preprocessor parameters when the preprocessor changes.
Default: On
Update from par.Modelid (Autoupdatecnvalues) op('StreamDiffusionTD').par.Autoupdatecnvalues Toggle
Update ControlNet options from par.Modelid.
Default: On
Enable preprocessor preview (Enablepreprocpreview) op('StreamDiffusionTD').par.Enablepreprocpreview Toggle
Send the ControlNet preprocessor output back to TD as a preview. Off by default: turning it on costs a GPU-to-CPU stall every frame.
Default: Off

Preprocessor Controls


V2V

StreamV2V cached attention, ControlNet caching, and Feature Injection. Everything here needs TensorRT.

Use Cached Attention (V2V) (Cattenable) op('StreamDiffusionTD').par.Cattenable Toggle
Enable StreamV2V cached attention for temporal consistency. Baked into the engine: set it before starting the stream. Requires TensorRT and the tcd scheduler.
Default: Off
V2V Max Frames (Cattmaxframes) op('StreamDiffusionTD').par.Cattmaxframes Int
Frames held in the attention feature bank. More frames, more temporal consistency, more VRAM.
Default: 4 Range: 1 - 4
V2V Interval (Cattinterval) op('StreamDiffusionTD').par.Cattinterval Int
Commit one frame to the feature bank every N frames. v0.4.0 fixes the cache-slot latch that made this judder at FPS/interval in v0.3.1.
Default: 2 Range: 1 - 8
ControlNet Cache Interval (Cncacheinterval) op('StreamDiffusionTD').par.Cncacheinterval Int
Run ControlNet once, reuse its residuals for the next N-1 frames. In v0.4.0 this actually applies on a live feed.
Default: 2 Range: 1 - 4
CN Cache Decay (Cncachedecay) op('StreamDiffusionTD').par.Cncachedecay Float
ControlNet residual cache easing on live video. 0.0 is the old feel (cache interval effectively off on a live feed). Above zero the cache interval is authoritative and the applied residual eases toward the newest computed one each frame; 1.0 snaps with no smoothing. Try 0.3 to 0.6.
Default: 0.0 Range: 0 - 1
Enable Feature Injection (V2V Smoothness) (Fienable) op('StreamDiffusionTD').par.Fienable Toggle
StreamV2V Feature Injection. Build-time: changing it needs a stream reload (engine identity includes it).
Default: Off
Feature Injection Strength (Fistrength) op('StreamDiffusionTD').par.Fistrength Float
Feature Injection blend strength. Updates live.
Default: 0.754 Range: 0 - 1
Feature Injection Threshold (Fithreshold) op('StreamDiffusionTD').par.Fithreshold Float
Similarity threshold for Feature Injection. Updates live.
Default: 0.98 Range: 0 - 1

Models

Model loading, acceleration, TensorRT build profile, LCM / VAE, and LoRA.

Download / Loading Models

Open Model Folder (Uiviewmodels) op('StreamDiffusionTD').par.Uiviewmodels Pulse
Open the models folder in the file browser.
My Models (Mymodels) op('StreamDiffusionTD').par.Mymodels Menu
Models found in your models folders (from the model list JSON in the install). Selecting one sets Model Id.
Default: stabilityai/sdxl-turbo Options: select_working_model_from_dropdown, stabilityai/sd-turbo, prompthero/openjourney-v4, stabilityai/sdxl-turbo
Acceleration (Acceleration) op('StreamDiffusionTD').par.Acceleration Menu
Acceleration method. TensorRT is required for ControlNet, IP Adapter, and StreamV2V; the none path runs bare PyTorch and does not support them. xformers was removed in v0.4.0.
Default: tensorrt Options: none, tensorrt
SD Models Folder (Sdmodelsfolder) op('StreamDiffusionTD').par.Sdmodelsfolder Folder
Extra folder scanned for main SD model files.
Default: /models/Model
Enginefolder (Enginefolder) op('StreamDiffusionTD').par.Enginefolder Folder
Override folder for TensorRT engines. Empty uses the default engines location inside the install.
Default: /engines/td
Compile Engines Only (Compileengines) op('StreamDiffusionTD').par.Compileengines Toggle
Build engines and exit without starting the stream. Useful for preparing engines ahead of a show.
Default: Off
Build Engines If Missing (Buildifmissing) op('StreamDiffusionTD').par.Buildifmissing Toggle
Build any missing engines automatically when the stream starts.
Default: On
Static TRT Shapes (Staticshapes) op('StreamDiffusionTD').par.Staticshapes Toggle
Lock the engine to a fixed resolution. Faster inference, no resolution changes without a rebuild. The TRT Profile menu sets this for you; the toggle is the manual override.
Default: Off
TRT Profile (Trtprofile) op('StreamDiffusionTD').par.Trtprofile Menu
TensorRT build profile. flexible: dynamic resolution, FP16, best compatibility. quality: fixed resolution, FP16, full optimization. performance: fixed resolution, FP8 quantization, fastest inference (RTX 40-series and newer). fast_build: fixed resolution, FP16, roughly 2x faster engine builds. Changing profile rebuilds engines.
Default: fast_build Options: flexible, quality, performance, fast_build
FP8 Quantization (Fp8) op('StreamDiffusionTD').par.Fp8 Toggle
FP8 quantization for engine builds (RTX 40-series and newer). The performance profile sets this; the toggle is the manual override.
Default: Off

LCM / VAE Selection

Scheduler (Scheduler) op('StreamDiffusionTD').par.Scheduler Menu
Noise scheduler. tcd is required for StreamV2V cached attention.
Default: lcm Options: lcm, tcd
Sampler (Sampler) op('StreamDiffusionTD').par.Sampler Menu
Sigma sampling method for the step schedule.
Default: normal Options: simple, sgm_uniform, normal, ddim, beta
Custom LCM (Customlcm) op('StreamDiffusionTD').par.Customlcm StrMenu
LCM-LoRA selection. auto picks based on model architecture. Use Skip LCM behavior for models with merged LCM weights.
Default: Empty Options: auto, latent-consistency/lcm-lora-sdv1-5, latent-consistency/lcm-lora-sdxl
Custom VAE (Customvae) op('StreamDiffusionTD').par.Customvae StrMenu
VAE selection. auto picks based on model architecture; taesd variants are the fast tiny VAEs.
Default: auto Options: auto, madebyollin/taesd, madebyollin/taesdxl, stabilityai/sd-vae-ft-mse

LoRA Models Settings

Use LoRA (Uselora) op('StreamDiffusionTD').par.Uselora Toggle
Enable LoRA loading.
Default: Off
LoRA Folder (Lorafolder) op('StreamDiffusionTD').par.Lorafolder Folder
Folder scanned for LoRA files.
Default: \models\LoRA
Open LoRA Folder (Uiviewlora) op('StreamDiffusionTD').par.Uiviewlora Pulse
Open the LoRA folder in the file browser.
LoRA Loader (Loradictblock) op('StreamDiffusionTD').par.Loradictblock Sequence
LoRA blocks. Each block selects a LoRA (file path or dropdown) with a Weight. In v0.4.0 the weight is live: drag it mid-stream, no engine rebuild, including multiple LoRAs.
Per block: LoRA File Path (File); Select LoRA (Menu); Weight (Float) 0 - 1 (soft)

Callbacks

TouchDesigner callback functions fired by the operator.

Callbacks

Callback Dat (Callbackdat) op('StreamDiffusionTD').par.Callbackdat DAT
DAT containing the callback functions.
Default: Empty
Edit Callbacks (Editcallbacksscript) op('StreamDiffusionTD').par.Editcallbacksscript Pulse
Open the callbacks DAT for editing.
Create Callbacks (Createcallbacks) op('StreamDiffusionTD').par.Createcallbacks Pulse
Create the callbacks DAT next to the operator if it does not exist.
onReceiveFrame (Onreceiveframe) op('StreamDiffusionTD').par.Onreceiveframe Toggle
Fire onReceiveFrame when a new frame arrives from the stream.
Default: On
onStreamStart (Onstreamstart) op('StreamDiffusionTD').par.Onstreamstart Toggle
Fire onStreamStart when streaming starts.
Default: On
onStreamEnd (Onstreamend) op('StreamDiffusionTD').par.Onstreamend Toggle
Fire onStreamEnd when streaming ends.
Default: On
onFrameReady (Onframeready) op('StreamDiffusionTD').par.Onframeready Toggle
Fire onFrameReady when a frame is ready for processing.
Default: On
onImageChange (Onimagechange) op('StreamDiffusionTD').par.Onimagechange Toggle
Fire onImageChange when the input image changes.
Default: On
Textport Debug Callbacks (Debugcallbacks) op('StreamDiffusionTD').par.Debugcallbacks Menu
Print callback activity to the textport: None, Basic Info, or Full Details.
Default: None Options: None, Basic Info, Full Details

Install

Backend selection and installation. The full walkthrough is the Installation guide.

Installation and Update + Help

Backend (Backend) op('StreamDiffusionTD').par.Backend Menu
Local GPU processing or the Daydream hosted backend. Daydream needs no install: use the Daydream Login pulse that appears when it is selected.
Default: local Options: local, Daydream
Update par.Modelid (Autoupdatemodelid) op('StreamDiffusionTD').par.Autoupdatemodelid Toggle
Keep par.Modelid updated automatically when the backend changes.
Default: On
Open Docs (Viewinstallguide) op('StreamDiffusionTD').par.Viewinstallguide Pulse
Open the install docs.

StreamDiffusion Install Location

Base Folder (Basefolder) op('StreamDiffusionTD').par.Basefolder Folder
Where StreamDiffusion is (or will be) installed on disk. Set once; the operator remembers the last install location on this machine and fills it in when dropped into a project.
Default: Empty

Installation Steps

1. Download StreamDiffusion ✗ (Clonestreamdiffusion) op('StreamDiffusionTD').par.Clonestreamdiffusion Pulse
Step 1. Downloads the pinned v0.4.0 repos, or offers Full Update / Fresh Install when an existing install is found.
2. Install/Update [ venv + req ] ✗ (Installstreamdiffusion) op('StreamDiffusionTD').par.Installstreamdiffusion Pulse
Step 2. Builds the venv: PyTorch 2.11.0+cu128, cuda-link, and the rest of the stack. Required once per computer; wait for the console to finish.
3. Install TensorRT [ optional ] ✗ (Installtensorrt) op('StreamDiffusionTD').par.Installtensorrt Pulse
Step 3. Installs TensorRT 10.16. Required for ControlNet, IP Adapter, and StreamV2V.

Other Install Options

No Cache Install

No Cache Install (Nocacheinstall) op('StreamDiffusionTD').par.Nocacheinstall Toggle
Disable pip caching during installation. Try this if the install hits dependency or hash errors.
Default: On

HF model cache: C:/Users/DotSimulate/.cache/huggingface/hub

Set Hugging Face Cache (Sethfcache) op('StreamDiffusionTD').par.Sethfcache Toggle
Use a custom HuggingFace cache location.
Default: Off
Hugging Face Cache (Hfcache) op('StreamDiffusionTD').par.Hfcache Folder
The custom HuggingFace cache folder.
Default: /models

Activate Virtual Environment

Manual Activate VENV (Openvenv) op('StreamDiffusionTD').par.Openvenv Pulse
Open a console with the install venv activated, for manual pip work and debugging (python -m sd_installer verify / repair / diagnose).

About

Version info, updates, and operator packaging.

Up to Date ✓ (Updateaction) op('StreamDiffusionTD').par.Updateaction Pulse
Operator update action; the label shows current update state. Signed-in operators check for tox updates once every 24 hours.
Load User/Dev .tox (Loadusertox) op('StreamDiffusionTD').par.Loadusertox Toggle
Keep and load a separate user-modified copy of the operator, preserving your internal edits across backend switches and updates.
Default: Off
Version (Txversion) op('StreamDiffusionTD').par.Txversion Str
Operator version.
Default: 0.4.0
Date (Txdate) op('StreamDiffusionTD').par.Txdate Str
Operator build date.
Default: 08/22/2026
About Me (Txopenaboutme) op('StreamDiffusionTD').par.Txopenaboutme Pulse
About dotsimulate.
Show Built In (Showbuiltin) op('StreamDiffusionTD').par.Showbuiltin Toggle
Show the TouchDesigner built-in parameter pages on the operator.
Default: Off
Unload Operator (Unloadoperator) op('StreamDiffusionTD').par.Unloadoperator Pulse
Package the operator into a lightweight loader stub for sharing a project file without the full operator inside it.

TensorRT Engine Behavior (v0.4.0)

The engine identity includes: model, ControlNet on/off, IP Adapter on/off, Feature Injection on/off, TRT Profile, TensorRT version, and GPU. Changing any of these builds a new engine (old engine folders stay).

With the flexible profile (default): resolution changes freely from 256-1024px and step count changes freely, no rebuild.

With static-shape profiles (quality / performance / fast_build): the engine is locked to its build resolution.

First ControlNet stream in v0.4.0 rebuilds the ControlNet engine once - the cache key now includes TensorRT version and GPU. That is expected.

StreamV2V: cached attention engines are locked to their build resolution regardless of profile.