Image to Video

minimax-hailuo-2.3-fast

Hailuo 2.3 Fast image-to-video generation.

Commercial useAsync APIfrom 30 Credits

API reference

Submit this model to the capability endpoint, then poll the returned job until it is terminal. Only the parameters below are accepted.

POST /v1/videos/generations

Required headers

Authorization: Bearer $ARTANY_API_KEY
Content-Type: application/json
Idempotency-Key: unique-request-id

Use a new 8–128 character Idempotency-Key for each logical generation. Retrying the same request with the same key will not double-charge.

Request body

{
  "model": "minimax-hailuo-2.3-fast",
  "prompt": "Ocean waves at sunrise",
  "duration": 6,
  "resolution": "768p",
  "first_frame_image": "https://example.com/first-frame.jpg",
  "prompt_optimizer": true,
  "fast_pretreatment": false
}

Parameters

FieldTypeRequiredDescriptionDefaultConstraints
modelstringYesStable Artany public model ID.minimax-hailuo-2.3-fastThis exact public model ID.
promptstringYesNatural-language instruction describing the desired image or video. Include subject, setting, composition, motion, lighting, and style as needed.Length: 0–2000
durationintegerNoTarget generated video length in seconds. Available durations are model-specific and can affect price.6Allowed: 6, 10
resolutionstringNoRequested output quality tier. Available values are model-specific and can affect price."768p"Allowed: 768p, 1080p
prompt_optimizerbooleanNoWhether to run the model's supported prompt optimization before generation.true
fast_pretreatmentbooleanNoWhether to enable the provider's supported fast preprocessing mode.false
first_frame_imagestringYesSource image used as the opening frame of the generated video.

Accepted response

The submit endpoint returns HTTP 202 with a normalized job. Poll GET /v1/jobs/{jobId} until the status is terminal.

{
  "id": "job_…",
  "object": "generation.job",
  "model": "minimax-hailuo-2.3-fast",
  "status": "queued",
  "progress": 0,
  "output": null,
  "error": null,
  "billing": {
    "estimated_credits": "30",
    "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
}

Lifecycle and failures

  • queued / running — wait and poll again.
  • succeeded — read output URLs from output; the actual charge is settled.
  • failed / canceled — inspect error; frozen Credits are released.
  • For a schema error, the API returns an error object and identifies the invalid field in param when applicable.

Input

Runs are billed to your Credits at the listed price — same engine as the public API.

Output

Run the model to see results here

Integrate in minutes

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-hailuo-2.3-fast","prompt":"Ocean waves at sunrise","duration":6,"resolution":"768p","first_frame_image":"https://example.com/first-frame.jpg","prompt_optimizer":true,"fast_pretreatment":false}'

# poll until terminal
curl "https://api.artany.ai/v1/jobs/{job_id}" \
  -H "Authorization: Bearer $ARTANY_API_KEY"