> ## Documentation Index
> Fetch the complete documentation index at: https://developer.pixelbyte.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Hailuo 2.3 Pro — Text to Video

> Generate videos from text prompts using MiniMax Plus Hailuo 2.3 Pro model

Generate 1080p videos from text descriptions with MiniMax Plus Hailuo 2.3 Pro — features 85% complex-instruction accuracy for nuanced, prompt-faithful output at a flat per-request cost.

| Property            | Value                                       |
| ------------------- | ------------------------------------------- |
| **Provider**        | MiniMax Plus                                |
| **Model**           | Hailuo 2.3 Pro                              |
| **Capability**      | Text to Video                               |
| **Base Cost**       | 50,000 micro-cents/request (\$0.05/request) |
| **Processing Time** | \~180 seconds                               |

## Request Body

<ParamField body="model" type="string" required placeholder="minimax-plus/hailuo-2.3-pro/text-to-video">
  Model slug. Use `minimax-plus/hailuo-2.3-pro/text-to-video` for text-to-video generation.
</ParamField>

<ParamField body="input" type="object" required>
  Input parameters for text-to-video generation.

  <Expandable title="properties" defaultOpen>
    <ParamField body="prompt" type="string" required>
      Text description of the video to generate (max 2500 characters).
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="webhookUrl" type="string">
  HTTPS URL to receive a webhook notification when the job completes or fails.
</ParamField>

## Pricing

**Base cost:** 50,000 micro-cents per request (\$0.05/request)

<Tip>
  **Default cost:** **50,000 micro-cents (\$0.05)** per request — flat pricing regardless of duration.
</Tip>

## Response

<ResponseField name="jobId" type="string">
  Unique identifier for the submitted job.
</ResponseField>

<ResponseField name="status" type="string">
  Initial job status. Always `"pending"` on successful submission.
</ResponseField>

<ResponseField name="estimatedCompletionTime" type="string">
  ISO 8601 timestamp of the estimated completion time.
</ResponseField>

<ResponseField name="costMicroCents" type="number">
  The cost of the job in micro-cents.
</ResponseField>

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.muvi.video/v1/jobs/submit \
    -H "Authorization: Bearer $PIXELBYTE_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "minimax-plus/hailuo-2.3-pro/text-to-video",
      "input": {
        "prompt": "A drone shot of a futuristic city at golden hour with neon reflections on the wet streets"
      }
    }'
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      "https://api.muvi.video/v1/jobs/submit",
      headers={
          "Authorization": "Bearer YOUR_API_KEY",
          "Content-Type": "application/json"
      },
      json={
          "model": "minimax-plus/hailuo-2.3-pro/text-to-video",
          "input": {
              "prompt": "A drone shot of a futuristic city at golden hour with neon reflections on the wet streets"
          }
      }
  )

  data = response.json()
  print(data)
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch("https://api.muvi.video/v1/jobs/submit", {
    method: "POST",
    headers: {
      "Authorization": "Bearer YOUR_API_KEY",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      model: "minimax-plus/hailuo-2.3-pro/text-to-video",
      input: {
        prompt: "A drone shot of a futuristic city at golden hour with neon reflections on the wet streets"
      }
    })
  });

  const data = await response.json();
  console.log(data);
  ```
</CodeGroup>
