HiAPI
博客

使用指南

通过 API 使用 Kling AI 短视频:kling-3.0-omni 文生视频端到端工作流

提交、轮询并下载带原生同步音频的竖屏 9:16 片段——文中嵌入的每个视频都是真实一次成片,附有其精确提示词和成本。

2026年11月3日
通过 API 使用 Kling AI 短视频:kling-3.0-omni 文生视频端到端工作流

短视频是一场数量游戏:信息流奖励每天发布的账号,而没有人能手工每天拍摄、剪辑并为一条片段做声音设计。kling-3.0-omni/text-to-video 是为数不多能在一次 API 调用中覆盖完整短视频清单的模型——竖屏 9:16 输出、电影级运动、多镜头序列和原生同步音频——因此整条流水线可以简化为“写一段提示词、轮询一个任务、下载一个可以直接发布的 .mp4”。

本指南在 hiapi API 上端到端走完整个工作流:提交异步任务、设计能在信息流滑动中留住观众的提示词、开启原生音频、扩展到多镜头叙事以及批量生成变体。下面嵌入的每个片段都是来自线上 API 的真实、未经剪辑的首次输出——为本文生成,旁边展示了精确的提示词和设置。

你将使用的工具

kling-3.0-omni/text-to-video(快手的 Kling 3.0 Omni,文生视频端点)运行在 hiapi 的异步任务接口上。计费按输出秒数计算,取决于分辨率和是否启用原生音频。以下费率来自撰写本文时的 hiapi 定价页面:

档位 每秒价格 5 秒片段 10 秒片段
720p $0.10 $0.50 $1.00
720p + 音频 $0.143 $0.72 $1.43
1080p $0.129 $0.65 $1.29
1080p + 音频 $0.193 $0.97 $1.93
4K $0.479 $2.40 $4.79

对于面向信息流的竖屏视频,720p 是诚实的选择:TikTok 和 Reels 无论如何都会重新压缩所有内容,而且这是迭代提示词最便宜的方式。把 1080p/4K 留给你还要剪进其他格式的片段。

我们在本文中实际验证的输入 schema:prompt(字符串)、duration(整数秒——我们运行了 5 秒和 10 秒)、resolution(720p / 1080p / 4K)、aspect_ratio(竖屏用 9:16)以及 sound(布尔值,默认关闭)。在你围绕它构建之前值得了解的一个行为:当你省略 sound 时,返回的 .mp4 完全没有音频轨道——不是静音轨道,而是没有轨道。如果你的下游剪辑流水线期望每个文件都带音频流,要么始终设置 sound: true,要么显式处理无轨道文件。

提交 → 轮询 → 下载:任务生命周期

一切都通过 POST /v1/tasks 进行。提交任务,立即拿回任务 ID,轮询直到完成,然后下载输出。一个 5 秒 720p 片段通常几分钟内渲染完成。

使用 curl 提交:

curl -s -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer $HIAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-3.0-omni/text-to-video",
    "input": {
      "prompt": "Vertical short-form video. A barista in a sunlit specialty coffee bar pours a perfect rosetta latte art in one smooth motion, steam rising, morning light through the window, shallow depth of field, crisp photoreal detail, subtle slow push-in.",
      "duration": 5,
      "resolution": "720p",
      "aspect_ratio": "9:16"
    }
  }'

响应会立即返回:

{"code": 200, "data": {"taskId": "tk-hiapi-01KWZYC1VKGV2CCSBK6AY9862H"}, "message": "success"}

然后轮询 GET /v1/tasks/{taskId} 直到 status 为 success(或 fail),并下载 output[0].url。下面是一个完整的 Python 辅助脚本——这就是我们生成本指南中每个片段时使用的实际模式:

import json, subprocess, time, os

API = "https://api.hiapi.ai/v1/tasks"
TOKEN = os.environ["HIAPI_API_KEY"]

def submit(input_fields: dict) -> str:
    payload = {"model": "kling-3.0-omni/text-to-video", "input": input_fields}
    out = subprocess.run(
        ["curl", "-s", "-X", "POST", API,
         "-H", f"Authorization: Bearer {TOKEN}",
         "-H", "Content-Type: application/json",
         "-d", json.dumps(payload)],
        capture_output=True, text=True, timeout=70).stdout
    return json.loads(out)["data"]["taskId"]

def wait(task_id: str, timeout_s: int = 900) -> dict:
    deadline = time.time() + timeout_s
    while time.time() < deadline:
        out = subprocess.run(
            ["curl", "-s", f"{API}/{task_id}",
             "-H", f"Authorization: Bearer {TOKEN}"],
            capture_output=True, text=True, timeout=40).stdout
        task = json.loads(out)["data"]
        if task["status"] == "success":
            return task
        if task["status"] == "fail":
            raise RuntimeError(f"task failed: {task.get('error')}")
        time.sleep(8)
    raise TimeoutError(task_id)

task_id = submit({
    "prompt": "...",
    "duration": 5,
    "resolution": "720p",
    "aspect_ratio": "9:16",
})
task = wait(task_id)
video_url = task["output"][0]["url"]
subprocess.run(["curl", "-s", "-o", "clip.mp4", video_url], timeout=120)

生产环境中一个重要的运维细节:你拿到的 output[0].url 是限时签名链接(带有过期时间)。任务成功后立即下载字节并存储到你自己的存储桶或 CDN——绝不要把原始任务 URL 保存到数据库或 CMS 中。

为 3 秒钩子设计提示词

短视频的成败取决于屏幕上第一秒的表现。对竖屏钩子持续有效的提示词模式:一个主体、一个连续的令人满足的动作、明确描述光线,以及用镜头语言表述的运镜。以下是上面 curl 示例中的精确提示词,以及它产生的片段:

Vertical short-form video. A barista in a sunlit specialty coffee bar pours a
perfect rosetta latte art in one smooth motion, steam rising, morning light
through the window, shallow depth of field, crisp photoreal detail, subtle
slow push-in.

真实输出——kling-3.0-omni/text-to-video,5 秒 @ 720p,9:16,无音频。首次成片,未经剪辑。

每个要素的作用:

  • “Vertical short-form video”(竖屏短视频)放在开头锚定了构图决策,而不仅仅是像素比例——模型会为手机屏幕构图。
  • 一个连续动作(“pours ... in one smooth motion”,即“以一个流畅动作倾倒……”)给模型一个单一的弧线去渲染,而不是引入随机剪辑。
  • “Subtle slow push-in”(细微缓慢推近)是真正的镜头指令。模糊的情绪词(“dynamic”“engaging”)会让模型即兴发挥;镜头词汇能让它保持在轨道上。
  • 光线要占一句话(“morning light through the window”,即“晨光透过窗户”)——光线是“AI 片段”和“真实片场拍摄”之间的差别。

原生音频:设置 sound: true,描述声景

Kling 3.0 Omni 的招牌功能是原生同步音频——模型会渲染与画面匹配的声轨,对于美食、ASMR 和街头内容来说,这是留存率的大部分。必须同时做到两件事:在输入中设置 "sound": true(按 +音频费率计费,720p 下为 $0.143/秒),并像描述画面一样在提示词中描述音频:

Vertical short-form video. Close-up of a street food vendor's wok at night:
diced garlic and chili hit sizzling oil with a burst of steam, flames lick up
the wok's edge as the vendor tosses noodles in rhythmic flips, neon signs
glowing bokeh in the background. Handheld feel, appetizing, high energy.
Native audio: loud sizzle, wok clangs, distant street chatter.

真实输出——kling-3.0-omni/text-to-video,5 秒 @ 720p,9:16,sound: true。打开音量:滋滋声和锅铲碰撞声都是模型生成并与颠锅动作同步的。

“Native audio:”后缀模式——用逗号分隔的两三个关键声音的简短列表——可靠地胜过“with realistic sound effects”(带有逼真音效)这类散文式描述。命名声音,模型就会将它们与匹配的视觉事件同步。

我们用 ffprobe 在实际输出上验证了计费边界:未设置 sound 提交的片段只包含一个 H.264 视频流,而 sound: true 的片段则带有额外的 AAC 音频轨道。你只需为要求音频的片段支付音频溢价。

在单个提示词中实现多镜头叙事

Omni 的另一个差异化功能是多镜头序列:你可以在一次生成中编写明确的剪辑,而不是拼接三个独立片段。在提示词中给镜头编号,并给整个序列一个共享的调色,使其看起来像剪辑而非意外:

Vertical short-form video, three-shot sequence. Shot 1: a young woman in a
yellow rain jacket steps out of a subway exit into light rain, opens a clear
umbrella. Shot 2: close-up of her boots splashing through a neon-reflecting
puddle in slow motion. Shot 3: she stops at a food cart, smiles as warm steam
drifts past, city lights bokeh behind. Cohesive teal-and-amber grade,
cinematic handheld energy. Native audio: soft rain, city ambience, distant
traffic hum.

真实输出——kling-3.0-omni/text-to-video,10 秒 @ 720p,9:16,sound: true。三个脚本化镜头,一次生成:$1.43。

大致按每个镜头三秒来预算——10 秒时长适合三拍故事。反复出现的锚点(黄色雨衣)是跨剪辑保持身份一致的关键;为每个多镜头提示词提供一个醒目的视觉常量,否则主体会在镜头之间漂移。

批量生产:一个模板,多种变体

在规模上经济性变得有趣。一周的每日帖子就是一个带可变槽位的提示词模板,并发提交——任务并行渲染,因此一批大约在一个片段的时长内完成。我们拿拿铁钩子模板并替换了主体:

Vertical short-form video. A ceramic bowl of matcha being whisked into a vivid
green froth with a bamboo whisk, in a sunlit specialty tea bar, steam rising,
morning light through the window, shallow depth of field, crisp photoreal
detail, subtle slow push-in.

真实输出——与拿铁片段相同的模板,只改了一个变量。5 秒 @ 720p,9:16:$0.50。

推近、窗光和浅景深都原样保留——这正是你想要的视觉一致的账号。在代码中,批量就是在等待之前先提交:

TEMPLATE = ("Vertical short-form video. {subject}, in a sunlit specialty {venue}, "
            "steam rising, morning light through the window, shallow depth of field, "
            "crisp photoreal detail, subtle slow push-in.")

VARIANTS = [
    {"subject": "A barista pouring a perfect rosetta latte art in one smooth motion", "venue": "coffee bar"},
    {"subject": "A ceramic bowl of matcha being whisked into a vivid green froth with a bamboo whisk", "venue": "tea bar"},
    {"subject": "A croissant being pulled apart to reveal steaming, glossy layers", "venue": "bakery"},
]

task_ids = [submit({
    "prompt": TEMPLATE.format(**v),
    "duration": 5,
    "resolution": "720p",
    "aspect_ratio": "9:16",
}) for v in VARIANTS]          # all rendering in parallel

clips = [wait(tid) for tid in task_ids]

720p 下的成本规划:一个月 30 条 5 秒静音钩子片段是 $15;同样一个月带原生音频是 $21.45。即使采用激进的时间表——每天 10 秒音频片段——也只需 $42.90/月,比视频剪辑师一小时的时间还便宜。随着结果返回轮询它们,并将某个任务的 fail 状态视为仅重试该变体,而不是整批。

本文所有内容在视频生成上共花费 $3.15:四个片段,25 秒素材,全部一次成片。

下一步

你现在已经有了完整循环:提交一个 9:16 任务、轮询它、拉取 .mp4,并用模板扩展。下一步的几个提示:

  • 在 hiapi 文档 中获取 API 密钥和完整端点参考——上面的任务生命周期对平台上每个视频模型都是相同的。
  • 在预算大批量之前,先在定价页面查看所有档位的当前每秒费率。
  • 如果你要为此用例在模型之间做选择,我们在 Short-Form Video with seedance-2.0-mini 中在一个预算模型上运行了相同的短视频工作流——可用作与 Kling 对比的价格/质量基线。

先从你自己主体的一个 $0.50 试探片段开始,保留那些经过信息流检验的提示词要素,然后在 kling-3.0-omni/text-to-video 模型页面 把模板变成批量任务。

立即开始构建持久 AI 产物

获取 API 密钥,通过一个基于任务(task)的 API 调用图像、视频和音频模型。

阅读 API 文档