Spaces:
Running on Zero
Running on Zero
| 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. |