---
title: "MiniMax Hailuo 2.3 768p - Create video from text or image"
method: POST
path: "/v1/ai/image-to-video/minimax-hailuo-2-3-768p"
tags: ["image-to-video"]
---

# MiniMax Hailuo 2.3 768p - Create video from text or image

`POST /v1/ai/image-to-video/minimax-hailuo-2-3-768p`

## Request

- Base URL: `https://api.magnific.com`
- URL: `https://api.magnific.com/v1/ai/image-to-video/minimax-hailuo-2-3-768p`
- Auth: API key in header `x-magnific-api-key`

Generate a video from text or image using the MiniMax Hailuo 2.3 768p model.

## Request body

- union
  - Itvminimax23768pRequestContent
    - `webhook_url` string, uri: Optional callback URL that will receive asynchronous notifications whenever the task changes status. The payload sent to this URL is the same as the corresponding GET endpoint response, but without the data field.
    - `prompt` string, required: Description of the video. Note: It should be less than 2000 characters.
    - `prompt_optimizer` boolean: Whether to use the prompt optimizer. If true, the model will automatically optimize the incoming prompt to improve the generation quality.
    - `first_frame_image` string, required: The model will use the image passed in this parameter as the first frame to generate a video. Supported formats: URL of the image or base64 encoding of the image. Image specifications: format must be JPG, JPEG, or PNG; aspect ratio should be greater than 2:5 and less than 5:2; the shorter side must exceed 300 pixels; file size must not exceed 20MB.
    - `last_frame_image` string: The model will use the image passed in this parameter as the last frame to generate a video. Supported formats: URL of the image or base64 encoding of the image. Image specifications: format must be JPG, JPEG, or PNG; aspect ratio should be greater than 2:5 and less than 5:2; the shorter side must exceed 300 pixels; file size must not exceed 20MB.
    - `duration` 6 | 10: Video length in seconds
  - Ttvminimax23768pRequestContent
    - `webhook_url` string, uri: Optional callback URL that will receive asynchronous notifications whenever the task changes status. The payload sent to this URL is the same as the corresponding GET endpoint response, but without the data field.
    - `prompt` string, required: Description of the video. Note: It should be less than 2000 characters.
    - `prompt_optimizer` boolean: Whether to use the prompt optimizer. If true, the model will automatically optimize the incoming prompt to improve the generation quality.
    - `duration` 6 | 10: Video length in seconds

## Response `200`

OK - Task created successfully

- CreateImageFromTextFlux200Response
  - `data` Task, required
    - `task_id` string, uuid, required: Task identifier
    - `status` 'CREATED' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED', required: Task status

## Other responses

- `400`: Bad Request - The server could not understand the request due to invalid syntax.
- `401`: Unauthorized - The client must authenticate itself to get the requested response.
- `500`: Internal Server Error - The server has encountered a situation it doesn't know how to handle.
- `503`: Service Unavailable

---

[API](https://skmtc.dev/magnific/apis/magnific-api.md) · [All operations](https://skmtc.dev/magnific/apis/magnific-api/llms.txt) · [OpenAPI document](https://skmtc.dev/magnific/apis/magnific-api/revisions/60711fb082c7?raw)
