{"data":[{"overviewHtml":"\u003cp\u003eKling 4.0 turns shot descriptions, opening and closing frames, or subject references into video with audio. Use a five-second text-to-video clip to test a camera move. If you already know how a shot should begin and end, use image-to-video to give the model those frames and generate the action between them. Kuaishou launched Kling 4.0 on October 15, 2026. \u003ca href=\"https://ir.kuaishou.com/zh-hans/news-releases/news-release-details/kelingaixinyidaimoxingklin1g-40zhengshishangxian/\"\u003eKuaishou announcement\u003c/a\u003e · \u003ca href=\"https://openany.si/models/kling-4.0/\"\u003eOpenAny model page\u003c/a\u003e\u003c/p\u003e\u003ch2\u003eExample output\u003c/h2\u003e\u003cp\u003e\u003ca href=\"https://static--32.klingai-cdn-aws.com/kling-blog/presigned_url/9c008477-a814-4dda-8e11-f79779317ab8_%E7%BA%B8%E7%89%8C%E9%A3%9E%E6%BB%A1%E5%89%A7%E5%9C%BA.mp4\"\u003eWatch the flying cards sequence from KING CARD\u003c/a\u003e\u003c/p\u003e\u003ctable\u003e\u003ctbody\u003e\u003ctr\u003e\u003cth\u003e\u003cp\u003eExample\u003c/p\u003e\u003c/th\u003e\u003cth\u003e\u003cp\u003eInput and action\u003c/p\u003e\u003c/th\u003e\u003cth\u003e\u003cp\u003eWhat to check\u003c/p\u003e\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cp\u003eKING CARD · Kling AI short film\u003c/p\u003e\u003c/td\u003e\u003ctd\u003e\u003cp\u003ePlaying cards fly from a magician\u0026#39;s hand and form a spiral above the audience as the camera tilts up and pulls back along the aisle.\u003c/p\u003e\u003c/td\u003e\u003ctd\u003e\u003cp\u003eWatch how the card motion, camera position, and audience positions carry through the shot.\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cp\u003ePaper boat in the rain · OpenAny Playground exercise\u003c/p\u003e\u003c/td\u003e\u003ctd\u003e\u003cp\u003eA low camera tracks a paper boat from the side as it drifts through a puddle.\u003c/p\u003e\u003c/td\u003e\u003ctd\u003e\u003cp\u003eThe boat stays in frame for five seconds, with raindrops and gentle water sounds.\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\u003cp\u003eKling AI published the flying cards sequence. Its production notes include the full film, individual shots, and excerpts from the prompts. The paper boat prompt is in the request below. \u003ca href=\"https://kling.ai/blog/king-card-making-kling4-everchanging-world\"\u003eKING CARD production notes and samples\u003c/a\u003e\u003c/p\u003e\u003ch2\u003eChoose an input mode\u003c/h2\u003e\u003ctable\u003e\u003ctbody\u003e\u003ctr\u003e\u003cth\u003e\u003cp\u003eMode\u003c/p\u003e\u003c/th\u003e\u003cth\u003e\u003cp\u003eUse it to\u003c/p\u003e\u003c/th\u003e\u003cth\u003e\u003cp\u003eInput\u003c/p\u003e\u003c/th\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cp\u003eText to video\u003c/p\u003e\u003c/td\u003e\u003ctd\u003e\u003cp\u003eTry a camera move, action, or sound from a written brief.\u003c/p\u003e\u003c/td\u003e\u003ctd\u003e\u003cp\u003eDescribe the subject, action, camera, and sound in the prompt.\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cp\u003eImage to video\u003c/p\u003e\u003c/td\u003e\u003ctd\u003e\u003cp\u003eSet the opening frame and optionally the closing frame.\u003c/p\u003e\u003c/td\u003e\u003ctd\u003e\u003cp\u003eSupply public HTTPS images as \u003ccode\u003efirst_frame\u003c/code\u003e, up to eight \u003ccode\u003ekeyframe\u003c/code\u003e images, and up to one \u003ccode\u003elast_frame\u003c/code\u003e.\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cp\u003eReference to video\u003c/p\u003e\u003c/td\u003e\u003ctd\u003e\u003cp\u003eUse an image for appearance or a video for motion.\u003c/p\u003e\u003c/td\u003e\u003ctd\u003e\u003cp\u003eSupply \u003ccode\u003ereference_image\u003c/code\u003e or \u003ccode\u003ereference_video\u003c/code\u003e in the matching mode.\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cp\u003eSubject references to video\u003c/p\u003e\u003c/td\u003e\u003ctd\u003e\u003cp\u003eReuse a character or product across different camera angles.\u003c/p\u003e\u003c/td\u003e\u003ctd\u003e\u003cp\u003eGive the subject a name in the form and refer to it as \u003ccode\u003e@name\u003c/code\u003e in the prompt.\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\u003cp\u003eThe yir templates for text, image, and standard reference input support 3–30 seconds at \u003ccode\u003e720p\u003c/code\u003e or \u003ccode\u003e1080p\u003c/code\u003e. Text-to-video supports \u003ccode\u003e16:9\u003c/code\u003e, \u003ccode\u003e9:16\u003c/code\u003e, \u003ccode\u003e1:1\u003c/code\u003e, and \u003ccode\u003e21:9\u003c/code\u003e. Image-to-video uses \u003ccode\u003eauto\u003c/code\u003e for aspect ratio. The route\u0026#39;s native audio setting is fixed at \u003ccode\u003etrue\u003c/code\u003e. \u003ca href=\"https://openany.si/api/v1/key-market/model-prices?modelid=kling-4.0\"\u003eOpenAny route parameters\u003c/a\u003e\u003c/p\u003e\u003ch2\u003eQuickstart\u003c/h2\u003e\u003cp\u003eSelect yir and \u003cstrong\u003eText to video\u003c/strong\u003e. Start with five seconds at 720p and 16:9. Once the camera move and composition work, use the same prompt to try a higher resolution. Send a POST request to \u003ccode\u003ehttps://api.openany.si/v1/videos\u003c/code\u003e with the header \u003ccode\u003eAuthorization: Bearer $OPENANY_API_KEY\u003c/code\u003e.\u003c/p\u003e\u003cpre\u003e\u003ccode class=\"language-json\"\u003e{\n  \u0026#34;model\u0026#34;: \u0026#34;kling-4.0\u0026#34;,\n  \u0026#34;route\u0026#34;: { \u0026#34;provider\u0026#34;: \u0026#34;yir\u0026#34; },\n  \u0026#34;route_mode\u0026#34;: \u0026#34;balanced\u0026#34;,\n  \u0026#34;input\u0026#34;: {\n    \u0026#34;type\u0026#34;: \u0026#34;text\u0026#34;,\n    \u0026#34;prompt\u0026#34;: \u0026#34;A yellow paper boat drifts through a shallow puddle along a rainy city curb at dusk. One low-angle side-tracking shot, camera moving at the same speed as the boat. Keep the boat in focus and in frame. Natural raindrops and soft water sounds, with no dialogue.\u0026#34;\n  },\n  \u0026#34;parameters\u0026#34;: {\n    \u0026#34;duration\u0026#34;: 5,\n    \u0026#34;resolution\u0026#34;: \u0026#34;720p\u0026#34;,\n    \u0026#34;aspect_ratio\u0026#34;: \u0026#34;16:9\u0026#34;,\n    \u0026#34;generate_audio\u0026#34;: true,\n    \u0026#34;n\u0026#34;: 1\n  }\n}\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eSave the task ID and poll \u003ccode\u003eGET /v1/videos/{task_id}\u003c/code\u003e. Retrieve the video URL from the result\u0026#39;s file list when the task succeeds. OpenAny bills this route per second. Video settings and reference media determine which rate applies. \u003ca href=\"https://openany.si/models/kling-4.0/\"\u003eOpenAny Kling 4.0 API and pricing\u003c/a\u003e\u003c/p\u003e\u003ch2\u003eFrequently asked questions\u003c/h2\u003e\u003cp\u003e\u003cstrong\u003eCan I turn off sound?\u003c/strong\u003e This route generates audio. To deliver a silent clip, remove the audio track after downloading it.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eWhen should I use opening and closing frames?\u003c/strong\u003e Use them to define where a shot starts and ends. Use reference images when you need to guide the appearance of a subject, outfit, or scene.\u003c/p\u003e","officialPricing":{"unit":"second","prices":[{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · auto · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-4.0","specification_label":"5s · 1080p · auto · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.235","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · auto · audio","rangeEnd":null,"inputMode":"i2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-4.0","specification_label":"5s · 720p · auto · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.157","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · auto · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-4.0","specification_label":"5s · 1080p · auto · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.235","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · auto · audio","rangeEnd":null,"inputMode":"r2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-4.0","specification_label":"5s · 720p · auto · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.157","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 1080p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-4.0","specification_label":"5s · 1080p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"1080p"},"price":"0.235","quantity":1},{"unit":"second","match":{"kind":"tier","label":"5s · 720p · 16:9 · audio","rangeEnd":null,"inputMode":"t2v_voice","conditions":{"references":[{"unit":"second","quantity":1,"conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-4.0","specification_label":"5s · 720p · 16:9 · audio"}}]},"rangeStart":0,"resolution":"720p"},"price":"0.157","quantity":1}],"currency":"USD","quantity":1,"checkedAt":"2026-10-31","publisher":"Kling AI"},"importedInterface":{"status":"available","protocol":"yir-standard","sourceUrl":"https://yir.ai/docs/models/klingai/kling-4-0","upstreamModel":"klingai/kling-4.0","formats":[{"exampleEditKey":"ff43b8398bf4b977570b7634f8aba387fc866960b39a2f31b76a97491d438c2b","exampleVersion":"8f69845cd5d5f1f62c6c5b53c4422acc08e60b286080a871bb227da2f9cfbefe","id":"yir:klingai/kling-4.0:text","model":"kling-4.0","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"text","displayName":"Text to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","type":"text"},"model":"kling-4.0","parameters":{"aspect_ratio":"16:9","duration":5,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":3,"max":30},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"16:9","options":["16:9","9:16","1:1","21:9"],"allowedValues":["16:9","9:16","1:1","21:9"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/klingai/kling-4-0","isDefault":true,"active":true,"sortOrder":0},{"exampleEditKey":"15962ea5945da68c23126e9daa5c7d16707cf08ac9b3a670ac407bbe9d908a13","exampleVersion":"48f9ce676fb85f706d9b485a01d169c8a2585b80e9c2d726bef17879832fca7e","id":"yir:klingai/kling-4.0:image","model":"kling-4.0","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"image","displayName":"Image to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"image"},"model":"kling-4.0","parameters":{"aspect_ratio":"auto","duration":5,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":3,"max":30},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto"],"readOnly":true,"allowedValues":["auto"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":10,"referenceUrlOnly":true,"referenceConstraints":{"max_references":10,"min_references":1,"allowed_reference_roles":["first_frame","keyframe","last_frame"],"reference_counts_by_role":{"keyframe":{"maximum":8,"minimum":0},"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/klingai/kling-4-0","isDefault":false,"active":true,"sortOrder":1},{"exampleEditKey":"0031356001164729f32c3807e3568743d3b705b4c97be094fa820ea1250b8692","exampleVersion":"5f95a252621fc7bf1b71e5213166ff36b76e54fd7d1e21fa56538fb129461493","id":"yir:klingai/kling-4.0:reference","model":"kling-4.0","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"reference","displayName":"Reference to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"reference"},"model":"kling-4.0","parameters":{"aspect_ratio":"auto","duration":5,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5,"min":3,"max":30},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto","16:9","9:16","1:1","21:9"],"allowedValues":["auto","16:9","9:16","1:1","21:9"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":1,"maxItems":15,"referenceUrlOnly":true,"referenceConstraints":{"max_references":15,"min_references":1,"subject_references":{"mixed":true,"max_subjects":7,"max_video_subjects":3,"max_audios_per_subject":1,"max_images_per_subject":4,"max_videos_per_subject":1,"min_images_per_subject":2,"max_audio_only_subjects":3},"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":0,"minimum":0},"reference_image":{"maximum":10,"minimum":0},"reference_video":{"maximum":5,"minimum":0}}}}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/klingai/kling-4-0","isDefault":false,"active":true,"sortOrder":2},{"exampleEditKey":"32a0de4c8d2fcc1bae9bfc9b39c98d216a2586128c8dd998f8ef65ec0ffbb1c1","exampleVersion":"3e425f8387b807a6e6f960282556bccff6f54b7f2de1f152d042a07c5d4a942a","id":"yir:klingai/kling-4.0:reference:subject","model":"kling-4.0","provider":"yir","endpointPath":"/v1/videos","upstreamPath":"/v1/videos/generations","queryEndpointPath":"/v1/videos/{task_id}","upstreamQueryPath":"/v1/jobs/{task_id}","requestKind":"video","inputMode":"reference","displayName":"Subject references to video","description":"Parameters are derived from this model's official contract. No live request has been made.","prompt":"A paper boat drifting down a rainy city street, slow tracking shot","systemPrompt":"","resolution":"720p","requestTemplate":{"input":{"prompt":"A paper boat drifting down a rainy city street, slow tracking shot","references":[],"type":"reference"},"model":"kling-4.0","parameters":{"aspect_ratio":"auto","duration":5,"generate_audio":true,"n":1,"resolution":"720p"},"route":{"provider":"yir"},"route_mode":"balanced"},"parameterSchema":[{"name":"prompt","label":"Prompt","type":"textarea","path":"/input/prompt","required":true,"defaultValue":"A paper boat drifting down a rainy city street, slow tracking shot","minLength":1,"maxLength":20000},{"name":"duration","label":"Duration","description":"Output video duration in seconds.","type":"number","valueType":"integer","path":"/parameters/duration","required":false,"defaultValue":5},{"name":"resolution","label":"Resolution","description":"Output resolution.","type":"select","valueType":"string","path":"/parameters/resolution","required":false,"defaultValue":"720p","options":["720p","1080p"],"allowedValues":["720p","1080p"]},{"name":"aspect_ratio","label":"Aspect ratio","description":"Output aspect ratio.","type":"select","valueType":"string","path":"/parameters/aspect_ratio","required":false,"defaultValue":"auto","options":["auto","16:9","9:16","1:1","21:9"],"allowedValues":["auto","16:9","9:16","1:1","21:9"]},{"name":"generate_audio","label":"Generate audio","description":"Generate native audio with the video.","type":"boolean","valueType":"boolean","path":"/parameters/generate_audio","required":false,"defaultValue":true,"readOnly":true,"allowedValues":[true]},{"name":"n","label":"Outputs per request","description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching.","type":"number","valueType":"integer","path":"/parameters/n","required":false,"defaultValue":1,"min":1,"max":1,"readOnly":true,"allowedValues":[1]},{"name":"references","label":"Reference media URLs (JSON)","description":"Provide a public HTTPS media URL and the role required by the model. Replace every template URL before running. Files are not uploaded automatically. Subject references need a subject name. Mention it in the prompt as @name.","type":"json","path":"/input/references","required":true,"defaultValue":[],"minItems":2,"maxItems":28,"referenceUrlOnly":true,"referenceConstraints":{"max_references":15,"min_references":1,"subject_references":{"mixed":true,"max_subjects":7,"max_video_subjects":3,"max_audios_per_subject":1,"max_images_per_subject":4,"max_videos_per_subject":1,"min_images_per_subject":2,"max_audio_only_subjects":3},"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":0,"minimum":0},"reference_image":{"maximum":10,"minimum":0},"reference_video":{"maximum":5,"minimum":0}}},"referenceSubjectRequired":true}],"responseBody":{"id":"string","urls":{"get":"string","cancel":"string"},"error":{"code":"YIR_INVALID_REQUEST","action":"fix_request","details":[{"field":"string","reason":"invalid_body","allowed":["string"],"expected":"string"}],"message":"string","retryable":true,"provider_error":{"message":"string","provider":"string"}},"model":"string","usage":{"outputs":0},"object":"job","result":{"files":[{"url":"http://example.com","width":0,"height":0,"fidelity":{"grade":"original","reason":"string"},"expires_at":1,"media_type":"string","duration_ms":1}],"warnings":["additional_results_unavailable"],"availability":"available","content_safety":{"status":"passed","checked_by":"provider"}},"status":"queued","billing":{"status":"pending","currency":"USD","max_cost":"string","gateway_fee":{"amount":"string","status":"settled"},"billing_mode":"actual","compute_charges":[{"usage":[{"unit":"string","metric":"string","quantity":"string"}],"amount":"string","status":"settled","billed_by":"yir","supply_type":"managed","amount_basis":"yir_price_rule"}],"official_comparison":{"source_url":"http://example.com","savings_amount":"string","baseline_amount":"string"},"total_charged_by_yir":"string"},"created_at":1,"parameters":{"n":1,"fps":1,"size":"string","voice":"string","quality":"string","duration":1,"resolution":"string","aspect_ratio":"string","instrumental":true,"generate_audio":true,"lyrics_optimizer":true},"cancellation":{"effect":"stop_future_attempts","status":"cancelled","requested_at":1},"completed_at":1,"final_provider":"string","parameter_notices":[{"name":"string","reason":"channel_parameter_unsupported","message":"string","disposition":"ignored"}]},"responseOrigin":"official_schema","responseContainsPlaceholders":true,"requestOrigin":"derived_from_official","sourceUrl":"https://yir.ai/docs/models/klingai/kling-4-0","isDefault":false,"active":true,"sortOrder":3}],"missing":[]},"id":"497746a1-df6b-4786-a73d-2127a1118a9b","routeId":"64509abd-b32a-483f-afa3-ffce3ff5e816","model":"kling-4.0","provider":"yir","modelSource":"platform","providerKind":"third_party","providerLogoUrl":"https://yir.ai/images/model-manufacturers/klingai.png?dpl=592c9ce8c534f153949eb3c7a6894b3bb136462c","upstreamPath":[{"type":"generations","path":"/v1/videos/generations","method":"POST","default":true,"task_kind":"text2video"},{"type":"get","path":"/v1/jobs/{task_id}","method":"GET","default":true,"task_kind":"text2video"}],"curlExample":"","bodySchema":{"type":"object","allOf":[{"anyOf":[{"$ref":"#/components/schemas/StandardVideoGenerationRequest"}]},{"anyOf":[{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["text"]}}},"model":{"const":"klingai/kling-4.0"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":30,"minimum":3,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["16:9","9:16","1:1","21:9"],"type":"string","default":"16:9","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"text":{"max_references":0,"min_references":0,"allowed_reference_roles":[]}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["image"]}}},"model":{"const":"klingai/kling-4.0"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":30,"minimum":3,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["auto"],"type":"string","default":"auto","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"image":{"max_references":10,"min_references":1,"allowed_reference_roles":["first_frame","keyframe","last_frame"],"reference_counts_by_role":{"keyframe":{"maximum":8,"minimum":0},"last_frame":{"maximum":1,"minimum":0},"first_frame":{"maximum":1,"minimum":1}}}}},{"type":"object","properties":{"input":{"type":"object","properties":{"type":{"enum":["reference"]}}},"model":{"const":"klingai/kling-4.0"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer","default":1,"description":"Number of outputs from one API request (one Job), not the application batch size. For multiple Jobs, submit separate requests; n=1 does not prevent application-managed batching."},"duration":{"type":"integer","default":5,"maximum":30,"minimum":3,"description":"Output video duration in seconds."},"resolution":{"enum":["720p","1080p"],"type":"string","default":"720p","description":"Output resolution."},"aspect_ratio":{"enum":["auto","16:9","9:16","1:1","21:9"],"type":"string","default":"auto","description":"Output aspect ratio."},"generate_audio":{"enum":[true],"type":"boolean","default":true,"description":"Generate native audio with the video."}}}},"x-yir-operation":"generate_video","x-yir-input-constraints":{"reference":{"max_references":15,"min_references":1,"subject_references":{"mixed":true,"max_subjects":7,"max_video_subjects":3,"max_audios_per_subject":1,"max_images_per_subject":4,"max_videos_per_subject":1,"min_images_per_subject":2,"max_audio_only_subjects":3},"allowed_reference_roles":["reference_image","reference_video","reference_audio"],"reference_counts_by_role":{"reference_audio":{"maximum":0,"minimum":0},"reference_image":{"maximum":10,"minimum":0},"reference_video":{"maximum":5,"minimum":0}}}}}]}],"x-note":"Combines the official common OpenAPI schema and model contract. Native input constraints are retained in x-yir-input-constraints. This does not establish gateway enforcement of every constraint; authenticated live contracts were not queried.","$schema":"https://json-schema.org/draft/2020-12/schema","x-origin":"platform_transcription_of_official_contract","x-source":{"origin":"official","sha256":"7cb0fea4475149738ca5cbf6f37b41b82fd30799871300f598039d8c808daa3a","checkedAt":"2026-10-30T06:19:58.381579+00:00","sourceUrl":"https://api.github.com/repos/yir-ai/docs/git/blobs/01f44cfcd6af136f7cce580fcb7094d98cee6348","sourceFile":"sources/model-contracts.json","authenticated":false},"components":{"schemas":{"FileID":{"type":"string","pattern":"^file_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"},"MaxCost":{"type":"string","pattern":"^[0-9]{1,13}(\\.[0-9]{1,6})?$","maxLength":20,"description":"Optional cap on the Job's total charge in USD, with up to 6 decimal places. Balance is not frozen: admission and every attempt submission check the live available balance against that route's estimate (catalog price for fixed routes, output estimate for usage-based routes). Every attempt the upstream actually billed is charged at the authoritative upstream amount after the managed discount, whether it succeeded, failed, or was followed by a fallback; attempts the upstream never billed cost nothing, and Yir absorbs its own delivery failures and outcome timeouts. A result the upstream billed that Yir rejects as `YIR_CONTENT_REJECTED` is charged the same way but not delivered. Any part the balance cannot cover becomes a negative balance that blocks new jobs until a top-up. With max_cost, routes whose estimate exceeds it are skipped, and the Job's total charge across all attempts never exceeds it; Yir absorbs any excess. If no route fits, the request is rejected with 422 `YIR_BUDGET_EXCEEDED` naming the lowest current estimate. Estimates are not locked: channel availability, routing defaults and catalog prices can change them, so a tight cap can start rejecting requests that used to pass. Leave headroom over the quote, and on `YIR_BUDGET_EXCEEDED` quote again before deciding to raise the cap. Historical jobs retain their recorded billing terms."},"InputURL":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048,"description":"Public HTTPS URL of a reference image, video or audio file. Yir downloads it once at submission (up to 100 MiB, 3 redirects, private and reserved addresses refused), detects the type from the file contents, and stores it as an input file so every attempt and fallback reads the same bytes. Data URLs are not accepted. A URL that cannot be imported returns YIR_INVALID_REQUEST naming the reference; retryable is true only for remote timeouts, connection failures, HTTP 429 and 5xx. Quote does not download URLs, so prices that depend on input media are only estimated; upload through the Files API for larger files or exact media-dependent quotes."},"RoutingOverride":{"type":"object","properties":{"only":{"type":"array","items":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"maxItems":16,"minItems":1,"uniqueItems":true},"fallback":{"type":"boolean"},"fidelity":{"enum":["original","genuine","any"],"type":"string","description":"Lowest acceptable fidelity of the delivered file, judged from the vendor's C2PA content signature. original: only routes verified as untouched vendor API output, plus the official channel. genuine (the default): excludes routes known to upscale or otherwise alter the output. any: no restriction, cheapest. Overrides the routing profile default. When every route is excluded the request fails with YIR_FIDELITY_EXCLUDED; quotes report the specification as unavailable."},"variants":{"type":"object","description":"Provider-to-channel-variant selection. Providers omitted from this map consider all eligible variants; explicitly select standard to restrict a provider to its standard variant. Keys must belong to only when only is supplied ('official' alias is resolved before whitelist validation). Explicitly selected unknown or unavailable variants never fall back to another variant of the same provider.","maxProperties":16,"minProperties":1,"propertyNames":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1},"additionalProperties":{"type":"string","pattern":"^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$","maxLength":50,"minLength":1}},"accelerate":{"type":"boolean","description":"Route acceleration, on by default; overrides the routing profile default. When an image attempt stays unresolved upstream well past that channel's usual completion time (about twice its recent p99, at least 5 minutes) and another eligible route remains within only, max_cost and the three-attempt limit, Yir cuts the attempt off and retries on the next route. The cut-off attempt never supplies the result; if its upstream bills it anyway, that actual cost is charged like any other upstream-billed attempt and counts toward max_cost. Requires fallback. Only image jobs are accelerated; video jobs are not, because a cut-off video attempt can still be billed. Set false to always wait for the first channel."},"preference":{"enum":["cost","speed"],"type":"string","description":"Overrides the routing profile default for route ordering. cost (the default) orders routes by estimated price, lowest first. speed orders routes by observed upstream median latency for the same model and specification, fastest first; routes with fewer than 10 recent samples follow, ordered by estimated price. max_cost, only and fallback apply unchanged."}},"description":"Request-scoped routing intent. only is an unordered Provider allowlist; selection and fallback stay within this set and within any channel restrictions on the API Key's routing profile. 'official' is accepted as an alias for the model's official provider channel in both only and variants (normalized before execution). A single item supports targeted testing. Custom order is not supported. preference and fallback remain optional.","additionalProperties":false},"ActualBillingMode":{"type":"string","const":"actual","deprecated":true,"description":"Legacy compatibility field. Omit for new requests. When retrying an existing idempotency key, preserve its original request including this field. Explicit consent to the authoritative actual cost of every upstream-billed attempt of the Job, without a max_cost cap. Eligible channels must provide authoritative task-level charges. Automatic routing is supported; routing.only is optional and, when supplied, remains binding. Cannot be combined with max_cost. Insufficient wallet funds become Job debt repaid by future manual recharge; outstanding debt blocks new Jobs. Every attempt the upstream actually billed is charged to the user, including failed and non-winning ones; attempts the upstream did not bill, and Yir's own delivery failures or outcome timeouts, are not charged. Omit for the default contract: balance is not frozen, each attempt checks the live balance against its route estimate, each upstream-billed attempt is charged at the authoritative upstream amount after the managed discount, and an explicit max_cost caps the Job's total charge."},"StandardVideoTextInput":{"type":"object","required":["type","prompt"],"properties":{"type":{"type":"string","const":"text"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1}},"additionalProperties":false},"StandardVideoImageInput":{"type":"object","required":["type","references"],"properties":{"type":{"type":"string","const":"image"},"prompt":{"type":"string","maxLength":20000,"description":"Text may be omitted or blank only when the model input contract declares prompt_optional and the selected channel supports it. Text-only generation still requires a prompt. No text is synthesized."},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["first_frame","keyframe","last_frame"],"type":"string","description":"keyframe is a middle frame between first_frame and last_frame. Keyframes play in the order they appear in references and carry no timestamp; models that accept them declare the role and its count in their input contract."},"file_id":{"$ref":"#/components/schemas/FileID"}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoReferenceInput":{"type":"object","required":["type","prompt","references"],"properties":{"type":{"type":"string","const":"reference"},"prompt":{"type":"string","pattern":"\\S","maxLength":20000,"minLength":1},"references":{"type":"array","items":{"type":"object","oneOf":[{"required":["file_id"]},{"required":["url"]}],"required":["role"],"properties":{"url":{"$ref":"#/components/schemas/InputURL"},"role":{"enum":["reference_image","reference_video","reference_audio"],"type":"string"},"file_id":{"$ref":"#/components/schemas/FileID"},"subject":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$","description":"Groups references into one named subject for models whose input constraint declares subject_references. Reference it in the prompt as @\u003csubject\u003e. Same-named reference_image photos form a character; where max_videos_per_subject is set, a same-named reference_video forms a video character instead of photos; where max_audios_per_subject is set, a reference_audio with the same name is that character's voice, and a name with only reference_audio is a standalone voice. Unless subject_references.mixed is true, every reference must then be a reference_image with a subject."}},"additionalProperties":false},"minItems":1,"description":"Ordered references. Model contracts determine counts and required roles."}},"additionalProperties":false},"StandardVideoGenerationRequest":{"type":"object","required":["model","input","parameters"],"properties":{"input":{"oneOf":[{"$ref":"#/components/schemas/StandardVideoTextInput"},{"$ref":"#/components/schemas/StandardVideoImageInput"},{"$ref":"#/components/schemas/StandardVideoReferenceInput"}]},"model":{"type":"string","minLength":1,"description":"Model ID or alias listed by GET /v1/models. An unknown or retired model returns 400 YIR_INVALID_REQUEST with retryable false; for a retired model the message names its replacement."},"routing":{"$ref":"#/components/schemas/RoutingOverride"},"max_cost":{"$ref":"#/components/schemas/MaxCost"},"parameters":{"type":"object","properties":{"n":{"enum":[1],"type":"integer"},"fps":{"type":"integer","minimum":1,"description":"Optional native output frame rate. Only models and channels explicitly declaring this frame rate are eligible; unsupported values are rejected without interpolation or transcoding. Omit to preserve existing behavior."},"size":{"type":"string","pattern":"^[1-9][0-9]*x[1-9][0-9]*$","description":"Optional exact output pixels (WIDTHxHEIGHT), only for models and channels that explicitly support the requested size. Omitted resolution and aspect_ratio are resolved from the declared size; explicit conflicting values are rejected. No approximate resizing or tier substitution. Omit to preserve the existing model defaults."},"duration":{"oneOf":[{"type":"integer","minimum":1},{"enum":["auto"],"type":"string"}],"description":"Output length in seconds, or auto when the model contract supports reference-video edits. Quote does not download URLs: unknown duration leaves amounts unavailable. Submit imports and measures URLs before admission."},"resolution":{"type":"string","minLength":1},"aspect_ratio":{"type":"string","minLength":1},"generate_audio":{"type":"boolean"}},"description":"Generation parameters. The model contract (GET /v1/models?include=parameters) lists each model's parameters, allowed values and defaults; this schema documents only the common ones. Omitted parameters take the model's published default. Parameters the model contract does not list are rejected.","additionalProperties":true},"webhook_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":1000},"billing_mode":{"$ref":"#/components/schemas/ActualBillingMode"}},"description":"Portable video request shape. Each model, input mode and parameter combination is validated against the model contract, and the request is rejected when no route can run it.","additionalProperties":false}}}},"matchRules":{},"isLowestPrice":true,"isDefaultRoute":false,"routes":1,"prompt":142500,"completion":0,"imageCompletion":0,"partnerPriceMultiplierBps":10000,"partnerPrompt":142500,"partnerCompletion":0,"promptSource":142500,"completionSource":0,"imageCompletionSource":0,"currency":"USD","active":true,"sortOrder":0,"billingType":"duration","billingUnit":"second","modalities":["video"],"outModalities":["video"],"description":"Use the Kling 4.0 API for AI video generation. Generate clips from text or use an image or reference on supported routes. The catalog lists native audio. Turn a creative brief or still image into motion tests and draft shots. Compare the available provider routes, request examples, and usage prices on OpenAny.","descriptionTranslations":{"ar":"استخدم Kling 4.0 API لتوليد الفيديو AI. إنشاء مقاطع فيديو من النص أو استخدام صورة أو مرجع على الطرق المدعومة. تحويل صورة قصيرة أو لا تزال إبداعية إلى اختبارات الحركة وتصميم الصور. اطّلع على مسارات المزودين المتاحة وأمثلة طلبات النموذج وأسعار الاستخدام على OpenAny.","ja":"人工知能映像生成にKling 4.0 APIを利用します。テキストからクリップを生成したり、サポートされているルートで画像や参照を使用する。カタログはネイティブオーディオをリストします。クリエイティブな簡略化や静止画をモーションテストや撮影のドラフトに変える。 OpenAny の詳細ページで、提供経路、モデルのリクエスト例、従量料金を確認できます。","zh":"使用Kling 4.0 API用于AI视频生成。生成文本的剪辑， 或在支持的路由中使用图像或引用。目录列出本地音频。将创作短片或静态图像变成运动测试和镜头草稿。可用输出制作短视频素材、分镜预览和宣传片段，便于在正式制作前对比镜头和画面风格。详情页可查看可用服务商路线、模型调用示例和用量价格，便于对照各路线的请求格式并选择适合当前项目的接入方式。"},"supportedFeatures":[],"pricingTiers":[{"actualCompletion":0,"actualPrompt":212500,"catalogReferences":[{"unit":"second","amount":"0.2125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-4.0","specification_label":"5s · 1080p · auto · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 1080p · auto · audio","partnerCompletion":0,"partnerPrompt":212500,"prompt":212500,"rangeStart":0,"resolution":"1080p","yirPricingMapping":{"status":"partial","reviews":[{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":0},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":1},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":2},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":3},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":4},{"reason":"PARAMETERS_UNMAPPED","parameters":["aspect_ratio","duration"],"priceIndex":5}],"sourcePricing":{"mode":"reference","prices":[{"unit":"second","amount":"0.2125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-4.0","specification_label":"5s · 1080p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.1425","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-4.0","specification_label":"5s · 720p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.2125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-4.0","specification_label":"5s · 1080p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.1425","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-4.0","specification_label":"5s · 720p · auto · audio"},"approximate":false},{"unit":"second","amount":"0.2125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-4.0","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false},{"unit":"second","amount":"0.1425","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-4.0","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"status":"parameter_dependent"}}},{"actualCompletion":0,"actualPrompt":142500,"catalogReferences":[{"unit":"second","amount":"0.1425","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"image","request_model_id":"klingai/kling-4.0","specification_label":"5s · 720p · auto · audio"},"approximate":false}],"completion":0,"inputMode":"i2v_voice","label":"5s · 720p · auto · audio","partnerCompletion":0,"partnerPrompt":142500,"prompt":142500,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":212500,"catalogReferences":[{"unit":"second","amount":"0.2125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-4.0","specification_label":"5s · 1080p · auto · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"5s · 1080p · auto · audio","partnerCompletion":0,"partnerPrompt":212500,"prompt":212500,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":142500,"catalogReferences":[{"unit":"second","amount":"0.1425","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"auto"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"reference","request_model_id":"klingai/kling-4.0","specification_label":"5s · 720p · auto · audio"},"approximate":false}],"completion":0,"inputMode":"r2v_voice","label":"5s · 720p · auto · audio","partnerCompletion":0,"partnerPrompt":142500,"prompt":142500,"rangeStart":0,"resolution":"720p"},{"actualCompletion":0,"actualPrompt":212500,"catalogReferences":[{"unit":"second","amount":"0.2125","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"1080p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-4.0","specification_label":"5s · 1080p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 1080p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":212500,"prompt":212500,"rangeStart":0,"resolution":"1080p"},{"actualCompletion":0,"actualPrompt":142500,"catalogReferences":[{"unit":"second","amount":"0.1425","origin":"official","currency":"USD","quantity":1,"checkedAt":"2026-10-30T07:30:35.683367+00:00","sourceUrl":"https://yir.ai/zh/models","conditions":{"operation":"generate_video","dimensions":[{"name":"duration","value":"5"},{"name":"resolution","value":"720p"},{"name":"aspect_ratio","value":"16:9"},{"name":"generate_audio","value":"true"},{"name":"n","value":"1"}],"input_mode":"text","request_model_id":"klingai/kling-4.0","specification_label":"5s · 720p · 16:9 · audio"},"approximate":false}],"completion":0,"inputMode":"t2v_voice","label":"5s · 720p · 16:9 · audio","partnerCompletion":0,"partnerPrompt":142500,"prompt":142500,"rangeStart":0,"resolution":"720p"}],"timePricingRules":[],"latency":207,"routeStatus":"active","operations":[],"operationRegistry":{"model":"kling-4.0","operations":[],"availableModes":[]},"createdAt":"2026-10-31T09:29:29Z","updatedAt":"2026-11-09T06:29:50Z"}]}