Kling Compat API
A drop-in passthrough to Kling's native API. Same request bodies, same path shapes, same envelope — just point your existing SDK at api.thankyouai.com and swap the Authorizationheader. Not a single model — one entry point covering Kling's video, lip-sync, omni, element, and preset surfaces.
Quick start
Base URL: https://api.thankyouai.com/open/v1/kling-compat/
curl -X POST https://api.thankyouai.com/open/v1/kling-compat/v1/videos/text2video \
-H "Authorization: Bearer $THANKYOU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model_name": "kling-v3",
"prompt": "A serene mountain landscape at sunset",
"mode": "std",
"aspect_ratio": "16:9",
"duration": "5"
}'Response envelope is Kling's own — {code, message, request_id, data} with a task_id you poll against the matching GET {family}/{task_id}.
Endpoints
All paths are mounted under the base URL and preserve Kling's original shape.
| Method | Path | Purpose |
|---|---|---|
| POST | v1/videos/text2video | Text → video task |
| GET | v1/videos/text2video/{task_id} | Poll text2video status |
| POST | v1/videos/image2video | Image → video task |
| GET | v1/videos/image2video/{task_id} | Poll image2video status |
| POST | v1/videos/multi-image2video | Multi-image → video task |
| GET | v1/videos/multi-image2video/{task_id} | Poll multi-image2video status |
| POST | v1/videos/omni-video | Omni-video (t2v / i2v / v2v / v-edit) |
| GET | v1/videos/omni-video/{task_id} | Poll omni-video status |
| POST | v1/videos/advanced-lip-sync | Advanced lip-sync task |
| GET | v1/videos/advanced-lip-sync/{task_id} | Poll lip-sync status |
| POST | v1/videos/identify-face | Identify faces (synchronous) |
| POST | v1/general/advanced-custom-elements | Create custom element |
| GET | v1/general/advanced-custom-elements | List custom elements |
| GET | v1/general/advanced-custom-elements/{task_id} | Get element task |
| POST | v1/general/delete-elements | Soft-delete elements |
| GET | v1/general/advanced-presets-elements | List preset elements |
What's different from ThankYou's Open API
- Shape:Request/response bodies mirror Kling's native contract, not ThankYou's unified shape. Use Kling's docs + the deep links below for exact fields.
- Auth: Your ThankYou API key as
Authorization: Bearer …. No extra header scheme. - Callbacks: Send
callback_urlin the body as usual. ThankYou transparently rewrites it so we can record task state, then forwards each transition to your URL. - Billing & logs:Video tasks go through ThankYou's billing pipeline and show up in /usage with
family="kling-compat". Element creation itself is free (Kling does not charge); video tasks using elements are charged normally. - Element IDs:Mix your own custom elements with Kling preset IDs freely — ThankYou no longer pre-validates ownership on generation; Kling's side is authoritative and billing is released on rejection.