I can't control it

#96
by Dragon-Virtual-Tours - opened

[Using LTX 2.5 12V. Considering what I've seen from AI, what I want to do what must be simplest thing there is. I want to see a man sitting behind a desk and speaking. So I made the set, created the character sheet and a voice for him - all that stuff. Now no matter what I do the camera pushes in. Claude and I tried all day yesterday to simply get LTX to make the clip without pushing in. We failed.

To keep interest during 2-4 minutes of speech I would like to establish several views of the desk. Now if I tell it to pull back it does, then pushes in again. ](Title: LTX 2.5 (MSR + Prompt Relay): camera slowly pushes in on a seated talking-head shot, can't stop it

Setup (ComfyUI, RTX 5060 Ti 16GB, RAM sits around 93% during renders):

  • ltx-2.5-22b-distilled-transformer-comfy-int8-convrot
  • gemma4-12b-with-proj-ltx-2.5-comfy-int8-convrot text encoder
  • ltx-2.5-video-vae-bf16 and ltx-2.5-audio-vae-bf16
  • Licon MSR V2 IC-LoRA (ComfyUILTX25MSRICLoRALoader, strength 1) plus the MSR Multi Reference Guide, with an image reference, a scene image as background, and an audio reference for the voice
  • Kijai's PromptRelayEncode with a global prompt and two local prompts
  • SamplerCustomAdvanced, exp_heun_2_x0_sde, ManualSigmas 1.0, 0.99375, 0.9875, 0.98125, 0.975, 0.909375, 0.725, 0.421875, 0.0 (8 steps), fixed seed
  • 10 second clips, 241 frames at 24 fps

What I'm making: a character seated at a desk, speaking to the camera. Identity and voice come out great. The problem is the camera: it slowly pushes in over the clip even when nothing in the prompt asks for it.

What I've tried, all on the same seed:

  • CFG 1, 1.5 and 2: no change in the push-in
  • "camera zoom" in the negative prompt: no effect. I later learned "zoom" isn't a recognized camera term, only push in and pull back
  • "static frame" in the prompt (twice): still drifts. It seems to leave the timing of pushes and pulls to the model rather than locking the camera
  • "pull back" in a local prompt: the camera did pull back, then pushed in again on its own
  • "wide establishing shot" added to the local prompts: same result
  • "no push in": no help

I know the official camera guide lists: tracks, pans across, circles around, tilts upward, pushes in and pulls back, overhead view, handheld movement, over-the-shoulder, wide establishing shot, static frame. It would be a big help. Thanks!doesn't say how any of them behave in a long clip.

Questions:

  1. Is there a keyword, prompt structure, or setting that actually holds a fixed camera for a 10 second talking shot?
  2. Could the MSR LoRA or Prompt Relay be adding the drift?
  3. Is there any way to control how much of the clip each local prompt gets?

I'd rather not fix it by keyframing in post. Any working prompts or workflows for a static seated speaker)

Any help REALLY appreciated!

here is my help, I've tried this model some time ago when i was less experimented with ai video models in general. I'm now using minimaxh3 because it has the reference to video mode which is very powerful even if the human realism quality is less than what this ltx model can do out of the box. BUT here is what I've figured out related with your question. both minimaxh3 and this model are missing the part that controls and interact with the model to make it do what you want. we may call this part "THE DIRECTOR" the module that can write the prompt like the model wants so that the camera will move at specific speeds and keep the angle or make certain things happen in the scene exactly as you want. this very important module is not open source and is using by these companies to make money with their website. now here is the good thing IF you figure out the secret sauce to talk with the model then you won the lottery as the models are very powerful, here is the bad news, no one actually knows or at least will not reveal the correct prompt layout. Also I've tried for example google argon at highest settings and it doesn't know the correct prompt structure, it just gives you the bad information that is already on internet. So no help from AIs either, they are wrong, don't trust them.

Negation in possitve prompt for such model is possitve, if you say "no pull back" -> "do pull back"
negative prompt on CFG 1 is not considered, use the dev full if need to control this. (i am not sure if you already did) and check below .

You are not missing a simple keyword. In LTX-2.5, a slow push-in is the default bias. A lot of the training footage is cinematic, so when you leave the camera even slightly underspecified, the model invents a move to keep the shot feeling alive. A prompt alone is a weak lock, especially over 241 frames. The thing that actually locks it is a separate setting, plus repeating the lock in every segment.

Why your tests did not hold:

  • CFG 1, 1.5, 2: Expected. The distilled model is essentially unguided, so CFG changes adherence a little, not camera behavior.

  • Negative prompt with "camera zoom": LTX-2.5 has no real negative branch, so say what you want to see instead. Measured tests also found negatives act late and can conjure the noun you named. "No smoke" came back as fog, for example.

  • "Static frame" twice: That term is real, but one mention in a long prompt gets diluted, especially if the prompt enhancer rewrites it. Lightricks warns to read the enhanced version before generating, because it may have moved or softened your camera clause.

  • "Pull back" in a local prompt: Prompt Relay blends between segments. A pull-back becomes a temporary move, then the model drifts back toward the global anchor, which in your case is the default push-in.

  • "Wide establishing shot": That is a shot size, not a camera move. It tells the model how wide to start, not to stay still.
    "No push in": Same negative problem as above, plus "pushes in" is the documented term, "zoom" is not. The guide is explicit: "Pushes in" is documented, a synonym like "creeps forward" is not.

at the same time the official order also matters: establish the shot, set scene and lighting, describe action, define characters, identify camera movement, describe audio. Camera arrives fifth, after the subject exists. Lightricks also says to describe how the subject appears after the movement completes, which is the highest-value instruction most people skip. For a static shot, that means describing the exact framing that must still be true on the last frame

What actually locks it

  1. Use the Static camera LoRA, not just the word static
    Lightricks publishes seven camera-move adapters covering dolly in, dolly out, dolly left, dolly right, jib up, jib down and static, with no reference clip required. In ComfyUI that is ltx-2-19b-lora-camera-control-static.safetensors, loaded at strength 1.0

  2. Put the lock in every prompt, in positive language
    For image-to-video, the still already carries the picture, so the text should be almost all motion. The measured pattern that works is to begin with "Static locked-off shot" and end on a held state that lasts through the last frame.
    Do not write "no push in" or "without zoom." Write what stays still.

  3. Do not use Prompt Relay to move the camera
    If you want several views of the desk over 2 to 4 minutes, do not morph between them in one generation. That morph is the push/pull you are seeing.
    LTX-2.5 has native multishot. At every cut you name the transition, re-establish the new shot's scale and angle, reuse the same visual identifiers, and say whether audio continues or changes. For dialogue that must stay lip-synced in one framing, the guide says to stay with a single continuous take

How to control how much time each local prompt gets:
Yes, you can control it, and this is probably where your current setup is betraying you.

In plain PromptRelayEncode, you hand-count segment_lengths yourself. It is a comma-separated list of frame counts that must sum to your total frames. For your 241 frame clip, three equal views would be 80, 80, 81.

In PromptRelaySmartEncode, you use relative ranges instead. Inline syntax looks like First beat [0-50] | Second beat [50-150] | Third beat [150-200]. Those bracketed numbers are not frame counts, they are relative positions. Total span here is 200, so segment one gets 25 percent, segment two gets 50 percent, segment three gets 25 percent, no matter how many actual frames the clip has. Leave the brackets off and every segment just gets equal time.

Two settings to check:
normalize_by_tokens: When on, each segment's weight gets multiplied by its token count, so a wordier segment gets proportionally more screen time. Turn it off if you want exact control.
epsilon: This controls boundary sharpness. Default 0.001 is sharp cuts, 0.5 plus is soft blends. For distinct desk views you want sharp, so keep epsilon low. A soft blend will look like a slow push or pull between framings.

TO CHECK FURTHER:
Single-angle test prompt, no Relay:
"
Medium close-up, interior office. A man sits centered behind a wooden desk, shoulders square to camera, hands resting on the desk. Warm desk lamp from camera left, soft daylight from a window behind him. He speaks directly to camera, lips moving in sync, small natural head movement, hands staying on the desk. Static locked-off shot, tripod, camera remains completely still. Framing does not change from the first frame to the last frame. Through the last frame he is still centered in medium close-up, desk edge at the same height, background unchanged. Quiet room tone, his voice clear.
"

If you use Relay for multiple views, the global should contain only character, outfit, lighting, and style. Each local must then contain its own full shot description plus its own static lock plus its own destination framing. Example for two locals:

Global: Man, late 40s, dark blazer, seated at wooden desk in office, warm lamp from camera left, soft daylight, photorealistic, quiet room tone.
Local 1: Static locked-off shot. Medium close-up, man centered behind desk, desk edge at lower third. He speaks to camera. Framing does not change through this segment.
Local 2: Hard cut to static locked-off shot. Wide shot, man and full desk centered, bookshelf behind him. He continues speaking. Framing does not change through this segment.
Even with that, Relay still blends by design. If you want pixel-stable cuts, separate generations will beat Relay every time.

let me know the outcome , if you were able to manage.
Good luck

Sign up or log in to comment