Parameters Reference (v0.3.1)

StreamDiffusionTD has 100+ parameters organized across multiple pages. This reference covers the most important parameters.

Page Navigation

  • Settings 1 - Core generation, prompts, seeds, IP Adapter
  • Settings 2 - Stream controls, connection settings, StreamV2V
  • Settings 3 - Configurations, presets, TensorRT engines
  • FX Processors - Image/latent processing hooks
  • ControlNet - Image conditioning controls
  • Models - Model loading, LoRA, VAE, scheduler/sampler
  • Install - Installation and backend configuration
  • About - Version info, updates, benchmark
  • Callbacks - TouchDesigner callback functions

Settings 1

Core generation parameters including prompts, seeds, IP Adapter, and guidance.

Model ID (Modelid) op('StreamDiffusionTD').par.Modelid StrMenu
The model to use for generation. Default is SDXL-Turbo.
Default: stabilityai/sdxl-turbo Options: stabilityai/sd-turbo, stabilityai/sdxl-turbo, prompthero/openjourney-v4
Width / Height (Width, Height) op('StreamDiffusionTD').par.Width Int
Output resolution. TensorRT supports 384-1024px without engine rebuild.
Default: 512 Range: 384-1024 (auto-rounds to multiple of 64)

Prompts

Prompt Blocks (Promptdict) op('StreamDiffusionTD').par.Promptdict Sequence
Multiple prompts with individual weights for blending. Use +/- buttons to add/remove prompts.
Default: "default fancy banana" Sequence Block with concept and weight
Interpolation (Setinterpolation) op('StreamDiffusionTD').par.Setinterpolation Menu
Method for interpolating between multiple prompts. "average" = linear blend of embeddings. "slerp" = spherical interpolation for smoother morphing between prompts.
Default: slerp Options: average, slerp

Step Schedule (T Index)

Step Schedule (Tindexblock) op('StreamDiffusionTD').par.Tindexblock Sequence
Similar to 'denoise' in img2img. Each step has a slider (1-49). Lower values = more randomness, higher values = closer to input. Adjustable while streaming. Step count can change without TensorRT rebuild.
Default: 35 Range: 1-49 per step

Seeds

Seed Blocks (Seeddict) op('StreamDiffusionTD').par.Seeddict Sequence
Multiple seeds with weights for blending. Use -1 for random seed every frame (creates variation/flickering effect).
Default: Random Sequence Block with seed value and weight

IP Adapter

IP Adapter Enable (Ipadapterenable) op('StreamDiffusionTD').par.Ipadapterenable Toggle
Enable IP Adapter for image prompt conditioning. Must be decided BEFORE engine build. Cannot toggle after.
Default: On Options: On | Off
IP Adapter Scale (Ipadapterscale) op('StreamDiffusionTD').par.Ipadapterscale Float
Strength of IP Adapter influence on generation.
Default: 0.0 Range: 0.0-1.0
IP Adapter Image (Ipadapterimage) op('StreamDiffusionTD').par.Ipadapterimage TOP
Reference image TOP for IP Adapter conditioning.
Default: None TOP reference
FaceID Mode (Ipfaceid) op('StreamDiffusionTD').par.Ipfaceid Toggle
Enable face-specific IP Adapter mode for face preservation.
Default: Off Options: On | Off

Guidance

Guidance Scale (Guidancescale) op('StreamDiffusionTD').par.Guidancescale Float
CFG scale controlling adherence to prompt.
Default: 1.0 Range: 0.0+
Delta (Delta) op('StreamDiffusionTD').par.Delta Float
Delta multiplier of virtual residual noise.
Default: 1.0 Range: 0.0+
CFG Type (Cfgtype) op('StreamDiffusionTD').par.Cfgtype Menu
CFG mode for img2img. Negative prompts only work with "full" mode (results not ideal).
Default: self Options: none, full, self, initialize

Settings 2

Stream control, connection settings, mode selection, and StreamV2V.

SD Mode (Sdmode) op('StreamDiffusionTD').par.Sdmode Menu
Switch between image-to-image and text-to-image generation modes.
Default: img2img Options: img2img, txt2img
Pause Stream (Pausestream) op('StreamDiffusionTD').par.Pausestream Toggle
Pause/resume streaming without stopping the server.
Default: Off Options: On | Off
Debug Mode (Debugmode) op('StreamDiffusionTD').par.Debugmode Toggle
Enable verbose debug logging for Local backend (td_main.py).
Default: On Options: On | Off
Limit FPS (Limitfps) op('StreamDiffusionTD').par.Limitfps Int
Maximum frames per second cap. Useful for controlling GPU load. Applies instantly without restart.
Default: 60 Range: 1-120
Similar Filter Sleep (Similarfiltersleepfraction) op('StreamDiffusionTD').par.Similarfiltersleepfraction Float
When the similar image filter skips a frame (because the input hasn't changed enough), this controls how long the GPU sleeps. Prevents the GPU from spinning at 100% on static input without adding visible latency.
Default: 0.025 Range: 0.0-1.0

StreamV2V / Cached Attention (New in v0.3.1)

Video-to-video mode using cached attention maps for temporal consistency between frames. Requires TensorRT acceleration and the peft package (installed automatically).

Cached Attention Enable (Cattenable) op('StreamDiffusionTD').par.Cattenable Toggle
Enable StreamV2V cached attention for temporal consistency. Must be set before starting the stream.
Default: Off Options: On | Off
Cached Attention Max Frames (Cattmaxframes) op('StreamDiffusionTD').par.Cattmaxframes Int
Number of frames stored in the attention cache. Higher values increase temporal consistency but use more VRAM.
Default: 3 Range: 1-10
Cached Attention Interval (Cattinterval) op('StreamDiffusionTD').par.Cattinterval Int
How often the attention cache updates with new frames. Lower values update more frequently.
Default: 1 Range: 1-10

StreamV2V Notes:

  • Requires TensorRT acceleration (non-TRT paths are broken for this feature)
  • Resolution is locked to the TRT engine build dimensions (e.g., 512x512 engine only works at 512x512)
  • Uses a circular buffer for the KVO cache, optimized for performance

FX Processors

Hook system for custom image and latent processing at four pipeline stages. See the FX Processors page for full documentation on each processor and its parameters.

FX Processors (Fx) op('StreamDiffusionTD').par.Fx Sequence
Add FX processors for image/latent pre and post processing. Parameters for each processor are generated dynamically on the operator when added.
Default: None Sequence Block

Built-in Processors

ProcessorStageDescription
feedback_loopimage_preDeforum-style feedback with zoom, pan, rotation
feedback_gradeimage_preColor grading that compounds through feedback (brightness, contrast, saturation, gamma, hue, temperature, invert)

Processing Stages

FX Processors can be applied at four stages:

  1. Image Preprocessing (image_pre): Before VAE encoding. Both built-in processors run here so their effects compound through the feedback loop
  2. Latent Preprocessing (latent_pre): After encoding, before diffusion (open for custom processors)
  3. Latent Postprocessing (latent_post): After diffusion, before decoding (open for custom processors)
  4. Image Postprocessing (image_post): After decoding (open for custom processors)

ControlNet

Image conditioning controls for both local and Daydream modes.

Use ControlNet (Usecontrolnet) op('StreamDiffusionTD').par.Usecontrolnet Toggle
Enable ControlNet conditioning. Must be ON when starting stream.
Default: On Options: On | Off
ControlNet Blocks (Cn) op('StreamDiffusionTD').par.Cn Sequence
Multiple ControlNet configurations. Each has model ID, preprocessor, weight, and enable toggle. v0.3.1 supports verified dual ControlNet streaming.
Default: depth Sequence Block
Auto Preprocess (Autopreprocess) op('StreamDiffusionTD').par.Autopreprocess Toggle
Automatically select a preprocessor based on the ControlNet model. Turn this OFF if you want to set preprocessors manually, otherwise your selection will be overridden.
Default: On Options: On | Off

ControlNet Models (SDXL)

For SDXL-Turbo, use SDXL-compatible ControlNets:

  • xinsir/controlnet-depth-sdxl-1.0
  • xinsir/controlnet-canny-sdxl-1.0
  • xinsir/controlnet-tile-sdxl-1.0

Preprocessors

Available preprocessors:

  • canny - Edge detection
  • depth - Depth estimation (CPU, higher VRAM)
  • depth_tensorrt - Depth estimation (GPU accelerated, auto-builds TRT engine on first use, ~60% faster than CPU depth)
  • hed - Holistically-nested edge detection
  • external - Use pre-processed input
  • feedback - Use previous output as conditioning

Models

Model loading, acceleration, LoRA, VAE, and scheduler/sampler configuration.

Acceleration (Acceleration) op('StreamDiffusionTD').par.Acceleration Menu
Acceleration method. TensorRT is required for ControlNet, IPAdapter, and StreamV2V.
Default: tensorrt Options: none, xformers, tensorrt
Scheduler (Scheduler) op('StreamDiffusionTD').par.Scheduler Menu
Noise scheduler selection. TCD scheduler is required for StreamV2V / cached attention.
Default: lcm Options: lcm, tcd
Sampler (Sampler) op('StreamDiffusionTD').par.Sampler Menu
Sampling method for the diffusion process.
Default: simple Options: simple, sgm uniform, normal, ddim, beta, karras
Custom LCM (Customlcm) op('StreamDiffusionTD').par.Customlcm StrMenu
LCM-LoRA selection. Auto-selects based on model architecture.
Default: auto Options: auto, latent-consistency/lcm-lora-sdv1-5, latent-consistency/lcm-lora-sdxl
Custom VAE (Customvae) op('StreamDiffusionTD').par.Customvae StrMenu
VAE selection for encoding/decoding.
Default: auto Options: auto, madebyollin/taesd, madebyollin/taesdxl, stabilityai/sd-vae-ft-mse
Use LoRA (Uselora) op('StreamDiffusionTD').par.Uselora Toggle
Enable LoRA model loading. LoRA support is experimental/untested. Note: sd-turbo is SD 2.1 based, so SD 1.5 LoRAs won't work with it.
Default: Off Options: On | Off

Install

Backend and installation configuration.

Backend (Backend) op('StreamDiffusionTD').par.Backend Menu
Choose between local GPU processing or Daydream cloud.
Default: Daydream Options: local, Daydream
Base Folder (Basefolder) op('StreamDiffusionTD').par.Basefolder Folder
Location of StreamDiffusion installation.
Default: Empty Directory path
User/Dev Tox Mode (Loadusertox) op('StreamDiffusionTD').par.Loadusertox Toggle
Toggle between loading the verified operator TOX and a user-modified copy. When enabled, the operator keeps a separate user copy that preserves your internal modifications across backend switches and updates.
Default: Off Options: On | Off

About

Version info, update checking, and benchmark tools.

Generate Benchmark (Generatebenchmark) op('StreamDiffusionTD').par.Generatebenchmark Pulse
Gathers FPS, VRAM usage, current config, and GPU info and copies a formatted report to your clipboard. Useful for sharing performance results or reporting issues.
Check for Updates (Checkforupdates) op('StreamDiffusionTD').par.Checkforupdates Pulse
Check for new operator TOX versions. Requires sign-in on the About page. The operator checks automatically once every 24 hours if authorized.

Callbacks

TouchDesigner callback function controls.

Callback DAT (Callbackdat) op('StreamDiffusionTD').par.Callbackdat DAT
Reference to DAT containing callback functions.
Default: StreamDiffusionTD_callbacks DAT reference

Available Callbacks

  • onReceiveFrame: When new frame is received from StreamDiffusion
  • onStreamStart: When streaming starts
  • onStreamEnd: When streaming ends
  • onFrameReady: When frame is ready for processing
  • onImageChange: When input image changes

TensorRT Engine Behavior

TensorRT engines are flexible in v0.3.1:

Engine depends on:

  • Model
  • ControlNet enabled/disabled
  • IP Adapter enabled/disabled

Engine does NOT depend on:

  • Resolution (384-1024px, change freely)
  • Step count (1-4 steps, change freely)

When you must rebuild:

  • Changing model
  • Toggling IP Adapter
  • Toggling ControlNet

StreamV2V note: Cached attention engines are locked to their build resolution. If you built at 512x512, StreamV2V only works at 512x512. Change resolution requires an engine rebuild.