LLMSkillHub
mirroredCopied from guaardvark/guaardvark under MIT. guaardvark has not claimed this page, and is not affiliated with LLM SkillHub.

guaardvark / video

Generate video clips on the user's own GPU through Guaardvark: text-to-video, image-to-video, first+last frame animation, clips with their own soundtrack and dialogue (MiniMax H3), short looping animations, and batch runs. Use when the user asks to make, render, animate, or batch-generate video locally.

0
SKILL.md
4.7 KB

Video with Guaardvark

Read setup first if the backend or the comfyui plugin state is unknown.
Video needs a 16 GB-class NVIDIA card. Clips take minutes, so every route is queued.

Pick the model

GET ${GUAARDVARK_URL:-http://localhost:5000}/api/batch-video/models lists the registry with
is_downloaded / is_ready (and missing_files), capabilities (modes t2v/i2v, max_frames, native_fps,
aspect_ratios, min_steps, speed_profiles, audio_out), vram_mb, size_gb, license. Installed on a typical box:

idwhat it isnotes
wan22-5bWan 2.2 TI2V-5B, t2v + i2v, 24 fps, up to 121 framesthe everyday default
wan22-14b / wan22-14b-i2vWan 2.2 14B MoE, 16 fps, 81 framesbest quality; speed_profile: lightx2v-4 for 4-step Lightning
ltx23-distilled-fp8LTX-2.3 distilled, 8 steps, 161 framesfastest long clips
minimax-h3-int8MiniMax H3, text / first / last / first+last frame, generates its own stereo soundtrack and spoken linespass audio: true; ~6.5 min for 5 s on a 16 GB card
cogvideox-5b / -i2vCogVideoX, 8 fps, 49 frameslegacy

The active default is GET /api/settings/active_video_model (resolved.t2v, resolved.i2v, resolved.scene).
Never pass a step count below the model's min_steps; the server raises it and the result would be smeared anyway.

One clip: MCP generate_video

  • prompt: scene, subject, motion, style, and any spoken lines (H3 speaks them).
  • model, duration_s (clamped to the model), aspect_ratio (one the model declares),
    style (cinematic, realistic, anime, 3danimation, ...), `numinferencesteps,speedprofile`.

  • audio: true forces a soundtrack-capable model (H3) and fails on a silent family.
  • first_image / last_image: document id or path; last frame needs a first+last mode model.
  • reference_images (up to 9), reference_clips (up to 3, 2-15 s, their own sound left out) and
    reference_audio (up to 3): lock a person, look, motion or voice on the reference build
    (minimax-h3-ref2va-int8, picked when no model is named). The prompt names them
    <Picture N>, <Video N>, <Audio N>; to keep a clip's sound, pass its track as
    reference_audio. In the Studio this is the References input on Video Gen.

  • wait_for_result default false: the tool returns a batch id and a Studio deep link at once.
    Give the user the link; poll get_generation_status(batch_id=...) (MCP) or
    GET /api/batch-video/status/<batch_id> if they ask you to wait. wait_for_result: true
    blocks for the clip, up to 30 minutes.

Looping animation: MCP generate_animation

Frame-morph GIF/MP4 via img2img: prompt, motion, frames 2-24, strength 0.1-0.5, format gif|mp4|both.
Use for short loops and stickers, not for cinema clips. Over MCP it answers at once with a job id
(tooljob_...); poll get_generation_status for the GIF and MP4 URLs, or pass
wait_for_result: true to wait up to 60 s for them.

Batch: REST

B=${GUAARDVARK_URL:-http://localhost:5000}
# text to video, one clip per prompt
curl -s -X POST $B/api/batch-video/generate/text -H 'Content-Type: application/json' -d '{
  "prompts": ["a red kite over a grey sea", "the same kite at dusk"],
  "model": "wan22-5b", "prompt_style": "cinematic", "enhance_prompt": true, "seed": 42
}'
# image to video
curl -s -X POST $B/api/batch-video/generate/image -H 'Content-Type: application/json' -d '{
  "image_paths": ["/abs/path/frame.png"], "prompt": "slow push in, wind in the grass", "model": "wan22-5b"
}'

Optional keys the server honours: negative_prompt, guidance_scale, motion_strength,
interpolation_multiplier (RIFE frame interpolation), combine_frames, lora_name +
lora_strength, adapters, guides (per-prompt audio/image anchors on models that declare them),
last_frame_paths (image route), storyboard_concept / storyboard_shots.
Poll GET $B/api/batch-video/status/<batch_id>; files via
GET $B/api/batch-video/video/<batch_id>/<video_name>; cancel POST $B/api/batch-video/batch/<batch_id>/cancel;
retry POST $B/api/batch-video/retry/<batch_id>.

Rules

  • Quote the model and the queued batch id back to the user. Never claim a clip is done until the
    status route says so.

  • The GPU is exclusive: while video renders, chat models are evicted. Warn before queuing a long batch.
  • The Studio page (Video Gen) shows the same queue; the user may prefer to watch it there.