I discovered a lot of problems to even launch it.
First:
FlowMapEulerDiscreteScheduler should be changed to FlowMatchEulerDiscreteScheduler (solution by chatGPT 5.4 mini)
but even this won't help to launch it. So i used online access full GLM 4.7 model (not advertisement because in free chatGPT session is limited, ive tried there also) to polish all other problems and it did + made me a script for running it locally in Gradio.
Second:
the serious problem with FAR_Wan_Transformer3DModel which model cant find, so it directly addressed it here
also it's already made for system RAM CPU offloading to test 14B model right away and fixed height problem bug
the script of gradio_app.py
import torch
import diffusers
from diffusers.utils import export_to_video
from far.models.transformer_far_wan_model import FAR_Wan_Transformer3DModel
from far.pipelines.pipeline_far_wan_anyflow import FARWanAnyFlowPipeline
import gradio as gr
import os
import time
# Register custom class
diffusers.AnyFlowFARTransformer3DModel = FAR_Wan_Transformer3DModel
# Load pipeline to CPU first
model_path = "/home/user/AnyFlow/experiments/pretrained_models/AnyFlow-FAR-Wan2.1-1.3B-Diffusers"
print("Loading model to RAM...")
pipeline = FARWanAnyFlowPipeline.from_pretrained(
model_path,
local_files_only=True,
torch_dtype=torch.bfloat16,
)
# Enable VAE memory saving
pipeline.vae.enable_slicing()
pipeline.vae.enable_tiling()
# Use SEQUENTIAL offload - more aggressive, uses more RAM but less VRAM
pipeline.enable_sequential_cpu_offload(device="cuda")
print("Model loaded with sequential CPU offloading!")
def generate_video(
prompt,
negative_prompt,
num_inference_steps,
num_frames,
width,
height,
seed,
fps,
):
start = time.time()
generator = torch.Generator('cuda').manual_seed(seed) if seed >= 0 else torch.Generator('cuda')
result = pipeline(
prompt=prompt,
negative_prompt=negative_prompt if negative_prompt else None,
height=int(height),
width=int(width),
num_frames=int(num_frames),
num_inference_steps=int(num_inference_steps),
generator=generator,
)
output_path = "output.mp4"
export_to_video(result.frames[0], output_path, fps=int(fps))
elapsed = time.time() - start
return output_path, f"Done in {elapsed:.1f} seconds"
# Build UI with smaller defaults
with gr.Blocks(title="AnyFlow Video Generator") as app:
gr.Markdown("# 🎬 AnyFlow Video Generator")
with gr.Row():
with gr.Column():
prompt = gr.Textbox(
label="Prompt",
value="CG game concept digital art, a majestic elephant with a vibrant tusk and sleek fur running swiftly towards a herd of its kind.",
lines=3,
)
negative_prompt = gr.Textbox(
label="Negative Prompt (optional)",
value="",
lines=2,
)
with gr.Row():
steps = gr.Slider(1, 50, value=4, step=1, label="Inference Steps")
seed = gr.Number(value=0, label="Seed (-1 for random)")
with gr.Row():
frames = gr.Slider(17, 81, value=33, step=2, label="Frames (odd numbers)")
fps = gr.Slider(8, 30, value=16, step=1, label="FPS")
with gr.Row():
width = gr.Dropdown([416, 640, 832], value=416, label="Width")
height = gr.Dropdown([256, 320, 480], value=256, label="Height")
generate_btn = gr.Button("🎬 Generate Video", variant="primary")
with gr.Column():
video_out = gr.Video(label="Output")
status = gr.Textbox(label="Status", interactive=False)
generate_btn.click(
fn=generate_video,
inputs=[prompt, negative_prompt, steps, frames, width, height, seed, fps],
outputs=[video_out, status],
)
app.launch(server_name="0.0.0.0", server_port=7860)
Review: Overall i've tested and not really impressed. Image to Video not tested because text to video even in 14B not impressed me. Something need to be done here additionally to improve quality.
I discovered a lot of problems to even launch it.
First:
FlowMapEulerDiscreteScheduler should be changed to FlowMatchEulerDiscreteScheduler (solution by chatGPT 5.4 mini)
but even this won't help to launch it. So i used online access full GLM 4.7 model (not advertisement because in free chatGPT session is limited, ive tried there also) to polish all other problems and it did + made me a script for running it locally in Gradio.
Second:
the serious problem with FAR_Wan_Transformer3DModel which model cant find, so it directly addressed it here
also it's already made for system RAM CPU offloading to test 14B model right away and fixed height problem bug
the script of gradio_app.py
Review: Overall i've tested and not really impressed. Image to Video not tested because text to video even in 14B not impressed me. Something need to be done here additionally to improve quality.