Text to Video

minimax-h3

Text-to-video, first/last-frame image-to-video, and multimodal reference video generation.

POST /v1/videos/generationsAsync generation

Quick start

Submit a request with this public model ID. The API immediately returns a normalized job; poll GET /v1/jobs/{jobId} while its status is queued or running.

curl -X POST "https://api.artany.ai/v1/videos/generations" \
  -H "Authorization: Bearer $ARTANY_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: unique-request-id" \
  -d '{"model":"minimax-h3","prompt":"A boy playing basketball by the sea at dusk, waves crashing, cinematic camera work","duration":5,"resolution":"2K","aspect_ratio":"16:9"}'

Request

Headers

HeaderRequiredDescription
AuthorizationYesBearer token for an Artany API key.
Content-TypeYesMust be application/json.
Idempotency-KeyRecommended8–128 characters. Reusing it with an identical request prevents duplicate jobs and charges.

Body

{
  "model": "minimax-h3",
  "prompt": "A boy playing basketball by the sea at dusk, waves crashing, cinematic camera work",
  "duration": 5,
  "resolution": "2K",
  "aspect_ratio": "16:9"
}

Request Parameters

Only fields in this model’s public request contract are shown. Defaults are applied before validation and quoting.

Note:Standard generation supports text-to-video, first/last-frame image-to-video, and multimodal reference-to-video. Prompt enhancement and regeneration operations are not part of this model contract.

modelstringrequireddefault: "minimax-h3"

Stable public model ID for this request.

promptstringrequired

Required video description. Include the scene, subject, motion, and visual style.

Length: 1–7000

  • Maximum length: 7,000 characters.
durationintegerdefault: 5

Target output duration in seconds.

Range: 4–15

Note:Supported range: 4–15 seconds.

resolutionstringdefault: "2K"

Video resolution tier.

Allowed: 2K, 768P

Field description

2K
Default resolution
768P
Lower-resolution tier
2K768P
aspect_ratiostringdefault: "16:9"

Output framing.

Allowed: 1:1, 3:4, 4:3, 9:16, 16:9, 21:9

Field description

21:9 / 16:9 / 4:3 / 1:1 / 3:4 / 9:16
Supported concrete ratios
1:13:44:39:1616:921:9
  • For first/last-frame video, the input image determines the effective ratio.
  • For text-to-video, omit this field only when 16:9 is acceptable.
first_frame_imagestring

Opening-frame image URL for image-to-video.

Format: uri

Note:Do not combine with image_urls, video_urls, or audio_urls.

last_frame_imagestring

Ending-frame image URL. Combine with first_frame_image for first-and-last-frame control.

Format: uri

Note:Do not combine with image_urls, video_urls, or audio_urls.

image_urlsarray<string>

Reference image URLs for multimodal reference-to-video.

Items: 0–9

  • Up to 9 reference images are supported.
  • The first 5 reference images are included; each additional reference image changes the quote.
[
  "https://example.com/reference.jpg"
]
video_urlsarray<string>

Reference video URLs for multimodal reference-to-video.

Items: 0–3

  • Up to 3 MP4 or MOV clips are supported.
  • Each clip must be 2–15 seconds and total reference duration must not exceed 15 seconds.
  • Pricing includes output duration plus total reference-video duration.
[
  "https://example.com/reference.mp4"
]
audio_urlsarray<string>

Reference audio URLs for multimodal reference-to-video.

Items: 0–3

  • Up to 3 WAV or MP3 clips are supported.
  • Audio reference requires at least one reference image or reference video.
[
  "https://example.com/reference.mp3"
]
image_with_rolesarray<object>

Optional role-labelled form for first/last-frame input.

Items: 0–2

Field description

url
Public HTTPS image URL.
role
first_frame or last_frame.

Note:This Artany contract reserves image_with_roles for frame control; use image_urls for multimodal reference images.

Use Cases

Choose the request shape that matches the source media you provide. The examples use the public model ID and accepted public fields.

Text-to-video

Create a video directly from a prompt.

{
  "model": "minimax-h3",
  "prompt": "A boy playing basketball by the sea at dusk, waves crashing, cinematic camera work",
  "duration": 6,
  "resolution": "2K",
  "aspect_ratio": "16:9"
}

First-frame video

Use an opening image to establish the visual starting point.

{
  "model": "minimax-h3",
  "prompt": "Pull focus to the people in the background and add more steam to the ramen bowl",
  "first_frame_image": "https://example.com/ramen.png",
  "duration": 5,
  "resolution": "2K"
}

First/last-frame video

Set both endpoints with explicit role-labelled images.

{
  "model": "minimax-h3",
  "prompt": "Camera slowly transitions from morning light to sunset",
  "image_with_roles": [
    {
      "url": "https://example.com/morning.png",
      "role": "first_frame"
    },
    {
      "url": "https://example.com/sunset.png",
      "role": "last_frame"
    }
  ],
  "duration": 8
}

Multimodal reference-to-video

Combine reference image, video, and audio inputs.

{
  "model": "minimax-h3",
  "prompt": "A character speaks naturally while preserving the supplied motion and voice",
  "image_urls": [
    "https://example.com/character.png"
  ],
  "video_urls": [
    "https://example.com/motion.mp4"
  ],
  "audio_urls": [
    "https://example.com/voice.mp3"
  ],
  "duration": 5,
  "resolution": "2K"
}

Response and task status

A successful asynchronous submission returns HTTP 202 with a supplier-neutral job.

{
  "id": "job_…",
  "object": "generation.job",
  "model": "minimax-h3",
  "status": "queued",
  "progress": 0,
  "output": null,
  "error": null,
  "billing": {
    "estimated_credits": "…",
    "frozen_credits": "…",
    "charged_credits": "0",
    "state": "frozen",
    "price_version": "2026-07-18.picverse-parity"
  },
  "created_at": "2026-07-21T00:00:00.000Z",
  "completed_at": null
}
  • queued / running: continue polling.
  • succeeded: retrieve media URLs from output; billing has settled.
  • failed / canceled: inspect error; frozen Credits are released.