Nano Banana 2.1 is LIVE — Google's Latest | Try Now →

wavespeed-ai/minimax-h3-singularity/reference-to-video-lora

MiniMax H3 Singularity Open Weights Reference to Video with custom LoRA support generates coherent 480P / 540P / 768P videos from prompts and multimodal references, guided by up to 9 reference images, 3 reference videos, and 3 reference audios, with native stereo audio and flexible reference-based video generation. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Reference to Video
Input
Enable Safety Checker

Idle

$0.15per run·~66 / $10

Next:

ExamplesView all

Using the reference image as the visual basis, keep the woman’s appearance, hairstyle, outfit, sunglasses, handbag, the two dogs, the crosswalk, and the city street environment consistent. Ultra-realistic, cinematic street-style look, natural daytime lighting. The woman is calmly walking across the crosswalk while holding the leashes of two dogs. Suddenly, one of the dogs jerks forward hard without warning, pulling very strongly, and the other dog is also pulled forward with it. The woman instantly loses her balance and is pulled backward, with her upper body leaning noticeably back from the sudden force. Her arm holding the leashes is stretched forward, her handbag swings slightly with the motion, and her legs stumble as she tries to regain balance. Her expression changes from calm and composed to surprised and slightly flustered, but the motion should stay realistic and natural.

Related Models

README

MiniMax H3 Singularity Reference-to-Video LoRA

MiniMax H3 Singularity Reference-to-Video LoRA combines multimodal reference guidance with LoRA customization for more controlled video generation. Use reference images, videos, and audio to guide identity, appearance, motion, camera behavior, or sound, then apply up to three LoRA weights to further influence the generated result.

This open-weights endpoint runs on WaveSpeedAI infrastructure and supports 480p, 540p, 768p, and 1080p output, native stereo audio generation, multiple aspect ratios, and videos from 3 to 15 seconds.

Why Choose This?

  • Multimodal reference guidance
    Combine image, video, and audio references in the same generation workflow.

  • LoRA customization
    Load up to 3 LoRA weights per request, each with its own scale.

  • Up to 9 reference images
    Use multiple image references for characters, objects, environments, appearance, or visual style.

  • Up to 3 reference videos
    Guide motion, pacing, action, or camera behavior with video references.

  • Standalone audio references
    Add up to 3 reference audio tracks for voice, music, rhythm, ambience, or sound direction.

  • Native stereo audio
    Generate video and synchronized stereo audio together in a single workflow.

  • Reference-aware prompting
    Address inputs directly with tags such as <Picture 1>, <Video 1>, and <Audio 1>.

  • Four resolution tiers
    Generate at 480p, 540p, 768p, or 1080p.

Parameters

ParameterRequiredDescription
promptYesText instructions describing the desired video. Refer to supplied inputs using tags such as <Picture 1>, <Video 1>, and <Audio 1>.
reference_imagesNoUp to 9 reference image URLs.
reference_videosNoUp to 3 reference video URLs. They can be used at any supported output resolution, and their soundtracks are used automatically.
reference_audiosNoUp to 3 standalone reference audio URLs.
aspect_ratioNoOutput aspect ratio: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, or 9:21. Default: 16:9.
resolutionNoOutput resolution: 480p, 540p, 768p, or 1080p. Default: 480p.
durationNoOutput duration in seconds. Range: 3–15. Default: 5.
seedNoFixed seed for reproducible generation.
lorasNoUp to 3 LoRA weights. Each item uses {path, scale}, where path points to the LoRA file.

At least one of reference_images or reference_videos is required. reference_audios can provide additional audio guidance but cannot be used as the only reference input.

How to Use References

Address each reference directly in the prompt:

  • Images: <Picture 1>, <Picture 2>, ...
  • Videos: <Video 1>, <Video 2>, ...
  • Audio: <Audio 1>, <Audio 2>, ...

Assign a clear role to each reference instead of leaving the model to infer its purpose.

For example:

Use the character from <Picture 1>, the visual style from <Picture 2>, and follow the motion and camera pacing of <Video 1>. Use <Audio 1> as the voice reference.

Reference video soundtracks are used automatically.

Reference Rules

  • At least one reference image or reference video is required.
  • Reference audio cannot be used as the only reference type.
  • Up to 9 reference images are supported.
  • Up to 3 reference videos are supported.
  • Up to 3 standalone reference audio inputs are supported.
  • Reference video soundtracks are used automatically.
  • Total reference-video duration is capped at 15 seconds.
  • Longer reference-video inputs may be trimmed to fit the shared duration budget.

How to Use

  1. Add reference media — Provide image or video references, plus optional standalone audio references.
  2. Write the prompt — Use <Picture N>, <Video N>, and <Audio N> tags to assign each reference a clear role.
  3. Choose aspect ratio — Select the output composition that fits your target format.
  4. Choose resolution — Select 480p, 540p, 768p, or 1080p.
  5. Set duration — Choose an output length from 3 to 15 seconds.
  6. Add LoRAs optional — Supply up to 3 LoRA files with individual scale values.
  7. Set seed optional — Use a fixed seed when reproducibility is needed.
  8. Submit — Generate the final reference-guided video with audio.

Pricing

Pricing is based on generated output duration, total billed reference-video duration, selected resolution, and the number of reference images and standalone audio inputs.

Video Pricing

The generated output and reference-video duration use the same resolution-based rate.

ResolutionPer 5sPer Second
480p$0.30$0.06
540p$0.45$0.09
768p$0.60$0.12
1080p$1.20$0.24

Reference Pricing

Reference TypePrice
Reference image$0.02 each
Standalone reference audio$0.02 each
Reference videoSame per-second rate as the selected output resolution

Output duration and total reference-video duration are each capped at 15 seconds for pricing. Reference-video duration is rounded up to the next whole second.

Example Cost

ComponentCost
10s output video$0.60
2 reference images$0.04
5s reference video$0.30
Total$0.94

Best Use Cases

  • LoRA-guided character generation — Combine character references with LoRA weights for stronger subject control.
  • Style customization — Apply LoRAs alongside reference images to guide a specific visual direction.
  • Motion-guided generation — Use reference videos to influence movement, pacing, gestures, or camera behavior.
  • Multi-reference scenes — Combine characters, environments, motion, and audio references in one request.
  • Audio-guided workflows — Use standalone audio to guide voice, music, ambience, or rhythm.
  • Creative experimentation — Compare different LoRA combinations, scales, references, and prompts.

Pro Tips

  • Give every reference a specific role in the prompt.
  • Use exact tags such as <Picture 1>, <Video 1>, and <Audio 1>.
  • Use reference images for identity, appearance, objects, environments, or visual style.
  • Use reference videos when motion, gesture, pacing, or camera behavior matters.
  • Use reference audio when voice, rhythm, music, or ambience matters.
  • Keep LoRA combinations focused; several high-scale LoRAs may compete with each other.
  • Use 480p for lower-cost testing before moving to higher resolutions.
  • Set a fixed seed when comparing LoRA scale or reference changes.

Notes

  • prompt is required.
  • At least one reference image or reference video is required.
  • Up to 9 reference images are supported.
  • Up to 3 reference videos are supported.
  • Up to 3 standalone reference audio inputs are supported.
  • Up to 3 LoRA weights can be loaded per request.
  • Total reference-video duration is capped at 15 seconds.
  • Reference video soundtracks are used automatically.
  • duration supports 3–15 seconds.
  • resolution defaults to 480p.
  • aspect_ratio defaults to 16:9.

Related Models

Note:This website uses AI models provided by third parties. Documentation prices are for reference and may be outdated. The Generate button shows an estimate; the final task charge prevails.

Minimax H3 Singularity Reference To Video Lora API — Quick start

Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/wavespeed-ai/minimax-h3-singularity/reference-to-video-lora with your input as JSON. The endpoint returns a prediction id. Start polling the result endpoint around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. On completed, read output values from data.outputs. Examples for Minimax H3 Singularity Reference To Video Lora below.

HTTP example
set -euo pipefail

: "${WAVESPEED_API_KEY:?Set WAVESPEED_API_KEY}"

REQUEST_BODY=$(cat <<'JSON'
{
    "prompt": "A cinematic shot of a city at sunset, soft golden light",
    "aspect_ratio": "16:9",
    "resolution": "480p",
    "duration": 5
}
JSON
)

# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
  -X POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/minimax-h3-singularity/reference-to-video-lora" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $WAVESPEED_API_KEY" \
  -d "$REQUEST_BODY")

TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
  printf 'Submission response did not contain a prediction id
' >&2
  exit 1
fi
RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"

# 2. Poll until the prediction finishes.
while true; do
  RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
    -H "Authorization: Bearer $WAVESPEED_API_KEY")
  RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
  STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
  case "$STATUS" in
    completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
    failed|cancelled|timeout|deleted) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
    *) sleep 2 ;;
  esac
done
Node.js example
const submitUrl = "https://api.wavespeed.ai/api/v3/wavespeed-ai/minimax-h3-singularity/reference-to-video-lora";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');

async function requestJson(url, options = {}) {
  const response = await fetch(url, options);
  if (!response.ok) throw new Error(await response.text());
  return response.json();
}

// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
        "prompt": "A cinematic shot of a city at sunset, soft golden light",
        "aspect_ratio": "16:9",
        "resolution": "480p",
        "duration": 5
}),
});
const task = body.data ?? body;
if (!task.id) throw new Error("Submission response did not contain a prediction id");
const resultUrl = `https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;

// 2. Poll until the prediction finishes.
while (true) {
  const resultBody = await requestJson(resultUrl, {
    headers: { "Authorization": `Bearer ${apiKey}` },
  });
  const result = resultBody.data ?? resultBody;
  if (result.status === "completed") {
    console.log(result.outputs);
    break;
  }
  if (["failed", "cancelled", "timeout", "deleted"].includes(result.status)) throw new Error(JSON.stringify(result));
  await new Promise(resolve => setTimeout(resolve, 2000));
}
Python example
import json
import os
import time
from urllib.request import Request, urlopen

api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
    "prompt": "A cinematic shot of a city at sunset, soft golden light",
    "aspect_ratio": "16:9",
    "resolution": "480p",
    "duration": 5
}

def request_json(url, data=None):
    request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
    with urlopen(request) as response:
        return json.load(response)

# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/wavespeed-ai/minimax-h3-singularity/reference-to-video-lora", json.dumps(payload).encode())
task = body.get("data", body)
if not task.get("id"):
    raise RuntimeError("Submission response did not contain a prediction id")
result_url = f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"

# 2. Poll until the prediction finishes.
while True:
    result_body = request_json(result_url)
    result = result_body.get("data", result_body)
    status = result.get("status")
    if status == "completed":
        print(result.get("outputs", []))
        break
    if status in {"failed", "cancelled", "timeout", "deleted"}:
        raise RuntimeError(result)
    time.sleep(2)

Minimax H3 Singularity Reference To Video Lora API — Frequently asked questions

What is the Minimax H3 Singularity Reference To Video Lora API?

Minimax H3 Singularity Reference To Video Lora is a WaveSpeedAI model for reference-guided video generation, exposed as a REST API on WaveSpeedAI. MiniMax H3 Singularity Open Weights Reference to Video with custom LoRA support generates coherent 480P / 540P / 768P videos from prompts and multimodal references, guided by up to 9 reference images, 3 reference videos, and 3 reference audios, with native stereo audio and flexible reference-based video generation. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing. You can call it programmatically or try it from the playground above.

How do I call the Minimax H3 Singularity Reference To Video Lora API?

POST your input parameters to the model's REST endpoint (shown in the API tab of this playground) with your WaveSpeedAI API key in the Authorization header. Submission returns a prediction ID. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. The playground generates Python, JavaScript, and cURL examples for submitting requests and polling results. Full request/response shape is documented at https://wavespeed.ai/docs/docs-api/wavespeed-ai/minimax-h3-singularity-reference-to-video-lora.

How much does Minimax H3 Singularity Reference To Video Lora cost per run?

Minimax H3 Singularity Reference To Video Lora starts at $0.15 per run. That figure is the base price — the final charge scales with the parameters you set in the form (output size, length, count, references, or whatever knobs this model exposes), so a higher-quality or larger output costs more than a minimal one. The exact cost for your current input is shown live next to the Generate button before you submit, and the actual per-call charge is recorded on the prediction afterwards.

What inputs does Minimax H3 Singularity Reference To Video Lora accept?

Key inputs: `prompt`, `aspect_ratio`, `resolution`, `duration`, `seed`, `reference_images`. The full JSON schema (types, defaults, allowed values) is rendered above the Generate button and mirrored in the API reference at https://wavespeed.ai/docs/docs-api/wavespeed-ai/minimax-h3-singularity-reference-to-video-lora.

How do I get started with the Minimax H3 Singularity Reference To Video Lora API?

Sign up for a free WaveSpeedAI account to claim starter credits, copy your API key from /accesskey, then call the endpoint shown in the API tab of the playground. The playground also auto-generates a code sample in Python, JavaScript, or cURL for the parameters you've set.

Can I use Minimax H3 Singularity Reference To Video Lora outputs commercially?

Commercial usage rights depend on the model's license, set by its provider (WaveSpeedAI). Check the provider's applicable terms and WaveSpeedAI's Terms of Service before commercial use.

llms.txt — wavespeed-ai/minimax-h3-singularity/reference-to-video-lora for AI agents and LLMs