# inference.minimax.h3.base.img2vid.v1

Source: https://docs.prodia.com/job-types/inference-minimax-h3-base-img2vid-v1/

The `inference.minimax.h3.base.img2vid.v1` job animates a provided keyframe
into a video with synchronized stereo audio (24 fps, canvas following the
keyframe's aspect ratio) using the MiniMax H3 (Hailuo-03) model. The `base`
tier is the highest-quality option.

Upload the keyframe as a job input and reference its filename with
`first_frame`; an optional `last_frame` pins the closing frame too. Naming
is optional: with the fields absent, the first uploaded input is the first
frame and a second upload, when present, the last frame:

```json
{
    "type": "inference.minimax.h3.base.img2vid.v1",
    "config": {
        "prompt": "the scene comes to life, camera slowly pushing in",
        "first_frame": "input.jpg",
        "duration": 8
    }
}
```

`duration`, `resolution` and `seed` behave as in txt2vid (whole seconds
4–15, rounded up to the 17n+5 frame grid; outputs run 4.46–15.08 s; only
the default `768P` resolution is valid).

## Schema

```json
{
	"type": "object",
	"required": [
		"type",
		"config"
	],
	"additionalProperties": false,
	"properties": {
		"type": {
			"type": "string",
			"enum": [
				"inference.minimax.h3.base.img2vid.v0",
				"inference.minimax.h3.fast.img2vid.v0",
				"inference.minimax.h3.base.img2vid.v1",
				"inference.minimax.h3.fast.img2vid.v1"
			]
		},
		"config": {
			"type": "object",
			"required": [
				"prompt"
			],
			"additionalProperties": false,
			"properties": {
				"first_frame": {
					"type": "string",
					"format": "filename",
					"example": "first_frame.png",
					"description": "Set the starting frame for the video. Optional: defaults to the first uploaded input."
				},
				"last_frame": {
					"type": "string",
					"format": "filename",
					"example": "last_frame.png",
					"description": "Set the ending frame for the video. Optional: defaults to the second uploaded input, when present."
				},
				"prompt": {
					"type": "string",
					"minLength": 3,
					"maxLength": 7000,
					"default": "a dancing cat under moonlight",
					"description": "Description of the desired video and audio."
				},
				"duration": {
					"type": "integer",
					"minimum": 4,
					"maximum": 15,
					"default": 6,
					"description": "Duration of the video in seconds. Rounded up to the model's frame grid (4 s returns 4.46 s, 15 s returns 15.08 s)."
				},
				"aspect_ratio": {
					"type": "string",
					"enum": [
						"adaptive"
					],
					"default": "adaptive",
					"description": "The aspect ratio always derives from the input image, so only \"adaptive\" is accepted."
				},
				"resolution": {
					"type": "string",
					"enum": [
						"768P"
					],
					"default": "768P",
					"description": "Only 768P is supported: the video is generated at a 768px short edge; exact width and height follow the aspect ratio of the input image."
				},
				"seed": {
					"type": "integer",
					"minimum": 0,
					"maximum": 2147483647,
					"description": "Seed for reproducible generation. Random when omitted."
				}
			}
		}
	}
}
```
