# MiniMax H3 横竖版视频交付：裁切、构图与验收

横版视频在播放器里表现正常，放到竖版位置却可能失败：产品移动出裁切框、字幕被控件遮挡，或导出时拉伸了主体。本文围绕 `minimax-h3`，解决同一创意 brief 的多版式交付问题，与[镜头连续性](/zh/docs/media/minimax-h3-shot-continuity)教程互补，不承诺多次生成得到像素级一致的主体。

## 先选裁切，还是单独生成构图

| 方案 | 适用条件 | 主要验收风险 |
| --- | --- | --- |
| 一份母版、多种裁切 | 主体在整个动作过程中都留在各个裁切区域 | 运动或道具离开竖版区域 |
| 按比例分别生成 | 不同版位需要不同构图 | 身份、动作和节奏发生变化 |
| 留边或设计外框 | 完整保留画面比铺满屏幕更重要 | 主体变小、出现留白 |

选择母版裁切前，检查完整运动路径；首帧居中并不足够。分别生成时复用相同授权参考图与动作 brief，再独立复核身份和节奏。增加参考图数量不保证一致性。

## 再付费生成之前，先算裁切范围

1920 × 1080 的源视频做居中 9:16 裁切，保留高度时宽度为 `1080 × 9 / 16 = 607.5` 像素，只留下约 31.6% 的原始宽度。导出时需要按编码器要求取整，不能直接把小数当导出规格。这里是几何计算，不是在描述 H3 的实际输出尺寸。

下面的离线函数计算目标比例下的最大居中裁切，并返回原图坐标。编辑时仍需处理编码器兼容的取整并检查实际视频。

```python
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)
```

把裁切框覆盖在开头、中间、结尾和每个关键动作位置，同时检查手部、道具和阴影。如果必要内容放不下，应调整镜头设计或单独生成竖版构图，不要通过拉伸填满屏幕。

## 明确请求一个竖版构图

先确认实时 schema 和账号权限。下方是 `POST /v1/tasks` 请求示例，实际提交会产生用量。`768P` 是已核对供应契约的分辨率枚举，不保证最终文件的具体宽高。

```json
{
  "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"
  }
}
```

已核对的 MiniMax 供应 schema 支持 4–15 秒整数时长，以及 `21:9`、`16:9`、`4:3`、`1:1`、`3:4`、`9:16` 比例。其他供应路由可能不同，使用前检查当前公开 schema。制作横版时，修改构图要求并设置 `16:9`；这是另一条付费任务，不是免费缩放。不能假定 H3 Max Turbo 接受相同参数，请查[选型指南](/zh/docs/media/minimax-h3-selection)。

保存任务 ID 并轮询原任务，收到接受响应不代表成片完成。[任务教程](/zh/docs/media/video-nodejs)说明了完整结果处理流程。

## 验收最终版位，而不只看源文件

验收表记录版位、源任务 ID、实际时长、宽高、裁切坐标、导出版本和评审结论。完整观看最终导出文件，再在目标平台预览中检查开头、动作峰值和结尾。

确认主体全程留在安全区域，字幕可读，目标控件不遮挡关键内容，没有意外拉伸或音频截断。安全边距随版位而变，应以实际预览为准，不凭空指定通用像素值。字幕和 logo 若要求精确定位，应放在后期编辑层中。

两个版本都通过时，比较每个合格版位的生成与编辑总成本，计入失败尝试和人工返工。只通过一个版本时如实记录，不据此宣称某个模型整体获胜。有参考素材或对白时，结合[素材预检](/zh/docs/media/reference-asset-preflight)与[对白验收](/zh/docs/media/minimax-h3-dialogue-review)。

## 依据与限制

2026-11-07 核对仓库 `df986532` 的 `packages/server/src/providers/minimax/channel.ts`。相关入口：[H3 模型文档](/zh/docs/models/minimax-h3)、[模型页](/zh/model/minimax/minimax-h3)。本文没有进行付费视频生成；几何计算可离线复现，画面质量、生产路由可用性及各版位安全区域仍需独立验证。
