# Kling | o3 | Pro | Text to Video Kling O3 generates realistic, high-quality videos with smooth motion and strong visual coherence. ## API Information - **Model Slug:** kling-o3-pro-text-to-video - **Branded URL:** https://www.eachlabs.ai/kling/kling-o3/kling-o3-pro-text-to-video - **Provider:** Kling - **Category:** Text to Video - **Output Type:** video - **Status:** active - **Base Cost:** Pricing is calculated per second of generated video: $0.112/sec (audio off) or $0.14/sec (audio on). - **Estimated Processing Time:** 130 seconds - **Interactive Demo:** https://www.eachlabs.ai/ai-models/kling-o3-pro-text-to-video ## Pricing - **Charge Type:** dynamic - **Pricing Details:** Pricing is calculated per second of generated video: $0.112/sec (audio off) or $0.14/sec (audio on). ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | Pricing is calculated per second of generated video: $0.112/sec (audio off) or $0.14/sec (audio on). | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | No | - | - | Text prompt for video generation. Required unless multi_prompt is provided. | | duration | string | No | 5 | 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 | Video duration in seconds (3-15s). | | aspect_ratio | string | No | 16:9 | 16:9, 9:16, 1:1 | Aspect ratio of the generated video. | | generate_audio | boolean | No | false | - | Whether to generate native audio for the video. | | voice_ids | array | No | - | - | Optional Voice IDs for video generation. Reference voices in your prompt with <<>> and <<>> (maximum 2 voices per task). Get voice IDs from the kling video create-voice endpoint. | | multi_prompt | array | No | - | - | List of prompts for multi-shot video generation. | | shot_type | string | No | customize | - | The type of multi-shot video generation. | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "kling-o3-pro-text-to-video", "input": {} }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "string (URL of generated video)", "metrics": { "predict_time": "number (seconds)" } } ``` ## Polling ```bash curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \ -H "Authorization: Bearer YOUR_API_KEY" ``` | Status | Meaning | |--------|---------| | `processing` | Still running — poll again | | `success` | Done — read `output` | | `error` | Failed — read `message` / `details` | ## Webhook (alternative to polling) Pass `"webhook_url": "https://your.host/path"` in the create request. Eachlabs POSTs this payload when the job ends: ```json { "exec_id": "prediction-uuid", "status": "succeeded", "output": "https://...", "error": "" } ``` `status` is `"succeeded"` or `"failed"`. `exec_id` equals the `predictionID` from create. Return 2xx within 30 seconds. ## Errors Error body: `{ "status": "error", "message": "...", "details": "..." }` | Code | Meaning | |------|---------| | `400` | Invalid input | | `401` | Missing / invalid `Authorization` bearer token | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **kling-o3-pro-text-to-video — Text to Video AI Model** Transform detailed text prompts into cinematic, high-quality videos with **kling-o3-pro-text-to-video**, Kling's advanced text-to-video AI model from the O3 family that delivers up to 4K resolution and 15-second clips with native audio sync. Developed as part of the Kling O3 unified multimodal platform, this model excels in generating realistic motion, photorealistic rendering, and temporal consistency, solving the challenge of creating professional-grade video content without complex production setups. Ideal for creators seeking a **Kling text-to-video** solution with physics-aware dynamics and multi-language support, kling-o3-pro-text-to-video prioritizes detail and stable subject identity in every output. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `Authorization: Bearer YOUR_API_KEY`. Generate a key from the Eachlabs dashboard at https://www.eachlabs.ai/dashboard/api-keys. - File-typed parameters (`*_url`, `image_url`, `video_url`, `audio_url`, etc.) accept publicly-reachable HTTPS URLs only. Upload your asset first (GCS / S3 / your CDN) and pass the resulting URL. Data-URIs and localhost URLs are rejected. - For structured parameters (arrays / objects) send real JSON values, not stringified payloads. - Monetary values are reported in USD; per-token / per-megapixel rates may be billed in micro-cents internally. - Prefer `webhook_url` over polling for long-running predictions — see the Webhook Callback section.