TensorScale LTX-2.3 Fast Video (Soze)
The cheap hosted LTX tier with the flexible image anchor
- image
- video
- video_path
- request_id
- config
- status
The previous generation of Lightricks' hosted fast tier, and honestly still a perfectly good place to spend your draft renders. LTX-2.3 Fast is text-to-video by default, with an image anchor available when you want one, and it costs less than its 2.5 successor - which makes it the iteration node in the TensorScale family. Use 2.5 for the final pass with audio; use 2.3 to figure out what the shot even is.
The inputs
Small required set: prompt, duration (5 or 8 seconds - that's the whole choice), resolution (1920x1088, 1088x1920, 1280x768, or 768x1280), and seed. The prompt is pure scene description; unlike the 2.5 node, there's no audio to describe, so keep it visual.
The interesting part is how the image conditioning works, because LTX-2.3 gives you three ways in:
image_url- paste a public HTTPS URL. It wins if both are supplied.imagesocket - connect an image tensor; it's sent as animage_inputsentry with an inline data URI. Because it's a structured entry, you also getframe_idx(0–240), which lets you anchor a frame other than the first. That's rare and handy - condition frame 20 if that's the key beat.use_fal_upload- flip this on to push the socket image to FAL's CDN and send the flat URL form instead of inlining. If the image is large, this keeps you under the 10 MiB body cap (and it needsFAL_KEYconfigured).
image_strength (0–1, default 1.0) controls how hard the anchor holds. It's a lean, well-specified node.
How it works
TensorScale's /v2/ltx-2.3/fast runs synchronously with a model-scoped key (TENSORSCALE_API_KEY_LTX_2_3_FAST, falling back to TENSORSCALE_API_KEY). The node POSTs once and the connection stays open through the whole generation - the timeout widget (default 1800s) is a read timeout, and a long clip is legitimately minutes. The returned mp4 is saved to disk and handed back as a VIDEO object.
Outputs: video, video_path, request_id, config (a run summary string), and status.
Install and key
From the Soze pack ("Quality of Life Nodes for ComfyUI"), via ComfyUI Manager or:
cd ComfyUI/custom_nodes
git clone https://github.com/SozeInc/ComfyUI_Soze.git
pip install -r ComfyUI_Soze/requirements.txt
Restart, then set TENSORSCALE_API_KEY or TENSORSCALE_API_KEY_LTX_2_3_FAST (environment variable or .env in the repo root). Don't commit keys.
Common issues
- Inline image too big. If you get the 10 MiB error, either use
image_urlwith a hosted image or turn onuse_fal_upload. use_fal_uploaderrors out. It needs aFAL_KEYeven though generation is TensorScale - the upload hop is FAL's CDN.- Frame anchor not where you expected. Check
frame_idx- with an inlineimage_inputsentry, 0 is the default but not the only option. A typedimage_urlalways lands at frame 0.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| duration | COMBO | 5 | Clip length in seconds. |
| resolution | COMBO | 1280x768 | 4 options: 1920x1088, 1088x1920, 1280x768, 768x1280 |
| seed | INT | 420–4294967295 | — |
| imageopt | IMAGE | Optional conditioning frame, sent inline via image_inputs. | |
| image_urlopt | STRING | Public HTTPS image URL. Overrides the image socket. | |
| image_strengthopt | FLOAT | 1.000–1 | — |
| frame_idxopt | INT | 00–240 | Which frame the socket image conditions (image_inputs only). |
| use_fal_uploadopt | BOOLEAN | false | Upload the image socket to FAL's CDN and use the flat image_url form instead of inlining. |
| image_formatopt | COMBO | PNG | 2 options: PNG, JPEG |
| api_key_envopt | STRING | TENSORSCALE_API_KEY_LTX_2_3_FAST | Environment variable holding the model-scoped key. Falls back to TENSORSCALE_API_KEY when unset. |
| timeoutopt | INT | 180060–7200 | Read timeout in seconds. These endpoints are synchronous — the socket stays open for the whole generation. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| video_path | STRING | — |
| request_id | STRING | — |
| config | STRING | — |
| status | STRING | — |