YepAPI
AI Models

Hailuo 2.3

MiniMax's Hailuo 2.3. 1080p AI video generation, 6 or 10 seconds.

POST/v1/media/queue
from $0.17/second

Overview

1080p video generation via MiniMax's Hailuo 2.3. Async operation — submit a job, poll for completion.

PropertyValue
Model IDminimax/hailuo-2.3
ProviderMiniMax
Resolutions1080p
Aspect Ratios16:9
Duration6 or 10 seconds
Audio GenerationNot supported
BillingDynamic (actual cost per job)
Pricingfrom $0.17/second

Usage

All media models use the async job queue. Submit a job, then poll for the result.

Step 1: Submit Job

Text-to-Video

const res = await fetch('https://api.yepapi.com/v1/media/queue', {
  method: 'POST',
  headers: {
    'x-api-key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: 'minimax/hailuo-2.3',
    prompt: 'A cinematic drone shot over a rugged coastline at golden hour',
    options: {
      aspectRatio: '16:9',
      duration: '6',
    },
  }),
});
const { data } = await res.json();
// data.jobId — use this to poll for results
curl -X POST https://api.yepapi.com/v1/media/queue \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "minimax/hailuo-2.3", "prompt": "A cinematic drone shot over a rugged coastline", "options": {"aspectRatio": "16:9", "duration": "6"}}'

Image-to-Video

Pass a reference image via imageData to generate a video from a still image.

const res = await fetch('https://api.yepapi.com/v1/media/queue', {
  method: 'POST',
  headers: {
    'x-api-key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: 'minimax/hailuo-2.3',
    prompt: 'Animate this scene — clouds drifting, light changing',
    options: {
      aspectRatio: '16:9',
      duration: '6',
    },
    imageData: {
      mimeType: 'image/jpeg',
      base64: '...', // Base64-encoded image
    },
  }),
});

Step 2: Poll for Result

const status = await fetch(`https://api.yepapi.com/v1/media/status/${data.jobId}`, {
  headers: { 'x-api-key': 'YOUR_API_KEY' },
});
const { data: job } = await status.json();
// job.status — "pending" | "processing" | "completed" | "failed"
// job.result.video — { mimeType, base64 } when completed
curl https://api.yepapi.com/v1/media/status/JOB_ID \
  -H "x-api-key: YOUR_API_KEY"

Request Body

ParameterTypeRequiredDescriptionDefault
modelstringYesminimax/hailuo-2.3 or alias hailuo-2-3
promptstringYesText description of the video to generate
options.aspectRatiostringNoOne of: 16:916:9
options.resolutionstringNo1080p1080p
options.durationstringNo6 or 10 (seconds)6
options.imageRolestringNoHow to use the input image: first_framefirst_frame
imageData.mimeTypestringNoMIME type of input image (image/png, image/jpeg, image/webp)
imageData.base64stringNoBase64-encoded input image for image-to-video generation

Pricing

TierCost/sec
All resolutions$0.17

Example: 6-second video ≈ 6 x $0.17 = $1.02. Billing is dynamic — each job is billed from the actual cost of the finished video, so shorter or lower-resolution jobs cost less.

Info

Video jobs can take several minutes to complete. Results retained for 1 hour.

Under the Hood

Powered by MiniMax's Hailuo 2.3 via our AI provider. 100% margin on upstream costs.

On this page