Kling 3.0 API
Generate multi-shot AI videos with Kling 3.0 via API. Strong character control, camera movement, and native audio — no GPU setup required.
Trusted by teams at
Everything You Need to Ship Kling 3.0
Character-controlled multi-shot video with cinematic camera movement.
Integrate in 3 Steps
Add character-controlled AI video to your app in minutes.
Get Your API Key
Send Your Request
Get Results & Scale
Generate a Kling 3.0 video with Python, Node.js, or HTTP
Start with a reference image and motion prompt. This example calls Magic Hour’s image-to-video API with Kling 3.0.
from magic_hour import Client
from os import getenv
client = Client(token=getenv("API_TOKEN"))
res = client.v1.image_to_video.generate(
assets={"image_file_path": "/path/to/first-frame.png"},
end_seconds=5,
model="kling-3.0",
name="Kling 3.0 Video",
resolution="1080p",
style={"prompt": "A cinematic dolly zoom through a neon city at night"},
)Before you run
- Create an API key and add it to the authorization value shown in your chosen snippet.
- Provide a reference image you own. Start with one well-lit product on a simple background. For web-hosted inputs, use direct HTTPS file URLs. For private or local files, upload the file first and use its returned
file_path. - Choose Python, Node.js, or HTTP above, then review the example before running it. The Kling example submits one billable job.
Expected result and async processing
The POST returns a project id and credits_charged, not the finished media. Save the project ID and poll it with backoff until the status is complete, error or canceled. For completed jobs, read the final credit charge, download URL and expiration time. Handle errors and cancellations without continuing to poll. Download your output before the URL expires; if it expires, retrieve the project again for a fresh URL.
Stopping a poll does not cancel the job or prove failure. Reuse the saved project ID to resume polling without creating another job. If the create request times out before returning an ID, do not submit it again. Email support@magichour.ai with the endpoint, request name and UTC timestamp so the request can be traced first. For production, use webhooks, verify signatures and handle repeated deliveries. Poll for cancellation because canceled jobs do not emit a cancellation webhook. See measured processing times; queue load, input and settings affect latency.
Pricing and usage estimates
Kling 3.0 pricing depends on resolution, duration and audio. Read the completed project for this request’s exact charge; the calculator below estimates supported monthly workloads rather than this five-second request. These are usage-based billing examples, not subscription prices or a promise of free generation. Usage-based billing requires setup assistance. Subscription and credit-pack economics differ. Video create charges are estimates; read the completed project for the final charge.
Troubleshooting
- 401: verify the API key and Bearer header. Keep keys in server environment variables.
- Invalid input: use direct file URLs or uploaded paths, check the response message and compare the payload with the endpoint schema. Confirm the model supports the requested duration and resolution.
- Insufficient balance or plan access: inspect the error code and account balance and tier. A free key does not unlock every model.
- 429 or transient polling failure: reduce concurrency, back off and resume the existing project ID. Do not blindly retry a create request.
- Unexpected output: reduce camera motion and simplify the prompt. Review packaging, logos and geometry before using a generated clip in a product listing; exact fidelity is not guaranteed.
Continue with the product video recipe when you are ready to turn this first request into a repeatable workflow.
Get an API key and run your first request →Estimate Your API Costs
- 24,000credits / month
- 25,000credits / month
- 1,000credits / month