--- title: LTX CrossView Camera Control emoji: 🎥 colorFrom: red colorTo: pink sdk: gradio sdk_version: 6.20.0 app_file: app.py pinned: false hardware: zero-a10g short_description: Re-render a video from a new camera angle via IC-LoRA python_version: "3.12" models: - Lightricks/LTX-2.3 - Cseti/LTX2.3-22B_IC-LoRA-CrossView-Prompt --- # LTX CrossView Camera Control This Space demonstrates the [Cseti/LTX2.3-22B_IC-LoRA-CrossView-Prompt](https://huggingface.co/Cseti/LTX2.3-22B_IC-LoRA-CrossView-Prompt) IC-LoRA for LTX-Video 2.3. ## What it does Upload a reference video and pick a new camera angle (azimuth, elevation, distance). The model re-renders the same scene from the requested viewpoint — like a virtual second camera on the same take. ## How it works - **Base model**: [LTX-Video 2.3 (22B)](https://huggingface.co/Lightricks/LTX-2.3) via the diffusers-converted variant (`dg845/LTX-2.3-Diffusers`) - **Pipeline**: `LTX2InContextPipeline` with `LTX2ReferenceCondition` for in-context video conditioning - **LoRA**: applied via standard `pipe.load_lora_weights()` + `set_adapters()` ## Prompt vocabulary The LoRA was trained on a fixed, discrete camera vocabulary. Prompts follow the template: ``` crossview. new camera angle: {azimuth}, {elevation}, {distance}. ``` Use the dropdowns in the UI to build a valid prompt — the app constructs it automatically. ## Tips - **Small angle changes work best.** For larger viewpoint shifts, chain multiple small steps (feed the generated view back in as the new reference). - **LoRA strength** of 1.0–1.5 is recommended. Higher values produce a stronger viewpoint shift. - Generation takes ~2-4 minutes for a 3-second video at 30 steps.