Video priors. Unified image generation.

FrameForge:Harnessing Priors of Video Foundation Models
for Unified Image Generation

1 University of Science and Technology of China   2 FrameX.AI

* Corresponding author

Video-frame and condition-to-target LPIPS distributions. Dashed lines mark the median distance for each task. Click to enlarge ↗

Core idea

Image generation through adaptive virtual temporal relations.

Video models learn visual transformations across time. Conditional image-generation tasks also require different degrees of change between the condition and the target.

FrameForge models these changes as input-adaptive virtual temporal relations, using video priors to accommodate differences across tasks and individual inputs.

Multi tasks. One shared model.

Original results from the paper · 512 × 512

Building on this idea, one FrameForge model with a shared LoRA supports all three tasks below.

Subject-driven generation
ReferenceReference corgi with a distinctive white chest
FrameForgeThe same corgi sitting on top of pink fabric

“A dog on top of pink fabric”

Canny-to-image generation
Edge mapCanny edge map defining a cat sitting on a chair
FrameForgeGenerated tabby cat preserving the pose and chair geometry

Follow the structure of an edge map.

Instruction-guided editing
Source imageAn awake orange cat resting on a gray sofa
FrameForgeThe orange cat changed into a sleeping pose on the same sofa

“Change the action of cat to sleeping”

Overview

Abstract

Unified conditional image generation requires a single model to preserve different aspects of a visual input while producing a target image that follows textual guidance. Pretrained video models provide a promising foundation by encoding visual transformations across time, yet existing approaches typically assign the condition and target to fixed temporal positions. We observe that condition-target relationships vary substantially across generation tasks, while video models naturally encode visual transformations at different temporal scales. This motivates us to model conditional generation through input-adaptive virtual temporal relations.

We propose FrameForge, which captures two complementary aspects of such relations. Mixture of Temporal Experts (MoTE) models how far the target lies from the condition by dynamically selecting temporal RoPE experts with different virtual intervals. Chain of Temporal Reasoning (CoTR) models how the condition is transformed into the target through a latent intermediate state, with a reasoning-bottleneck attention mask encouraging information propagation through this pathway. Experiments on DreamBench, COCO2017, and GEdit-Bench show that FrameForge achieves superior performance in subject-driven generation, Canny-to-image generation, and image editing among the compared methods.

The approach

Learn how far, and how, an image should change.

Treat the condition and target as frames in a virtual video.
Adapt their temporal relation to the input and the denoising step.

01 / MoTE

Choose the temporal relation.

A lightweight router selects one of three temporal RoPE experts. Short, medium, and long virtual intervals provide different transformation priors, using equivalent video-frame spans of 17, 69, and 121.

02 / CoTR

Build an intermediate pathway.

One noise-initialized reasoning latent connects the condition to the target. A reasoning-bottleneck attention mask encourages this pathway during intermediate training; inference uses full attention.

FrameForge combines input-adaptive temporal routing and a latent reasoning pathway in a frozen video backbone. Click to enlarge ↗

Experiments

One model, across three benchmarks.

Qualitative comparisons and quantitative results reported in the manuscript.

DreamBench

Preserve the subject. Reimagine the scene.

30 subjects × 25 prompts, with one reference image per subject.
VIEScore evaluates semantic consistency, perceptual quality, and overall score.

0.739Overall score ↑Best among compared methods
Preserving instance-level attributes while following text-specified scenes and spatial relations. Click to enlarge ↗
Subject-driven generation on DreamBench
MethodBase modelSC ↑PQ ↑Overall ↑
BLIPDiffusionSD 1.50.5740.6960.613
SSR-EncoderSD 1.50.5240.7740.608
IP-AdapterSDXL0.5160.8240.629
ACE++FLUX.1-dev0.6600.7790.688
EasyControlFLUX.1-dev0.5960.8390.679
OmniGenNative0.6110.7620.652
OminiControlFLUX.1-dev0.6800.8160.719
EchoGenInfinity-2B0.7290.7440.719
RealGeneralCogVideoX-1.50.6330.7670.669
DRA-CtrlHunyuanVideo-I2V0.6090.8000.656
ChronoEditWan2.1-I2V-14B0.7570.7640.729
FrameForge OursHunyuanVideo1.50.7390.7830.739

↑ Higher is better. Bold marks the best score in each column.

COCO2017 · 5,000 validation images

Keep the geometry. Generate the appearance.

Edge maps guide the pose, layout, and major contours.
FID, SSIM, and CLIP-T measure complementary aspects of image generation.

0.447SSIM ↑7.2% relative gain over EasyControl
Following the input structure while producing coherent image content. Click to enlarge ↗
Canny-to-image generation on COCO2017
MethodBase modelFID ↓SSIM ↑CLIP-T ↑
ControlNetSD 1.520.420.2990.323
OmniGenNative22.510.3520.329
EasyControlFLUX.1-dev22.820.4170.319
RealGeneralCogVideoX-1.524.630.4140.324
DRA-CtrlHunyuanVideo-I2V23.270.4080.314
FrameForge OursHunyuanVideo1.523.470.4470.323

↓ Lower is better; ↑ higher is better. FrameForge has the highest SSIM; ControlNet has the lowest FID.

GEdit-Bench · English subset

Follow the edit. Preserve the rest.

606 samples across 11 editing categories, evaluated with GPT-4.1.
Especially effective on motion and spatial transformations.

6.12Overall G-O ↑Best among compared open-source methods
Object addition, motion change, and style transfer with content preservation. Click to enlarge ↗
Instruction-guided image editing on GEdit-Bench
MethodAccessMotion changeOverall GEdit
G-SC ↑G-PQ ↑G-O ↑G-SC ↑G-PQ ↑G-O ↑
Gemini 2.5Closed6.877.796.728.258.297.89
GPT-4oClosed7.818.537.818.747.678.01
Seedream 4.0Closed5.588.535.538.418.047.81
ACE++Open1.806.852.292.276.442.60
EditAROpen2.656.052.914.265.703.89
ICEditOpen0.937.981.134.947.394.87
OmniGenOpen3.356.683.125.885.875.01
UniWorld-V1Open1.587.551.764.937.434.85
HiDream-I1 (E1)Open1.587.231.665.666.065.01
ChronoEditOpen5.907.335.765.356.885.08
FrameForge OursOpen6.907.186.846.566.526.12

↑ Higher is better. Bold marks the best score among compared open-source methods. Closed-source systems are reference results.

Inside the model

The temporal relation evolves as the image emerges.

Expert selection responds to both the task and the denoising stage.

Average expert usage over 500 cases per task. Gate 0 / 1 / 2 correspond to short / medium / long intervals.

Canny-to-image generation predominantly selects the long-interval expert. Subject-driven generation and editing initially favor the medium interval, then shift toward the short interval as target content emerges. Editing makes this transition earlier and more strongly.

Get started

Generate your own images.

The inference release uses three temporal experts, one reasoning latent,
and a shared LoRA with rank and alpha 32.

Python 3.10CUDA GPU512 × 512 images50 denoising steps
Install the code and download checkpoints

The FLUX.1-Redux-dev repository requires access approval on Hugging Face. Install a PyTorch build compatible with your CUDA environment, then run:

git clone https://github.com/Lyne1/FrameForge.git
cd FrameForge
python -m pip install -r requirements.txt

python -m pip install modelscope

hf download tencent/HunyuanVideo-1.5 --local-dir ./ckpts
hf download Qwen/Qwen2.5-VL-7B-Instruct --local-dir ./ckpts/text_encoder/llm
hf download google/byt5-small --local-dir ./ckpts/text_encoder/byt5-small
modelscope download --model AI-ModelScope/Glyph-SDXL-v2 --local_dir ./ckpts/text_encoder/Glyph-SDXL-v2
hf download black-forest-labs/FLUX.1-Redux-dev --local-dir ./ckpts/vision_encoder/siglip
hf download lyneeeeeeeee/FrameForge pytorch_lora_weights.safetensors --local-dir ./checkpoints

Run from the repository root. Replace the input path and prompt. Prepare reference and condition images at 512 × 512; the generated output is also 512 × 512.

bash · Guidance scale 6.0 (default)
CUDA_VISIBLE_DEVICES=0 MODEL_PATH=./ckpts bash scripts/infer.sh \
  --lora_path ./checkpoints/pytorch_lora_weights.safetensors \
  --input_image ./inputs/subject.png \
  --reference_size 512 \
  --prompt "A photo of the same dog playing on a beach" \
  --output_path ./outputs/subject.png \
  --num_inference_steps 50

The launcher selects the 720p video backbone; image-generation output remains 512 × 512.

Reference

Citation

If you use FrameForge in your research, please cite the arXiv paper below.

@misc{lin2026frameforge,
  title  = {FrameForge: Harnessing Priors of Video Foundation Models
            for Unified Image Generation},
  author = {Yijing Lin and Zhendong Mao and Mengqi Huang
            and Yuxin Wang and Yongdong Zhang},
  year   = {2026},
  eprint = {2610.36545},
  archivePrefix = {arXiv},
  primaryClass = {cs.CV},
  url    = {https://arxiv.org/abs/2610.36545}
}