• Stefy Lanza (nextime / spora )'s avatar
    video: make character_profiles actually lock identity on every video model · 279096b6
    Stefy Lanza (nextime / spora ) authored
    Loading the IP-Adapter (958d2e09) fixed the mechanism, but only AnimateDiff-class
    pipelines have one. On Wan / CogVideoX / LTX / SVD — the models people actually
    use — character_profiles still did nothing except prepend the profile name to the
    prompt, so identity was not working where it mattered.
    
    The image endpoint does have real IP-Adapter. So when a video model can't
    condition on references itself, render the first frame there against the same
    profiles and run the video as ti2v from that keyframe. This is the recipe
    tools/videogen.py already drives by hand, now done server-side.
    
    It runs BEFORE the video pipeline is loaded, so an image model and a video model
    are never resident at once, and it dispatches through the front (execute_api_request)
    so the image model may live on a different engine.
    
    New request fields: keyframe_identity (auto | always | never), keyframe_model,
    keyframe_steps. 'auto' skips the bridge when the model has native IP-Adapter or a
    first frame was already supplied.
    
    If the keyframe can't be rendered the request still proceeds — identity degrades
    to the prompt hint plus any per-character LoRA and the reason is reported in the
    response warnings — unless the caller asked for 'always', which is an explicit
    requirement and so returns 502 rather than silently producing a stranger.
    
    Verified offline across every branch: bridge fires for Wan and rewrites to ti2v
    with the keyframe; skipped for AnimateDiff; forced by 'always'; disabled by
    'never'; no-op with no profiles or an existing first frame; degrades with a
    warning on image-endpoint failure and raises 502 under 'always'.
    Co-Authored-By: 's avatarClaude Opus 5 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01R6iugoNeEgt9PkajKrFyq4
    279096b6
Name
Last commit
Last update
..
audiogenrequest.py Loading commit data...
embedrequest.py Loading commit data...
imagerequest.py Loading commit data...
textrequest.py Loading commit data...
transcriptionrequest.py Loading commit data...
videorequest.py Loading commit data...