Text to Video
minimax-h3
Text-to-video, first/last-frame image-to-video, and multimodal reference video 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
| Header | Required | Description |
|---|---|---|
| Authorization | Yes | Bearer token for an Artany API key. |
| Content-Type | Yes | Must be application/json. |
| Idempotency-Key | Recommended | 8–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.
Stable public model ID for this request.
Required video description. Include the scene, subject, motion, and visual style.
Length: 1–7000
- Maximum length: 7,000 characters.
Target output duration in seconds.
Range: 4–15
Note:Supported range: 4–15 seconds.
Video resolution tier.
Allowed: 2K, 768P
Field description
- 2K
- Default resolution
- 768P
- Lower-resolution tier
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
- 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.
Opening-frame image URL for image-to-video.
Format: uri
Note:Do not combine with image_urls, video_urls, or audio_urls.
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.
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" ]
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" ]
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" ]
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.