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

# Text to Video Ultra

> This endpoint is used to generate HD video from a given text prompt.

![Text to Video Ultra Example](https://assets.modelslab.ai/generations/cfb0211d-cc6f-4835-ab2a-41acc498bb8a.png)

## Request

Make a `POST` request to below endpoint and pass the required parameters in the request body.

```curl curl theme={"theme":{"light":"github-light","dark":"github-dark"}}
--request POST 'https://modelslab.com/api/v1/enterprise/ultra_video/text2video' \
```

## Body

<Note>
  When the model\_id is `Wan2.2`, the request json looks like so,
</Note>

```json json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{     
    "key":"enterprise_api_key",    
    "prompt":"Space Station in space",    
    "negative_prompt":"low quality",    
    "resolution":480,    
    "num_frames":92,    
    "num_inference_steps":8,    
    "guidance_scale": 1.0,    
    "shift_sample":3,    
    "fps":18,    
    "webhook": null,    
    "track_id":null
}
```

## Body Attributes

<ParamField query="key" type="string" required>
  Your API Key used for request authorization.
</ParamField>

<ParamField query="prompt" type="string" required>
  Text prompt with a description of the things you want in the video to be generated.
</ParamField>

<ParamField query="negative_prompt" type="string">
  Items you don't want in the video.
</ParamField>

<ParamField query="seed" type="integer">
  Seed is used to reproduce results. The same seed will give you the same video again. Pass null for a random number.
</ParamField>

<ParamField query="resolution" type="integer" max="480" default="480">
  The resolution of the generated output. Maximum is 480.
</ParamField>

<ParamField query="num_frames" type="integer" default="92">
  The number of frames in the generated video. Default is 92.
</ParamField>

<ParamField query="num_inference_steps" type="integer" min="8" max="8" default="8">
  Number of denoising steps. Default is 8. Maximum is 8.
</ParamField>

<ParamField query="guidance_scale" type="number" min="1.0" max="2.0" default="1.0">
  Scale for classifier-free guidance. Minimum is 1.0, maximum is 2.0.
</ParamField>

<ParamField query="fps" type="integer" min="18" max="18" default="18">
  Frames per second rate of the generated video. Must be less than num\_frames. Maximum is 18.
</ParamField>

<ParamField query="portrait" type="boolean" default="false">
  Indicates whether the output should be in portrait mode. Options: true/false.
</ParamField>

<ParamField query="sample_shift" type="integer" default="3">
  Controls the sampling shift in the generation process. Default is 3.
</ParamField>

<ParamField query="temp" type="boolean" default="false">
  If true, stores the video in temporary storage (cleaned every 24 hours). Default is false.
</ParamField>

<ParamField query="webhook" type="string" format="url">
  A URL to receive a POST API call once the video generation is complete.
</ParamField>

<ParamField query="track_id" type="string">
  A unique ID used in the webhook response to identify the request.
</ParamField>
