Generate high-definition 2K videos through Frevana's OpenRouter video endpoint using minimax/hailuo-3.
Model Characteristics
- Model ID:
minimax/hailuo-3 - Resolution:
2K(fixed) - Aspect Ratios:
16:9(default),9:16,1:1,4:3,3:4,21:9 - Durations:
5to15seconds (default:6) - Frame Control: Supports both
first_frameandlast_frame(image-to-video) - Input References: Reference images (
image_url) - Audio: Native synchronized audio generation supported (enabled by default)
- Seed: Deterministic seed is not supported by this model
Prerequisites & Authentication
FREVANA_TOKEN(or--token) orFREVANA_API_KEY(or--api-key) in the environment- Optional
FREVANA_AGENT_APP_INSTANCE_ID(or--agent-app-instance-id) sent asx-frevana-agent-app-instance-id curl,bash, andpython3
Invocation
# Text-to-video: submit and wait for video completion
bash skills/minimax-h3/scripts/generate_video.sh \
--prompt "A cinematic drone shot flying over misty autumn mountains at sunrise, photorealistic, 2K" \
--duration 6 \
--aspect-ratio 16:9 \
--download-dir ./output
# Image-to-video with first frame
bash skills/minimax-h3/scripts/generate_video.sh \
--prompt "The camera slowly pans out as waves lap against the shore" \
--first-frame ./beach.jpg \
--duration 6 \
--download-dir ./output
# Check status of an existing job
bash skills/minimax-h3/scripts/generate_video.sh status --job-id <JOB_ID>
# Wait for an existing job to complete
bash skills/minimax-h3/scripts/generate_video.sh wait --job-id <JOB_ID> --download-dir ./output
Allowed Options
-p, --prompt TEXT: Text description of the video (required for create)--prompt-file PATH: Path to file containing prompt--model MODEL: Model slug (default:minimax/hailuo-3)--duration SEC: Duration in seconds (5-15, default:6)--aspect-ratio RATIO:16:9,9:16,1:1,4:3,3:4,21:9(default:16:9)--resolution RES:2K(default:2K)--size WIDTHxHEIGHT: Exact output dimensions; overrides--resolutionand--aspect-ratio--first-frame, --image PATH/URL: Image path or URL for first frame--last-frame PATH/URL: Image path or URL for last frame--reference-image PATH/URL: Add a reference image; repeat for multiple images--reference-audio URL: Unsupported by this model--reference-video URL: Unsupported by this model--audio: Generate audio (default: true)--no-audio: Disable audio generation--watermark: Enable AIGC watermark--no-watermark: Disable AIGC watermark--wait: Wait for job completion and download/output (default in CLI)--no-wait: Submit job and return immediately with Job ID--poll-interval SEC: Seconds between status checks (default:10)--max-wait SEC: Maximum seconds to wait before timeout (default:600)--download-dir DIR: Directory to download completed MP4 video-o, --output FILE: Path to save output JSON or MP4 file-t, --text-only: Output only the video URL or downloaded file path--dry-run: Print request payload JSON and exit without network calls--token TOKEN: Frevana Bearer token override--api-key KEY: Frevana API key override--agent-app-instance-id ID: Agent App instance ID override
Guardrails
- For semantic requests such as "720p landscape" or "vertical 2K", use
--resolutionwith--aspect-ratio. - Use
--sizeonly when the user explicitly requires exactWIDTHxHEIGHTpixels; it overrides and replaces both semantic dimension fields in the request payload. - Validate that
--durationis an integer between 5 and 15 seconds. - Validate that
--resolutionis2K. Unsupported resolutions will be rejected client-side before calling the API. - Do not pass
--seed; MiniMax H3 does not support seed parameters. - If
--first-frameor--last-framepoints to a local file, the script automatically encodes it as a base64 data URI. --sizeis format-checked locally but not matched against a static model allowlist; model/provider compatibility is validated by the API.- Frame images and input references may be sent together; OpenRouter gives
frameImagesprecedence and treats the request as image-to-video.