VACE Video Generation

Transform videos with AI-powered character animation and scene editing.

Overview

VACE is a video generation model that creates high-quality videos from text prompts and reference images. It supports character-consistent animation, video editing, and creative transformations while maintaining visual coherence across frames.

Key Features

  • Character Consistency: Use reference images to maintain character appearance throughout the video
  • Flexible Resolution: Support for multiple aspect ratios (720x1280, 1280x720, 480x832, 832x480)
  • Speed Modes: Choose between quality and generation speed
  • Frame Control: Generate videos up to 81 frames

Input Parameters

Required Parameters

prompt (string)

  • Description of the video content you want to generate
  • Be detailed and specific for best results

Example:

{
  "prompt": "The video shows a man riding a horse on a vast grassland. He has long lavender hair and wears a traditional dress of a white top and black pants."
}

Optional Parameters

src_video (string, URL)

  • Source video to edit or transform
  • Provide a publicly accessible URL

src_ref_images (array of strings, URLs)

  • Reference images for character consistency
  • Use 1-3 images for best results

size (string, default: "832*480")

  • Output video resolution
  • Options: "720*1280", "1280*720", "480*832", "832*480"

frame_num (integer, default: 81)

  • Number of frames to generate
  • More frames = longer video

speed_mode (string, default: "Lightly Juiced 🍊 (more consistent)")

  • Balance between speed and quality
  • Options:
    • "Lightly Juiced 🍊 (more consistent)" - Best quality
    • "Juiced 🔥 (more speed)" - Balanced
    • "Extra Juiced 🚀 (even more speed)" - Fastest

sample_steps (integer, default: 50)

  • Number of sampling steps
  • Higher values = better quality, slower generation

sample_solver (string, default: "unipc")

  • Sampling algorithm
  • Options: "unipc", "dpm++"

sample_guide_scale (number, default: 5)

  • How closely to follow the prompt
  • Higher values = stricter adherence to prompt

sample_shift (integer, default: 16)

  • Sample shift parameter for fine-tuning

seed (integer, default: -1)

  • Random seed for reproducibility
  • Use -1 for random seed

Example Request

curl -X POST https://api.sharedservices.pruna.ai/v1/predictions \
  -H "apikey: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": {
      "prompt": "A person walking through a magical forest with glowing trees",
      "size": "1280*720",
      "frame_num": 81,
      "speed_mode": "Juiced 🔥 (more speed)",
      "sample_steps": 50,
      "seed": 42
    }
  }'

Example Response

{
  "id": "1zww7deyssrme0csqwr90phzzr",
  "input": {
    "prompt": "A person walking through a magical forest with glowing trees",
    "size": "1280*720",
    "frame_num": 81,
    "speed_mode": "Juiced 🔥 (more speed)",
    "sample_steps": 50,
    "seed": 42
  },
  "get_url": "https://api.sharedservices.pruna.ai/v1/predictions/status/1zww7deyssrme0csqwr90phzzr"
}

Best Practices

Prompts

  • Be specific and descriptive
  • Include details about characters, actions, setting, and camera angles
  • Mention art style if desired (e.g., "animation style", "cinematic")

Reference Images

  • Use clear, high-quality images
  • Ensure consistent lighting and angle across reference images
  • 1-3 reference images work best

Speed Mode

  • Use "Lightly Juiced" for final production
  • Use "Extra Juiced" for quick iterations and testing
  • Balance speed vs. quality based on your needs

Ready to start generating videos?