Skip to content
NewRouters/Documentation
GET STARTED

MiniMax H3: deliver landscape and portrait video without losing the subject

Plan 16:9 and 9:16 MiniMax H3 outputs, compare cropping with separate generation, and inspect motion, safe areas and final exports.

A landscape clip that looks good in a player can fail as a portrait placement: a moving product leaves the crop, subtitles overlap controls, or the final export stretches the subject. This workflow focuses on delivering the same creative brief in multiple layouts with minimax-h3. It complements shot continuity; it does not promise pixel-identical subjects across separate generations.

Choose between cropping and generating a second composition

Section titled “Choose between cropping and generating a second composition”
ApproachUseful whenMain acceptance risk
One master, multiple cropsSubject stays inside every planned crop throughout the shotMotion or props leave the portrait crop
Separate aspect-ratio generationsEach placement needs a different compositionIdentity, action and timing vary between tasks
Letterbox or designed layoutPreserving the entire frame matters more than filling the screenSmaller subject and unused space

Review the complete motion path before choosing the first approach. A centered first frame is not enough. For separate generations, reuse the same authorized references and action brief, then review identity and timing independently. More references do not guarantee consistency.

Calculate the crop before buying another generation

Section titled “Calculate the crop before buying another generation”

For a centered crop from a 1920 × 1080 source into 9:16, keeping height gives a crop width of 1080 × 9 / 16 = 607.5 pixels. That retains about 31.6% of the source width. Round the crop to valid dimensions for your encoder; do not treat the fractional number as an export specification. This is geometry, not a claim about H3 output dimensions.

Use this offline helper to inspect other combinations. It calculates the largest centered crop with the target ratio and reports fractional source coordinates; the editor must apply codec-compatible rounding and inspect the actual clip.

def center_crop(width, height, target_width, target_height):
if min(width, height, target_width, target_height) <= 0:
raise ValueError("dimensions must be positive")
ratio = target_width / target_height
crop_width = min(width, height * ratio)
crop_height = crop_width / ratio
return ((width - crop_width) / 2, (height - crop_height) / 2,
crop_width, crop_height)
assert center_crop(1920, 1080, 16, 9) == (0.0, 0.0, 1920, 1080.0)
assert center_crop(1920, 1080, 9, 16) == (656.25, 0.0, 607.5, 1080.0)

Place this crop over the beginning, middle, end and every action peak. Check hands, props and shadows as well as the central subject. If the required content cannot fit, redesign the shot or generate a separately composed portrait version rather than stretching the image.

Request an explicitly composed portrait clip

Section titled “Request an explicitly composed portrait clip”

Confirm the live model schema and account access first. This illustrative body targets POST /v1/tasks; submitting it incurs usage. 768P is a resolution value in the checked provider contract, not a promise of exact final width and height.

{
"model": "minimax-h3",
"input": {
"prompt": "Vertical product shot of a plain blue ceramic mug on a table. The complete mug remains in the middle of the frame while the camera makes a very small forward move. Leave clear space above and below for later layout. No text, no hands and no additional objects.",
"seconds": 5,
"resolution": "768P",
"aspect_ratio": "9:16"
}
}

The checked MiniMax provider schema allows integer durations from 4 to 15 seconds and ratios 21:9, 16:9, 4:3, 1:1, 3:4, 9:16. Other supply routes can differ; check the active public schema before relying on a value. For a landscape counterpart, revise the composition brief and set 16:9. That produces a separate billable task, not a free resize. Do not assume the same request is valid for H3 Max Turbo; use its selection guide.

Save the task ID, poll the original task, and inspect the returned asset rather than treating acceptance as completion. Use the task tutorial for response handling.

Inspect the final placement, not just the source file

Section titled “Inspect the final placement, not just the source file”

Create an acceptance sheet with placement, source task ID, actual duration, dimensions, crop coordinates, export version and reviewer decision. Watch the exported file from start to finish, then inspect the opening, action peaks and ending in the destination preview.

Check that the subject never leaves the safe area, captions remain legible, destination controls do not cover essential content, and the export has no unintended stretching or clipped audio. Safe-area margins depend on the destination; use its actual preview instead of inventing one universal pixel margin. Keep subtitles and logos in the editing layer when they require exact positioning.

If two variants both pass, compare total generation and editing cost per approved placement. Include rejected attempts and manual rework. If only one passes, report that limited result instead of declaring a model winner. Reuse the reference preflight and dialogue review when relevant.

Contract checked 2026-11-07 at repository df986532, packages/server/src/providers/minimax/channel.ts. See the H3 model reference and model page. No paid clips were generated for this guide. Geometry checks are reproducible locally; output quality, production route availability and destination-specific safe areas require separate verification.