CivArchive
    CrossView IC-LoRA for LTX 2.3 22B - Prompt v0.9
    NSFW

    LTX-Video 2.3 22B — IC-LoRA: CrossView

    Warp version

    What it does: you give it a video and a camera offset (azimuth / elevation / distance), and it generates the same scene from that new viewpoint. It's an IC-LoRA for LTX-Video 2.3 (22B) with two reference videos: a depth-warp of your video (this carries the geometry) and the original video itself (this keeps the identity). The warps come from the CrossViewWarp ComfyUI node, which uses Depth Anything V2 input.

    KEYFRAME UPDATE: The offset doesn't have to be a single fixed pose. Right-clicking the node's 3D orbit picker drops keyframes, and it interpolates a camera pose per frame — so instead of a new static viewpoint you can drive a whole camera move (an orbit around the subject) across the clip.

    Unlike my CrossView Prompt LoRA (which takes the camera angle from a text prompt), this one takes the angle as numbers — so you can set the viewpoint precisely instead of choosing from a fixed phrase list.

    Important: The Warp version requires a custom ComfyUI node (you can find the link below). The Prompt version doesn't.

    You can download

    Usage (ComfyUI)

    Install the ComfyUI-CrossViewWarp custom node (clone into ComfyUI/custom_nodes/, install its requirements, restart ComfyUI). It needs the Depth Anything V2 node for the depth input.

    • Load LTX2.3-22B_IC-LoRA-CrossView-Warp_v0.9_18000.safetensors as the IC-LoRA.

    • Wire your input video to both the CrossViewWarp node (frames + DA-V2 depth) and an IC-LoRA reference guide. The node's warp output goes to a second reference guide. Set latent_downscale_factor = 1 on both guides.

    • Set the camera on the node — either with the numbers or by dragging the camera marker on the built-in 3D orbit picker widget.

    Important: Unfortunately distance setting doesn't work as expected due to some dataset problems which will be solved in the next release.

    Settings that worked for me

    • IC-LoRA strength: 1.3

    • Both IC-LoRA guides: latent_downscale_factor = 1

    • For distance > 1: describe the revealed content in the prompt (see in "limitations" below)

    Limitations

    • It steers the viewpoint, it doesn't reproject it. The model treats the warp as a hint and re-imagines the scene from the new angle. You often get a smaller rotation than you asked for.

    • Pulling the camera back (distance > 1) often does nothing on its own. What helped: describe the unseen parts in the prompt. If you want a character shown from farther away, write out the clothing and body details that weren't visible in the source ("full-body shot, knee-high leather boots, long dark skirt"). The prompt fills in what the warp can't know.

    Prompt version

    A fine-tuned In-Context LoRA (IC-LoRA) adapter for LTX-Video 2.3 (22B) that acts as a virtual second camera: give it a reference video and a short camera-angle prompt, and it re-renders the same scene from the requested new viewpoint keeping the subject and content, changing where the camera stands.

    v0.9 — proof-of-concept. Trained on synthetic multi-view data; it generalizes to real footage but has clear limits (see Limitations). Feedback welcome.

    Usage (ComfyUI)

    I tested this LoRA only in ComfyUI, in a video-to-video (IC-LoRA) workflow. An example workflow is here: https://huggingface.co/datasets/Cseti/ComfyUI-Workflows/blob/main/ltx/2.3/ic-lora-crossview-v1-pilot/README.md

    How it works:

    • Load LTX2.3-22B_IC-LoRA-CrossView-Prompt_v0.9_13700.safetensors as the LoRA.

    • Provide a reference video — the scene you want to re-shoot from a new angle.

    • Provide a camera-angle prompt (see the vocabulary below). No starting image is needed

    Prompt vocabulary (important)

    Unlike a free-text LoRA, this model was trained on a fixed, discrete camera vocabulary. Every prompt must start with the trigger crossview. followed by the template:

    crossview. new camera angle: {azimuth}, {elevation}, {distance}.
    

    All 63 valid combinations are listed in captions_all_63.txtin my Huggingface repo. Use these exact phrases — the model learned this vocabulary specifically, so synonyms ("45 degrees left", "slightly leftward") work less reliably.

    Example prompts:

    crossview. new camera angle: to the right, lower, closer.
    crossview. new camera angle: to the left, higher, further.
    crossview. new camera angle: same angle, same height, closer.
    

    Tips

    • Angle size & chaining: the model works most reliably on small, single-step angle changes. For a larger viewpoint shift, chain several small steps — feed the generated view back in as the new reference and apply another small angle.

    • Full prompt list: every prompt used to train this model is in captions_all_63.txt — use these exact phrases.

    • Distilled model: the LoRA was trained on the full (non-distilled) LTX-2.3. On distilled few-step workflows its effect is weaker — try a LoRA strength of 1.2–1.5, and/or run it in the first (non-distilled) pass.

    Training and dataset details

    This IC-LoRA was trained on RunPod cloud GPUs (NVIDIA RTX PRO 6000 Blackwell, 96 GB).

    Detailed information about the training parameters and used dataset can be found under my HF repo: https://huggingface.co/Cseti/LTX2.3-22B_IC-LoRA-CrossView-Prompt

    Limitations

    • Viewpoint range: the training cameras span a frontal sector (~±60° azimuth max) — "view from behind" is out of range.

    • Distilled model: weaker on distilled few-step models (see Tips).

    License

    This LoRA is shared under the Apache License 2.0. It was trained entirely on the SynCamVideo dataset, which is itself Apache-2.0 licensed, so the training data places no additional restrictions on this adapter and it can be released under the same permissive terms.

    Note: using this LoRA requires the LTX-Video 2.3 base model, which is governed by its own license — please review Lightricks' terms for the base weights separately.

    Support

    Producing and sharing this kind of open-source work requires renting cloud GPUs, which gets expensive quickly. If you find it useful and would like me to keep contributing, your support is very much appreciated:

    Ko-fi Liberapay

    Description

    FAQ

    Comments (9)

    Dumcluck51Jul 15, 2026· 1 reaction
    CivitAI

    Using your linked workflow I get the following Comfyui error:

    # ComfyUI Error Report

    ## Error Details - Node ID: 5250:5226

    - Node Type: LTXVEmptyLatentAudio

    - Exception Type: AttributeError

    - Exception Message: AttributeError: 'VideoVAE' object has no attribute 'latent_frequency_bins'

    Cseti
    Author
    Jul 15, 2026

    Ouch, sorry, I'm gonna recheck it tonight

    Cseti
    Author
    Jul 15, 2026

    Are you sure you are using the correct audio vae for that node?

    Dumcluck51Jul 15, 2026

    @Cseti LTX23_audio_vae_bf16.safetensors ... same as your workflow.

    Dumcluck51Jul 15, 2026· 2 reactions

    OH!!! I found the problem. I had the audio and video vae nodes swapped. So sorry.

    dav79mail156Jul 15, 2026
    CivitAI

    it works, but the similarity is minimal.

    Cseti
    Author
    Jul 19, 2026

    Interesting. In my examples the similarity is quite good