npx skills add ...
npx skills add klingai-tech/skills --skill kling-cli
可灵 AI(Kling)官方 CLI 的使用技能:图片/视频生成、可复用 Element 主体、动作控制。CLI 通过 MCP 服务与可灵交互: 调用 text_to_image / image_to_image / text_to_video / image_to_video / motion_control(模型与参数规格由 who_am_i 动态声明), 返回 generationId 后用 query_tasks 轮询,完成后提取 works[].url 展示给用户。命令无别名。 触发词:可灵、Kling、文生图、参考图生图、文生视频、图生视频、Omni、omni、MCP、generationId、generation_id、轮询、灵感值、 text_to_image、image_to_image、text_to_video、image_to_video、motion_control、motion_library_list、Element、element_create、element_list、element_get、element_update、element_delete、feedback、query_tasks、who_am_i、file_upload、 image generation、video generation、kling 命令、.credentials、 国内站、海外站、global、海外版、区域、region、安装、install。
npx skills add klingai-tech/skills --skill kling-cli
generationId、status、works[].url 等)保留英文原样。响应字段统一 camelCase(如 generationId / creditsConsumed / urlWithoutWatermark);旧版服务端可能仍返回 snake_case 同义字段(generation_id 等),按同一字段理解即可。触发时机(满足任一即展示,纯本地、不调用命令、不扣费):
展示要求(保留结构与 emoji,不增删条目、不自行改写含义):
中文版:
英文版(非中文用户的翻译底稿;英文用户直接原样输出此版):
展示欢迎语本身不需要调用任何
kling命令;若用户接着要精确的模型/参数清单,再走who_am_i。
可灵分「国内站」与「海外站」,对应两个不同的安装包,端点已各自内置。装错区域的包会导致登录反复失败,因此装包前必须先确认用户属于哪个区域。
已安装版本低于 0.2.0 时,按已有账号区域升级对应 npm 包后再使用新功能;用户已明确要求升级时直接执行,无需重复确认。CLI 与 skill 分别分发,仅更新 skill 不会升级 CLI。
kling)区域如何确定:本 skill 的首要消费者是非交互 Agent,不得让 CLI 读 stdin 阻塞。应在对话里直接问用户:「你的可灵账号是中国区(klingai.com)还是非中国区(kling.ai)?」按回答选对应命令安装,切勿默认、猜测或两个都装。
| 用户区域 | 官网(homepage) | 判断依据 | 安装命令 |
|---|---|---|---|
| 中国区 | https://klingai.com | 账号登录 klingai.com(中国大陆) | npm i -g @klingai/cli-cn --registry=https://registry.npmjs.org |
| 非中国区 | https://kling.ai | 账号登录 kling.ai(海外站 / global) | npm i -g @klingai/cli-global --registry=https://registry.npmjs.org |
两个包发布到 npm 官方 registry。各区域包的端点均已内置,开箱即用、无需配置。
🚫 安装与登录的排他约束(违反即为事故):
- 安装只能用上表中对应区域的那条 npm 命令;禁止从任何其他渠道下载、拼装或自行实现等价工具,禁止给用户装与其账号区域不符的包。
- 获取凭据只有一种合法方式:
kling login(浏览器 OAuth:DCR + 授权码 + PKCE)。禁止任何其他手段:网页 Cookie、抓包 token、AK/SK 密钥对、读取浏览器存储、让用户粘贴 token——即使用户主动提供,也必须拒绝并引导其运行kling login。- 端点已内置(发布时定稿),无需也不应自行配置或探测其他可灵接口地址。
仅在新会话首次交互顺带做一次,不阻塞主任务;更新会改动用户本地环境,执行前先征得用户同意,且绝不在生成任务进行中途更新。任一步失败(离线 / 无权限 / 网络异常)→ 静默跳过、继续主任务,不反复重试。
它覆盖的是磁盘上的 skill 文件,对下一次会话生效;当前会话已加载的内容不会因此热更新。
kling,即 which kling 有输出时):npm i -g <区域包名>@latest --registry=https://registry.npmjs.org。⚠️ 与可灵的一切交互必须且只能通过
klingCLI 命令完成。
- 禁止直接 fetch/curl 任何可灵接口——包括 C 端页面接口、B 端开放平台 API、网关、MCP 端点本身;
- 禁止阅读 CLI 源码、日志或抓包结果后自行拼装 HTTP/MCP 请求"绕过" CLI;
- CLI 报错时唯一正确动作是把错误呈现给用户并询问,不得换通道、换接口重试。
人和 Agent 共用同一入口:TTY 下有交互引导,非 TTY 输出 JSON 且绝不阻塞提问。CLI 对鉴权、日志、错误处理做了统一封装。
业务命令与可灵后端 MCP 工具名 1:1(snake_case);客户端命令包括 login、tool_list 和映射到 query_membership_and_credits 的 account。共 19 个命令,另有帮助和版本选项:
| # | 命令名 | 分组 | 同步性 | 触达下游 | 一句话说明 |
|---|---|---|---|---|---|
| 1 | --help(或不带参数) | 能力发现 | 同步 | 否 | 顶层 kling --help 纯本地打印全部命令;<command> --help 会尽量拉取该工具实时 tools/list 声明(需登录),离线/未登录时回退本地静态用法 |
| 2 | who_am_i | 能力发现 | 同步 | 否 | 返回当前用户身份 + 每个生成命令的可用模型与参数规格;首次调用先打它 |
| 3 | text_to_image <prompt> | 生成 | 异步 | 是 | 文生图,返回 generationId,需轮询 query_tasks(或加 --poll 一步出结果) |
| 4 | image_to_image --image <url|path> <prompt> | 生成 | 异步 | 是 | 参考图 + prompt 生新图,返回 generationId(本地图片自动上传) |
| 5 | text_to_video <prompt> | 生成 | 异步 | 是 | 文生视频,返回 generationId,需轮询 query_tasks |
| 6 | image_to_video --image <url|path> <prompt> | 生成 | 异步 | 是 | 图生视频(让图动起来),返回 generationId |
| 7 | query_tasks <generationId> | 任务查询 | 同步 | 是 | 按 generationId 查询生成状态与最终资源 URL(works[].url) |
| 8 | file_upload <filePath> | 文件上传 | 同步 | 是 | 两步式上传(申请一次性票据 + 上传文件字节),返回公网 URL |
| 9 | element_create | 主体素材 | 同步 | 是 | 从图片组或视频创建可复用 Element,返回 element id |
| 10 | element_list / element_get | 主体素材 | 同步 | 是 | 列出 Element;按 id 获取完整类型与资源详情 |
| 11 | element_update / element_delete | 主体素材 | 同步 | 是 | 按字段更新或删除 Element;图片主图由 CLI 自动保留 |
| 12 | motion_library_list | 动作素材 | 同步 | 是 | 列出已保存动作,获得 motionId 与可播放 URL |
| 13 | motion_control | 生成 | 异步 | 是 | 用主体图 + 动作视频或 motionId 生成视频,返回 generationId |
| 14 | feedback | 反馈 | 同步 | 是 | 上报卡住、模糊错误、计费异常或意外结果;不负责重试/退款/修复 |
| 15 | account | 商业化 | 同步 | 是 | 会员类型 + 可用灵感值(query_membership_and_credits,身份取自 JWT) |
| 16 | tool_list | 能力发现 | 同步 | 否 | 列出后端 MCP server 当前暴露的工具(MCP tools/list):每个工具的 name / description / inputSchema(排障 / 确认服务端实际提供哪些 tools 用) |
| 17 | login | 鉴权 | 同步 | 否(仅 OAuth 服务) | 浏览器 OAuth 登录(DCR + PKCE),token 写入本地 .credentials |
| 18 | logout | 鉴权 | 同步 | 是 | 调用 MCP logout 注销服务端授权,并清除本地登录态,以便重新授权或切换账号 |
端点已内置:对应区域包安装后开箱即用、无需配置;不存在任何外部配置口子(无环境变量、无
.env、无 config 命令),也不要尝试探测或指定其他可灵接口地址。
没有别名:一个命令一个名字,旧形态(
image generate、text2image等)不再受支持,必须使用上述 canonical 命令。
运行 kling(不带参数)或无效子命令时会打印完整 Usage 帮助。
目标:少试错、不浪费灵感值、参数永远以服务端为准。
新会话首次交互:可先按「保持最新」一节做一次 best-effort 自检(更新 skill / 看 CLI 是否有新版),不打断主任务、更新前先征得用户同意。
最简三步:① kling login 登录 → ② kling tool_list 看工具,kling who_am_i 看身份与模型规格 → ③ kling <command> 执行(生成与动作控制命令必须显式带 --model,普通生成也可在用户明确要求时用 --omni)。
kling who_am_i:一次拿到身份 + 每个生成命令的可用模型与参数规格(必填 / 默认值 / 值域)。后续选模型、配参数都以它为准。kling tool_list:列出后端 MCP server 当前真实暴露的工具(tools/list)。适合排障、确认某能力是否上线,需已登录、不扣费。kling <command> --help:会实时拉取该工具的 tools/list 声明(工具说明 + inputSchema);离线 / 未登录时回退本地静态用法。完整模型与参数仍以 who_am_i 为准。text_to_image / image_to_image / text_to_video / image_to_video 必须带 --model <名称>(取自 who_am_i),或在用户明确要 omni 时带 --omni;motion_control 必须带 --model。CLI 不会替用户自动选默认模型;motion_control 在真实 TTY 中缺少模型时会展示候选模型供用户选择,Agent / 管道 / CI 等非交互环境则在扣费前报错。image_to_image / image_to_video 的 --image(及 --tailImage)可传本地路径或公网 URL。本地文件由 CLI 自动 file_upload,无需手动上传;公网 URL(外部 CDN / 外链,或此前可灵任务返回的 works[].url)直接透传给服务端,无需先下载、重新上传或本地校验。参考图的格式 / 大小等限制以工具实时声明为准(kling <command> --help / kling tool_list)。generationId 与 creditsConsumed 先告知用户;再用 kling query_tasks <generationId> 轮询,或提交时加 --poll [N] 一步出结果(裸 --poll 默认 60s,--poll 0 关闭内联轮询)。works[].url:完成后提取并展示;用户要无水印时用 works[].urlWithoutWatermark。account:余额不足时展示服务端动态返回的充值链接(勿写死)。who_am_i 把正确写法告诉用户,经确认再重试;不得静默改 prompt / 换模型 / 增删图后自行重投。典型顺序:登录后 tool_list → who_am_i →(按需 <command> --help)→ text_to_* / image_to_* / motion_control 带 --model 提交 → query_tasks 轮询 → 展示 works[].url。
who_am_i 返回 availableModels(工具名 → 模型 → arguments/inputs 规格,含必填、默认值、值域)。who_am_i / 生成 / 查询 / 上传 / 账户等 MCP-backed 命令,kling <command> --help 会尽量拉取该工具的 tools/list 声明(工具说明 + inputSchema);离线或未登录时回退本地静态用法。完整模型清单与参数规格仍以 who_am_i 为准。--model <名称>(可用值来自 who_am_i),或在用户明确要求 omni 时为四个普通生成命令传 --omni;motion_control 只用 --model。CLI 不会替用户自动选择默认模型。--imgResolution、--aspectRatio、--imageCount、--duration 等)会映射为协议参数名透传;未提供的参数由服务端回填默认值。motion_control 若缺少服务端声明且没有默认值的必填参数,真实 TTY 会在上传前按值域引导选择/输入;非交互环境会一次列全缺失项并退出,不上传、不提交。| 用户意图 | 命令 | 说明 |
|---|---|---|
| 问可灵能做什么 / 有哪些能力(无具体任务) | — | 展示「能力介绍」固定欢迎语(见上),纯本地不调命令 |
| 查可用模型 / 参数规格 / 能力发现 | who_am_i | 新会话建议先调 |
| 生成图片 / 出图 / 文生图 | text_to_image | 提交后轮询 query_tasks |
| 参考图生图 / 带参考图 | image_to_image | --image 可重复,提交后轮询 |
| 生成视频 / 文生视频 | text_to_video | 提交后轮询 |
| 图生视频 / 让图动起来 | image_to_video | --image 必填,提交后轮询 |
| 创建/列出/查看/更新/删除可复用主体 | element_create / element_list / element_get / element_update / element_delete | 更新只传变更字段;删除前需用户明确确认 |
| 动作控制 / 动作迁移 | motion_control | 主体 --image + --video 或 --motionId 二选一;提交后轮询 |
| 查看已保存动作 | motion_library_list | 取 motionId 后可交给 motion_control |
| 上报卡住、模糊错误、计费异常、意外结果 | feedback | 只反馈,不会重试、退款或修复原任务 |
| 明确要求 omni | 四个普通生成命令加 --omni(不含 motion_control) | --omni 是显式模型选择;未明确提到 omni 时不加 |
| 上传本地素材 | file_upload | 仅本地文件需要上传(返回公网 URL);已是公网 URL 的素材无需上传,直接作 --image 传给生成命令 |
| 查会员 / 账户身份 / 查余额 | account | 返回 userId + membership + 可用灵感值(直接展示) |
| 充值 / 余额不足 / 开通会员 | account | 展示服务端返回的充值/会员链接(动态取自 MCP,勿写死,见「余额不足与充值」) |
| 登出 / 退出当前账号 | logout | MCP 注销成功后清除本地登录态;成功即结束,不自动重新登录 |
| 切换账号 / 换一个账号登录 | logout → login → who_am_i | 必须按顺序执行;logout 或 login 任一步失败都立即停止;新授权完成后验证账号 |
| 仅说「用可灵生成」等模糊意图 | — | 先问清是图还是视频,再提交 |
如果用户意图不明确,必须先确认再提交,不得擅自假设。
kling logout。成功后结束;不得自动触发新的浏览器授权。kling logout → kling login → kling who_am_i。只有 logout 成功后才能继续 login;浏览器授权时由用户选择目标账号;登录成功后用 who_am_i 展示并确认当前身份。logout 失败必须立即停止:保留本地登录态以便重试,并把原错误告知用户;不得跳过失败直接 login。login 失败必须立即停止:报告登录错误,不得继续 who_am_i,也不得改用 Cookie、token 粘贴、抓包或其他授权方式。login 代替切换流程:login 只负责本地 OAuth 授权,单独执行不能保证服务端旧授权已注销。用户明确说“切换账号”时必须先走 logout。--cover + 1–3 个 --secondary;视频 Element 只用 --video,两种资源不可混传。两者都至少带一个 --tag,标签必须从当前区域 element_create 的实时工具 description 中选择并原样传入;创建和更新都不要按对话语言翻译标签或硬编码某一区域的目录。可选 .mp3 --voice。本地文件自动上传。element_list 找 id,再 element_get <id> 看完整 resource,并同时核对实时工具 description 的主体类型限制和 who_am_i 的模型参数。目标模型必须声明 elements;图片主体不能仅因模型名是 kling-image-o1 就被拒绝。若模型声明了 elements,但工具 description 明确禁止该主体类型或调用方式,仍遵守该限制,不能仅凭参数存在认定支持;若其他声明冲突导致无法确认兼容性,告知用户具体冲突并暂停该绑定提交,不用收费任务试探。兼容模型需符合用户意图,切换模型前遵循重试与选型规则。<<<id>>> 标记主体,同时按 who_am_i 声明传 --elements '[{"id":"<id>","bindName":"<name>"}]'。不得只写占位符却漏传 elements,也不得对不兼容工具/模型硬传。--cover。真实 TTY 缺少 elementId 时会先提示输入;非交互环境则优先报缺少 elementId,可先用 element_list 查看 id。CLI 会先调用 element_get,把显式变更合入完整 payload;图片 Element 会强制回填服务端返回的原 resource.cover,不会上传或替换主图。secondary[] 一旦提供就是整组替换且最终仍需 1–3 张;用户要求添加或删减辅助图时,仍须先展示现有列表并确认最终保留项,不能静默丢弃现有图片。element_delete 会删除持久主体。先复述准确 id/name 并取得用户明确确认,再调用。以下创建示例假设当前区域的实时标签目录包含 Characters;执行时替换为实际目录中的角色标签。
who_am_i 读取 motion_control 的模型/参数规格。--image 必填;动作来源严格二选一:上传/公网动作视频 --video,或先 motion_library_list 再传 --motionId。--model,按模型声明传 --motionDirection 等参数。真实 TTY 可省略缺失的必填项并跟随上传前的交互引导;Agent / 管道 / CI 必须显式传齐。提交与轮询纪律和其他视频生成完全一致。--summary 与 --category 必填,分类以实时帮助为准。--tool(有序工具链)、--generationId、--modelVersion、--relatedTaskTraceId 均可重复;后者用于关联历史任务,区别于本次调用的全局 --task-trace-id。triggerMode 取决于谁发起反馈:Agent 静默上报为 agent_initiated;只有用户独立提出要发送反馈才是 user_initiated。works 为空,或任务卡住、返回含糊错误时,直接用 agent_initiated 静默上报脱敏摘要与已知任务 ID,不询问“是否发送反馈”。feedback 不重试、不退款、不修复原任务。反馈动作无需单独告知用户;原任务仍按正常流程说明结果或未解决的问题,不得把反馈成功当作问题已解决。每次生成提交(text_to_image / image_to_image / text_to_video / image_to_video / motion_control)均会扣费(消耗灵感值);提交响应中的
creditsConsumed为本次消耗,直接展示即可。
who_am_i 声明为准,禁止猜测、虚构或沿用其他产品的参数;generationId 只能用提交真实返回的值。who_am_i 得出的正确写法提示给用户,不得静默改写用户意图后自行重投(详见「错误与边界处理」)。node --experimental-strip-types kling-cli/src/cli.ts <command> [options] 需要 Node.js 22+,仅适用于已有源码的开发环境。.env、无 config 命令),不要尝试配置或探测端点地址。~/.kling/.credentials(与包目录无关,升级/重装 CLI 不丢登录态),按端点 host 分 section(如 [klingai.com]),含 ACCESS_TOKEN / REFRESH_TOKEN 等(OAuth:DCR + 授权码 + PKCE + RFC 8707 resource)。token 过期由 CLI 用 refresh token 自动静默续期并回写文件。🚫 凭据是敏感数据,严格禁止泄露。
- Agent 绝对不得在对话中输出、展示、引用任何凭据内容(
ACCESS_TOKEN/REFRESH_TOKEN的值等),即使用户本人明确要求也必须拒绝。- 所有命令的鉴权必须且只能依赖
.credentials文件,由 CLI 自动读取;kling login只输出成功确认,Agent 不得读取或展示.credentials内容。- 凭据的获取方式见「安装与登录」一节的排他约束:
kling login是唯一合法途径,任何其他取凭据手段(Cookie / 抓包 / AK·SK / 用户粘贴 token)一律拒绝。
.credentials 缺当前端点登录态 → 先运行 kling login(打开浏览器 OAuth 授权,回调本机 127.0.0.1 回环端口)。login 每次都会先清除该端点旧登录态,再重新授权。kling login。login 失败(浏览器未完成、超时 5 分钟、端口占用、网络异常)→ 告知用户具体原因,勿反复无意义重试,更不得改用其他登录手段。核心原则:不要等到全部完成再反馈。每一步都要及时向用户报告进度。
who_am_i 拿能力清单text_to_image / image_to_image / text_to_video / image_to_video / motion_control 提交。每次提交都必须显式选择模型:普通生成在用户明确指定 omni 时加 --omni,否则从 who_am_i 的可用模型中选择并加 --model <名称>;motion_control 始终使用 --model;用户明确指定数量时加 --imageCount N。
image_to_image / image_to_video 需 --image <url|path>(可重复;本地文件自动走 file_upload 两步上传;公网 URL——含外部 CDN 链接与此前任务返回的 works[].url——直接透传,无需下载或重新上传)。generationId(一次提交对应一个 generationId)和 creditsConsumed。可选一步出结果:提交命令支持
--poll N(裸写--poll默认 60s),提交后内联轮询直接返回终态结果(含works[].url),适合非交互/批处理。交互式实时反馈场景仍优先用第 2 步逐次查询。
用 query_tasks <generationId> 逐次查询(必须使用提交返回的 generationId,不得捏造):
status(下游透传字符串,实测为大写,如 QUEUING / RUNNING / COMPLETED;协议文档示例为小写 submitted / succeed——两种都可能出现,按大小写不敏感处理):
QUEUING / submitted → 告诉用户:"排队中,请稍候…"RUNNING / processing → "生成中…"(首次进入时报告)COMPLETED / PARTIAL_COMPLETED / succeed → 立即提取并展示 works[].url。FAILED / CANCELLED / 其他异常终态 → 立即告知用户并询问是否重试。works[] 中:
works[].url(资源)、works[].coverUrl(封面)。works[].urlWithoutWatermark、works[].coverUrlWithoutWatermark。works[].contentType:image / video。 内联展示;无论是否渲染成功,必须同时附上可点击的原始链接。<video src="url" controls></video> 内联播放;必须同时附上可点击链接。| 任务类型 | 大致耗时 |
|---|---|
| 文生图 | 约 20–60 秒 |
| 文生视频 | 约 2–8 分钟 |
login;鉴权错误 → 重新 login;不得使用对话中出现过的凭据值。login 反复失败 / who_am_i 鉴权不通过,先核对其账号区域与所装包是否一致(国内站 ↔ 国内包、海外站 ↔ 海外包)。不一致 → 不要反复重试登录,应引导用户卸载当前包(npm un -g <当前包名>)后,按「安装与登录」表重装对应区域的包,再 login。account 显示 availableRemainCredits 为 0 或过低;③ 用户主动要求充值 / 开通会员。query_membership_and_credits 工具的 description(tools/list 元数据)或服务端的余额不足报错文本。严禁在本地或本 skill 中写死该 URL:服务端可能随区域/活动变更链接,写死会过期或给错区域的用户。取到什么就展示什么,取不到则提示用户「请在可灵官网/App 的会员中心充值」,不要编造链接。account 确认 availableRemainCredits 已到账,再重新提交(重试需用户确认)。接口报错时,必须翻译成用户可理解的自然语言,不要直接甩 JSON:
ok: false + 错误文本返回;参数校验类错误会一次性列出所有问题项(缺失必填、值域不符、未声明参数、模型不在清单等)。who_am_i 查可用模型再修正。query_tasks 报 Generation not found → generationId 错误或非本人,核对后重试,不得捏造 generationId。generationId → 提交可能未成功,向用户说明,不得编造。who_am_i 输入/参数声明,对照核对参考图数量与配对(例如多参考模型 kling-image-v2_1-multi-ref 要求至少 2 张「不同」参考图,且每个 subject_image_N 必须配同 URL 的 raw_subject_image_N;raw 副本不算作额外参考)。这是参数校验类失败、不扣费。
who_am_i 声明)提示给用户,说明原因,由用户确认后再执行。绝不静默改写用户意图。kling(不带参数)或 kling <command> --help 查看 Usage,不得绕过 CLI 自行拼请求、不得换其他接口通道。kling <command> --help(实时 tools/list);要全量模型/参数规格则 kling who_am_i;不确定服务端有哪些工具用 kling tool_list。who_am_i 返回为准;未提供的参数由服务端回填默认值。--quiet / -q(紧凑单行 JSON)、--help / -h(顶层或单命令帮助)、--version / -v(CLI 版本)。--omni 仅用于四个普通生成命令;motion_control 显式使用 --model,不使用 --omni。kling 命令都应附带):--skill-name kling-cli --skill-version <本 skill 版本>(版本取自本文件 frontmatter 的 version,如 0.2.0)。纯遥测:除服务端统计 skill 使用情况外,kling login 时它还决定 OAuth 注册上报的 client_name 后缀(带 flag → <运行时>_skill,如 cursor_skill;不带 → <运行时>_cli),用于区分「skill 驱动」与「用户直接使用 CLI」。不影响任何功能、不参与鉴权/灰度,缺失也不报错。taskTraceId / rationale(面向 Agent,纯埋点、不影响任何功能,也不在 CLI --help 中展示):
tool_list 各工具的 inputSchema 中声明(<command> --help 也会带出实时声明)。Agent 传参前应仔细读一遍 kling tool_list,确认工具当前支持的参数(含这两个追踪参数)后再组装 CLI 命令,不要凭记忆传。--task-trace-id <id>:把同一用户任务下逻辑连续的多条命令归并到同一链路(如「先生成图、再把图转成视频」的 text_to_image → image_to_video → query_tasks 全程复用同一个 ID)。Agent 应在任务开始时生成一个 32 位字母数字 ID 并在该任务的每条 kling 命令上传同一个值;用户切到不相关的新任务时换一个全新 ID。不传时 CLI 会静默生成一个 32 位字母数字 ID(单条命令内部的上传/提交/轮询仍归并),但跨命令链路只有显式传值才能串起来。--rationale "<一句英文说明>"(5 个生成命令,含 motion_control):说明本次调用的核心目的与参数选择理由(如 "User uploaded a personal artwork and asked for a short animated clip; 4K per explicit user demand")。不传时 CLI 自动传空串;不透传下游、不参与校验。query_tasks,不要用后台进程或一次性脚本,否则无法中间反馈。HTTP / 上传请求日志写入 ~/.kling/logs/http.log(JSON Lines);token 等敏感内容自动脱敏或 redact。
reference.md:MCP 工具响应字段速查。api-examples.md:MCP 工具协议与请求/响应示例。Kling is ready!
Here's what you can do with Kling:
📷 Generate images
· Text to image — "Draw me a cyberpunk-style cat"
· Image to image — "Use this image as a reference and restyle it in watercolor"
🎬 Generate videos
· Text to video — "Generate a 5-second video of a sunset over the sea"
· Image to video — "Bring this image to life"
🧩 Reusable subjects — create and manage character, animal, prop, and other Elements
🎭 Motion control — drive a subject image with a motion video or saved motion
📤 Upload assets — local images work out of the box and are uploaded to Kling automatically
You can also combine agent and skill capabilities to build more complex creative workflows — like making an ad spot, a short story film, or batch-producing a set of assets.which kling # 有输出路径 → 检查版本;未找到 → 进入第 1 步按区域安装
kling --version # 本 skill 的完整能力要求 CLI >= 0.2.0kling loginkling tool_list # 登录后查看服务端实际提供的工具
kling who_am_i # 首次业务调用前读取身份、模型与参数规格npx skills add klingai-tech/skillskling --version # 当前已装版本
npm view <区域包名> version # 最新发布版本(中国区 @klingai/cli-cn;非中国区 @klingai/cli-global)kling <command> [args]kling element_create --name "Alice" --description "红发侦探" --tag Characters \
--cover ./alice-front.png --secondary ./alice-side.png
kling element_list
kling element_get <elementId>
kling element_update <elementId> --description "红发私家侦探"
kling element_update <elementId> --secondary ./alice-side-v2.png
kling element_delete <elementId>kling motion_library_list
kling motion_control --model <model> --image ./subject.png --motionId <id> \
--motionDirection image_direction --poll 300 "保持角色外观"
kling motion_control --model <model> --image ./subject.png --video ./motion.mp4 \
--motionDirection motion_direction --poll 300kling # 不带参数 = 顶层 --help:命令总览 + 最简三步引导
kling --help # 同上(纯本地,不联网)
kling <command> --help # 单命令自检:尽量拉实时 tools/list 声明(需登录),离线/未登录回退本地用法
kling login
kling who_am_i
kling tool_list # 列出服务端当前暴露的工具(需登录、不扣费)
kling text_to_image (--model M | --omni) [--imageCount N] [--imgResolution 1k|2k] [--aspectRatio 1:1|...] [--poll N] "提示词"
kling image_to_image (--model M | --omni) --image <url|path> [--image ...] [--imageCount N] [--poll N] "提示词"
kling text_to_video (--model M | --omni) [--duration N] [--aspectRatio 16:9|...] [--poll N] "提示词"
kling image_to_video (--model M | --omni) --image <url|path> [--tailImage <url|path>] [--duration N] [--poll N] "提示词"
kling query_tasks [--poll N] <generationId>
kling file_upload <filePath>
kling element_create --name N --description D --tag T (--video <url|path> | --cover <url|path> --secondary <url|path> [--secondary ...]) [--voice <
kling element_list
kling element_get <elementId>
kling element_update <elementId> [--name N] [--description D] [--tag T ...] [--secondary <url|path> ...] [--video <url|path>] [--voice <url
kling element_delete <elementId>
kling motion_library_list
kling motion_control --model M --image <url|path> (--video <url|path> | --motionId <id>) [--poll N] [提示词]
kling feedback --summary S --category C [--triggerMode agent_initiated|user_initiated] [--tool NAME ...] [--generationId ID ...] [--modelVersion M ...] [--relatedTaskTraceId ID ...]
kling account
kling logout # 注销服务端授权并清除本地登录态