# Kling Kling v2.6 Pro — Image To Video > kling 2.6 pro delivers production-grade AI video with native audio and physics. Generate 1080p clips with precise motion control via API at GPTProto.com. ## Overview - **Endpoint**: `POST https://gptproto.com/api/v3/kwaivgi/kling-v2.6-pro/image-to-video` - **Query endpoint**: `POST https://gptproto.com/api/v3/predictions/{{id}}/result` - **Model ID**: `kling-v2.6-pro` - **Vendor**: Kling - **Scene**: `image-to-video` - **Category**: image-to-video - **Modalities**: input image → output video - **Model page**: https://gptproto.com/model/kling/kling-v2.6-pro/image-to-video - **API documentation**: https://docs.gptproto.com/docs/allapi/Kling/kling-v2.6-pro/gptproto-format/image-to-video - **Other scenes of this model**: `text-to-video`, `motion-control` — same auth, different endpoint path and input schema ## Authentication Every request needs a GPTProto API key. Create one at https://gptproto.com/dashboard/api-key, then export it: ```bash export GPTPROTO_API_KEY="your-api-key" ``` Header: `Authorization: Bearer $GPTPROTO_API_KEY`. ## Pricing Platform price by tier (USD, already includes the GPTProto discount): - **5** — $0.28 per run - **5** — $0.56 per run - **5** — $0.672 per run - **10** — $0.56 per run - **10** — $1.12 per run - **10** — $1.34 per run Price range: $0.28 – $1.34 per generation. Prices may change. The model page always shows the live price: https://gptproto.com/model/kling/kling-v2.6-pro/image-to-video ## API Information The examples below use this model's official request format. Submit the first request, then poll the query endpoint until the vendor operation finishes. ### Input Schema The accepted JSON body is the official request shape below: **Full Example**: ```json { "prompt": "cat say:“hi! welcome to gptproto”", "image": "https://tos.gptproto.com/resource/cat.png", "last_image": "", "negative_prompt": "", "sound": true, "voice_list": [ { "voice_id": "837076832956186666" } ], "duration": 5 } ``` ## Usage Examples ### 1. Submit a request ```bash curl --request POST "https://gptproto.com/api/v3/kwaivgi/kling-v2.6-pro/image-to-video" \ --header "Authorization: Bearer $GPTPROTO_API_KEY" \ --header "Content-Type: application/json" \ --data '{ "prompt": "cat say:“hi! welcome to gptproto”", "image": "https://tos.gptproto.com/resource/cat.png", "last_image": "", "negative_prompt": "", "sound": true, "voice_list": [ { "voice_id": "837076832956186666" } ], "duration": 5 }' ``` ```python import os import requests url = "https://gptproto.com/api/v3/kwaivgi/kling-v2.6-pro/image-to-video" headers = { "Authorization": f"Bearer {os.environ['GPTPROTO_API_KEY']}", "Content-Type": "application/json" } payload = { "prompt": "cat say:“hi! welcome to gptproto”", "image": "https://tos.gptproto.com/resource/cat.png", "last_image": "", "negative_prompt": "", "sound": True, "voice_list": [ { "voice_id": "837076832956186666" } ], "duration": 5 } response = requests.request("POST", url, headers=headers, json=payload) print(response.json()) ``` ```typescript const response = await fetch("https://gptproto.com/api/v3/kwaivgi/kling-v2.6-pro/image-to-video", { method: "POST", headers: { "Authorization": `Bearer ${process.env.GPTPROTO_API_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ prompt: "cat say:“hi! welcome to gptproto”", image: "https://tos.gptproto.com/resource/cat.png", last_image: "", negative_prompt: "", sound: true, voice_list: [ { voice_id: "837076832956186666", }, ], duration: 5, }), }); const data = await response.json(); console.log(data); ``` ### 2. Check status Replace `{{operation_id}}` (or the operation name in the URL) with the value returned by the submit request, and keep polling until the operation completes. ```bash curl --request POST "https://gptproto.com/api/v3/predictions/{{id}}/result" \ --header "Authorization: Bearer $GPTPROTO_API_KEY" \ --header "Content-Type: application/json" ``` ```python import os import requests url = "https://gptproto.com/api/v3/predictions/{{id}}/result" headers = { "Authorization": f"Bearer {os.environ['GPTPROTO_API_KEY']}", "Content-Type": "application/json" } response = requests.request("POST", url, headers=headers) print(response.json()) ``` ```typescript const response = await fetch("https://gptproto.com/api/v3/predictions/{{id}}/result", { method: "POST", headers: { "Authorization": `Bearer ${process.env.GPTPROTO_API_KEY}`, "Content-Type": "application/json", }, }); const data = await response.json(); console.log(data); ``` ## Example Prompts - Scene: No visible people. Only a white robotic vacuum cleaner is shown along with its cleaning path on the floor. Audio: A soft female narrator speaks, accompanied by gentle vacuum-cleaning sound effects: "Still struggling with dust in the corners? This robotic vacuum cleans righ… - Scene: A tabletop setup featuring ASMR trigger props such as a crystal glass, wooden block, and makeup brushes. Audio: Soft "shhh—shhh" brushing sounds as a makeup brush gently sweeps across the crystal glass and wooden block. Camera: Focuses closely on the props and the precise… - Scene: On a beach with sunlight spilling across golden sand, waves crashing onto the shore and forming white foam. Subject: A young American male wearing a backwards baseball cap, holding a camera for a selfie, smiling naturally. Audio: The young American male with a bright, sunn… ## HTTP Status Codes - `400` — malformed body, a parameter or value this model does not accept, or input blocked by the provider's content moderation - `401` — missing or invalid API key - `403` — insufficient credits - `413` — request body too large - `429` — rate limited; retry with backoff - `500` — An internal server error occurred - `502` — An internal server error occurred - `504` — Gateway timeout — upstream service did not respond in time; retry later ## Additional Resources - [Model page](https://gptproto.com/model/kling/kling-v2.6-pro/image-to-video) - [API documentation](https://docs.gptproto.com/docs/allapi/Kling/kling-v2.6-pro/gptproto-format/image-to-video) - [All models](https://gptproto.com/model) - [API keys](https://gptproto.com/dashboard/api-key) - [Platform overview for LLMs](https://gptproto.com/llm-full.txt) - Any other model: `https://gptproto.com/model/{vendor}/{model}/{scene}/llms.txt`