# kwaivgi/kling-o3/text-to-video > Achieving advanced semantic alignment for Text-to-Video generation, Kling Omni Video O3 produces cinematic-grade visuals featuring natural physics simulation and consistent subject tracking. This high-performance solution integrates high-fidelity audio synchronization and operates with zero coldstarts, ensuring every frame delivers exceptional visual impact and professional-tier quality. ## Overview - **Endpoint**: `https://api.shortapi.ai/api/v1/job/create` - **Model ID**: `kwaivgi/kling-o3/text-to-video` - **Category**: text-to-video - **Kind**: inference ## Pricing The billing rate for std mode video is $0.071 per second (without audio) and $0.095 per second (with audio), while Pro mode is $0.095 per second (without audio) and $0.119 per second (with audio). For more details, please check our pricing page. ## API Information This model can be used via our HTTP API or more conveniently via our client libraries. See the input and output schema below, as well as the usage examples. ### Input Schema The API accepts the following input parameters: - **`prompt`** (`string`, _required_): Text prompts, include positive and negative descriptions. The total length must not exceed 2,500 characters. When multi_shot is set to false, or when multi_shot is true and the shot_type parameter is set to intelligence, this parameter must not be empty - Examples: "An action shot of a black lab swimming..." - **`mode`** (`string`, _optional_): Video generation mode. - Default: `pro` - Options: "std", "pro" - **`duration`** (`int`, _optional_): Video Length, unit: s (seconds) - Default: `5` - Range: `3` to `15` - **`aspect_ratio`** (`string`, _optional_): The aspect ratio of the generated video frame (width:height) - Default: `16:9` - Options: "16:9", "1:1", "9:16" - **`sound`** (`string`, _optional_): Whether to generate sound simultaneously when generating videos. - Default: `off` - Options: "on", "off" - **`multi_shot`** (`bool`, _optional_): Whether to generate multi-shot video - Default: `false` - Options: "true", "false" - **`shot_type`** (`string`, _optional_): Shot breakdown method (required when multi_shot is true) - Default: `intelligence` - Options: "intelligence", "customize" - **`multi_prompt`** (`list`, _optional_): - **`prompt`** (`string`, _required_): Text prompts, include positive and negative descriptions - Examples: "An action shot of a black lab swimming..." - **`duration`** (`int`, _required_): Video Length, unit: s (seconds) - Range: `1` to `15` ### Output Schema The API returns a JSON response with a `job_id` for tracking the request status. **Create Job Response:** ```json { "code": 0, "data": { "amount": "0.02", "job_id": "" } } ``` **Query Job Result (when status is 2, meaning succeeded):** ```json { "code": 0, "data": { "status": 2, "result": { "videos": [{ "url": "https://..." }] } } } ``` ## Use Example To use this model, make an HTTP POST request to the API endpoint, then poll for results using the returned `job_id`. ### Bash (cURL) ```bash # Step 1: Create a job response=$(curl --request POST \ --url https://api.shortapi.ai/api/v1/job/create \ --header "Authorization: Bearer $SHORTAPI_KEY" \ --header "Content-Type: application/json" \ --data '{ "model": "kwaivgi/kling-o3/text-to-video", "args": { "prompt": "A cinematic slow-motion shot of a lone astronaut walking across a vast desert at sunset, golden light casting long shadows over the sand dunes, with a futuristic city glowing faintly on the horizon. The camera starts with a wide aerial view and slowly zooms in, capturing the astronaut’s reflective visor showing the fading sun. Wind gently lifts sand into the air, creating a dreamy, surreal atmosphere. Ultra-realistic, 4K resolution, soft lighting, shallow depth of field, dramatic color grading, highly detailed textures, immersive and emotional tone." }, "callback_url": "CALLBACK_URL" }') JOB_ID=$(echo "$response" | grep -o '"job_id": *"[^"]*"' | sed 's/"job_id": *//; s/"//g') # Step 2: Poll for results curl --request GET \ --url "https://api.shortapi.ai/api/v1/job/query?id=$JOB_ID" \ --header "Authorization: Bearer $SHORTAPI_KEY" ``` ### JavaScript (Fetch API) ```javascript // Step 1: Create a job const response = await fetch(`https://api.shortapi.ai/api/v1/job/create`, { method: "POST", headers: { "Authorization": `Bearer ${SHORTAPI_KEY}`, "Content-Type": "application/json" }, body: JSON.stringify({ "model": "kwaivgi/kling-o3/text-to-video", "args": { "prompt": "A cinematic slow-motion shot of a lone astronaut walking across a vast desert at sunset, golden light casting long shadows over the sand dunes, with a futuristic city glowing faintly on the horizon. The camera starts with a wide aerial view and slowly zooms in, capturing the astronaut’s reflective visor showing the fading sun. Wind gently lifts sand into the air, creating a dreamy, surreal atmosphere. Ultra-realistic, 4K resolution, soft lighting, shallow depth of field, dramatic color grading, highly detailed textures, immersive and emotional tone." }, "callback_url": "CALLBACK_URL" }) }); const data = await response.json(); const JOB_ID = data.job_id; // Step 2: Poll for results const result = await fetch(`https://api.shortapi.ai/api/v1/job/query?id=${JOB_ID}`, { method: "GET", headers: { "Authorization": `Bearer ${SHORTAPI_KEY}` } }); const resultData = await result.json(); console.log(resultData); ``` ### Python (Requests) ```python import requests # Step 1: Create a job url = "https://api.shortapi.ai/api/v1/job/create" payload = { "model": "kwaivgi/kling-o3/text-to-video", "args": { "prompt": "A cinematic slow-motion shot of a lone astronaut walking across a vast desert at sunset, golden light casting long shadows over the sand dunes, with a futuristic city glowing faintly on the horizon. The camera starts with a wide aerial view and slowly zooms in, capturing the astronaut’s reflective visor showing the fading sun. Wind gently lifts sand into the air, creating a dreamy, surreal atmosphere. Ultra-realistic, 4K resolution, soft lighting, shallow depth of field, dramatic color grading, highly detailed textures, immersive and emotional tone." }, "callback_url": "CALLBACK_URL" } headers = { "Authorization": f"Bearer {SHORTAPI_KEY}", "Content-Type": "application/json" } response = requests.post(url, headers=headers, json=payload) data = response.json() JOB_ID = data.get("job_id") # Step 2: Poll for results result_url = f"https://api.shortapi.ai/api/v1/job/query?id={JOB_ID}" result = requests.get(result_url, headers={"Authorization": f"Bearer {SHORTAPI_KEY}"}) print(result.json()) ```