HiAPI
博客

使用指南

hiapi 图像与视频生成 API:完整平台指南

hiapi 究竟提供什么——目录中的每一个图像和视频模型、按任务计费的统一定价模式、统一的 /v1/tasks 端点,以及一段可直接复制的 Python 快速上手代码。

2026年11月3日
hiapi 图像与视频生成 API:完整平台指南

速览

hiapi 是一个图像与视频生成 API 网关,在一个 HTTP 契约下接入了十多个生产级模型。如果你曾经为了上线一个功能而对接过三套不同的生成式 SDK,那这个页面正是你要找的。快速总结:

  • 一个端点,多个模型。 所有能力——文生图、图生图、文生视频、图生视频——都通过异步的 POST /v1/tasks 端点运行。你改的是 model 字段,而不是 SDK。
  • 当前目录中的图像模型: nano-banana、nano-banana-2、nano-banana-pro、flux-1.1-pro、gpt-image-2(外加 -beta 和 -pro 变体)、gpt-image-2/image-to-image(外加 -pro)、qwen-image-2.0。
  • 当前目录中的视频模型: wan2.7-video/text-to-video、wan2.7-video/image-to-video、seedance-2.0、happyhorse-1.0。分辨率从 480p 到 1080p。
  • 按完成的任务计费,而不是按 token。 $0.02 可以生成一张 gpt-image-2/text-to-image@beta 渲染图;$0.05 可以生成一张统一定价的 Nano-Banana 或 FLUX 1.1 Pro 图像;$0.729 每秒可以生成 1080p 的 Seedance 视频素材。
  • 没有质量档位的轮盘赌。 定价实时发布在 /api/pricing,并带有哈希版本,因此你的计费代码可以锁定到已知版本,一旦上游变化就会显式报错。

这是品牌搜索结果页——一次关于平台究竟是什么、面向谁、成本多少的完整介绍。本文中的四张图片由四个不同的 hiapi 托管模型渲染,这样你可以看到最终产出是什么样的。

hiapi 是什么

hiapi 是一个托管网关。你将一个使用 Bearer token 认证的 HTTP 客户端指向 api.hiapi.ai,发送一个异步任务,然后收到一个 CDN URL,其中包含渲染好的图像或视频。在这个单一契约背后,坐着多个模型提供商——Black Forest Labs 的 FLUX 系列、基于 Google Gemini 图像模型构建的 Nano-Banana 产品线、OpenAI 的 gpt-image-2 系列、阿里巴巴的 Qwen-Image 和 Wan2.7 视频模型、字节跳动的 Seedance 视频模型,以及 HappyHorse。

那么,hiapi 卖的不是“一个模型”——它卖的是“一种集成形态”。如果你有一个内部应用需要生成营销视觉素材、产品样机或短营销视频,你可以通过改变一个字符串来 A/B 测试两个完全不同的模型,而其余的工作代码保持不变。

hiapi 卖的另一件显而易见的东西是在一个地方计费。一张发票、一个余额、一个速率限制——而不是三个。

图像模型

以下是撰写本文时的完整图像目录,实时拉取自 /api/pricing:

模型 类别 最低档价格 备注
nano-banana 文生图 $0.05 统一价 快速迭代;仅支持宽高比,无分辨率倍数
nano-banana-2 文生图 $0.057(2K)— $0.036(1K)— $0.086(4K) 4K 输出;精确文本渲染
nano-banana-pro 文生图 $0.057(1K/2K)— $0.10(4K) Banana 系列中质量最高
flux-1.1-pro 文生图 $0.05 统一价 照片级人像、短字符串文本渲染
gpt-image-2 文生图 $0.03(1K)— $0.04(2K)— $0.06(4K) 日常主力
gpt-image-2/text-to-image@beta 文生图 $0.02 低成本草稿
gpt-image-2.5-flare@pro 文生图 $0.0172(低)— $0.7143(最高),按质量等级定价 高保真主视觉图
gpt-image-2/image-to-image 图生图 $0.03 → $0.06 与 t2i 变体价格相同
qwen-image-2.0 文生图 $0.0422 统一价 强大的中日韩文本渲染,DashScope 风格的请求结构

表格没有体现的几点说明:

定价类别是按调用统一收费,而不是按 token。 你为一张完成的图像支付一次费用。提示词长度无关紧要。这让批处理任务可预测:10,000 次 gpt-image-2 调用就是 $300,没有附加条件。

nano-banana 和 flux-1.1-pro 在所有宽高比下都是统一价。 没有 16:9 附加费,没有竖屏折扣——无论是方形头像还是 21:9 电影静帧,你付的都是同样的 $0.05。

接受 resolution 参数的模型使用你在实时定价中看到的 image_quality_price_ratio。 不要在计费代码中硬编码价格——读取策略块。

Schema 是按模型区分的,不是统一的。 大多数图像模型接受 input.prompt 加上 input.aspect_ratio。qwen-image-2.0 是 DashScope 风格的模型——它的输入放在 input.input.messages[].content[].text 下,尺寸以字面像素字符串形式传递,如 1328*1328。我们在自己的生产代码中遇到过这个问题;第一天就构建一个模型→载荷适配器。

“FLUX 1.1 Pro”从 hiapi 出来的效果

这张人像由 flux-1.1-pro 以 3:2 宽高比生成,统一价 $0.05。没有修图,没有放大。

FLUX 1.1 Pro 是平台上的照片级默认选择。面部、皮肤纹理、柔和方向光和图像上的短文本,是它持续优于更便宜档位的地方。

qwen-image-2.0 在 hiapi 上的效果

这是 qwen-image-2.0,当前估计价格为 $0.0422——高于 1K 的 GPT Image 2($0.03)。四个汉字“陆羽茶馆”在提示词中指定,并正确渲染,笔画顺序正确。这正是 Qwen-Image 物有所值的那类图像。

如果你的用例是中日韩市场的产品卡片或社交帖子,就原始字形准确性而言,$0.0422 这一档很难被超越。

gpt-image-2 在排版密集型海报上的效果

这张海报出自 1K 的 gpt-image-2(3:4 宽高比,$0.03)。一次往返,没有修图。标题和副标题都完全按指定渲染。

如果你在为营销团队构建生成式工具——活动海报、社交卡片、横幅广告——gpt-image-2 是默认起点。它能可靠地容纳 4–6 个单词的标题,并遵循提示词中的基本布局方向。

视频模型

视频是目录中较新的一半。撰写本文时:

模型 类别 最低档价格 最高档价格
wan2.7-video/text-to-video 文生视频 $0.10(720P) $0.167(1080P)
wan2.7-video/image-to-video 图生视频 $0.10(720P) $0.167(1080P)
seedance-2.0 文生视频 $0.136(480p) $0.729(1080p)
happyhorse-1.0 文生视频 $0.168(720p) $0.288(1080p)

两点实用说明:

Wan2.7 是性价比高的选择,适合短产品循环和图像条件动画。720P 每秒 $0.10,是平台上较低成本的视频选项之一。

Seedance 1080p 是高级档——从 $0.136 跳到 $0.729 反映的是算力,不是加价。如果你在构建真正的产品视频流水线而不是个人使用演示,你会希望把 Seedance 的预算留给主视觉镜头,其余都交给 Wan2.7。

所有四个视频模型都通过同一个 POST /v1/tasks 端点提供,使用 output_type: video——与图像任务相同的先轮询后下载模式。

定价模式

有几个细节大多数团队第一次都会遇到:

按调用统一收费,可选分辨率倍数。 图像或视频任务没有 token 计费。一次 gpt-image-2 调用是 $0.03——无论你的提示词是 8 个词还是 800 个词。当模型提供多种分辨率时,加价已内置在实时定价响应的 policies 数组中,4K 图像输出最高约为基价的 2 倍,1080p 视频约为 5.4 倍。

定价有版本。 /api/pricing 中的每个模型都带有一个 pricing_version 哈希。如果你上线一个生成 worker,在配置中锁定模型的定价版本,并在不匹配时告警——这样你会在下一个计费周期之前发现模型被重新定价,而不是之后。

没有按区域定价,没有峰时加价。 同一个模型无论你从哪个区域调用、何时调用,价格都相同。这里没有什么聪明的东西可优化。

你总是重新拉取。 不要在业务逻辑中硬编码价格。/api/pricing 端点是事实来源——与公开目录形状相同,无需认证。我们在撰写本文时重新拉取了它,表格中的价格就来自那里。

端点架构

平台上的所有东西——图像或视频、文生 X 或 X 生 X——都通过一个异步任务契约运行:

POST /v1/tasks
GET  /v1/tasks/{taskId}

流程:

  1. 用 { "model": "...", "input": { ... } } 调用 POST /v1/tasks。你会立即得到一个 taskId。
  2. 每隔几秒轮询 GET /v1/tasks/{taskId}。观察 data.status——它会从 pending 变为 success(或 fail 并带有错误块)。
  3. 在 success 时,读取 data.output[0].url。那是一个 hiapi CDN URL,带有有限的 expireAt 时间戳。如果你需要保留该资源,请下载并重新托管它。

旧的 /v1/chat/completions 和 /v1/images/generations 形状不再提供图像生成服务。如果你的代码仍在调用它们,需要迁移到 /v1/tasks。

这是那种你后来会感激的决定。任务模式为你提供了自然的重试、无需照看的长时 HTTP 连接,以及图像和视频统一的形状。你可以在 1 秒内扇出 200 个任务提交,并批量轮询它们。

Python 快速上手(可直接运行)

最小客户端,无 SDK 依赖。仅使用标准库:

import json, os, time, urllib.request

TOKEN = os.environ["HIAPI_API_KEY"]
BASE  = "https://api.hiapi.ai"

def submit(model: str, input_payload: dict) -> str:
    body = json.dumps({"model": model, "input": input_payload}).encode()
    req = urllib.request.Request(
        f"{BASE}/v1/tasks",
        data=body,
        headers={
            "Authorization": f"Bearer {TOKEN}",
            "Content-Type":  "application/json",
        },
    )
    with urllib.request.urlopen(req, timeout=60) as r:
        data = json.loads(r.read())
    if data.get("code") != 200:
        raise RuntimeError(f"submit failed: {data}")
    return data["data"]["taskId"]

def wait_for(task_id: str, timeout_s: int = 240) -> str:
    deadline = time.time() + timeout_s
    while time.time() < deadline:
        time.sleep(5)
        req = urllib.request.Request(
            f"{BASE}/v1/tasks/{task_id}",
            headers={"Authorization": f"Bearer {TOKEN}"},
        )
        with urllib.request.urlopen(req, timeout=30) as r:
            data = json.loads(r.read())
        task = data.get("data") or {}
        if task.get("status") == "success":
            return task["output"][0]["url"]
        if task.get("status") == "fail":
            raise RuntimeError(f"task failed: {task.get('error')}")
    raise TimeoutError(f"{task_id} did not finish in {timeout_s}s")

# Image — nano-banana flat $0.05
task_id = submit("nano-banana", {"prompt": "a quiet bookshop at dusk", "aspect_ratio": "3:2"})
print(wait_for(task_id))

# Image — flux-1.1-pro flat $0.05
task_id = submit("flux-1.1-pro", {"prompt": "studio portrait, 50mm lens", "aspect_ratio": "1:1"})
print(wait_for(task_id))

# Video — wan2.7-video/text-to-video at 720P, $0.10 per second
task_id = submit("wan2.7-video/text-to-video", {"prompt": "a koi pond at dawn, gentle ripples", "resolution": "720P"})
print(wait_for(task_id, timeout_s=600))

在这段代码生产就绪之前,需要内置几件事:

  • 将 submit 和 wait_for 包装在带指数退避的重试中。网络抖动总会发生。
  • 使用至少 5 秒的 poll_interval。轮询比这更密集是浪费工作——图像任务在 10–60 秒内完成,视频任务在 60–180 秒内完成。
  • 将输出 URL 视为临时资源。CDN URL 有 expireAt;如果资源在请求之后还有任何生命周期,请下载字节并存储到你自己的存储桶中。
  • 锁定一个模型适配器映射。qwen-image-2.0 和少数视频模型的输入形状与默认的图像宽高比不同——把这份知识集中在一个地方。

hiapi 适合谁

大致来说,hiapi 适合三类团队:

厌倦了为每个模型集成一个 SDK 的团队。 如果你曾经为 OpenAI 图像维护一个适配器、为 Black Forest Labs FLUX 维护一个、为阿里巴巴的 DashScope 维护一个,你就感受过 N 个不同 SDK 带来的生产力税。hiapi 将其简化为一个客户端。

需要可预测定价的团队。 按调用统一的形状让你可以构建一个生成 worker,查看上个月的任务数,并预测下个月的账单。对于任何按 token 收费的模型来说,这都很难做到。

想要图像和视频一站式服务的团队。 一旦你的产品横跨两者——比如一个营销工具,从一份简报生成封面图和一个 10 秒循环——将两者放在一个端点和一个余额后面,其价值超过直接对接所节省的每张图像成本。

如果你是一个运行个人 Discord 机器人的爱好者,直接使用上游 API 没问题。一旦你在发布有真实用户的真实产品,集成的算术就倾向于网关。

常见问题

有免费额度吗? 新账户有一小笔启动额度,这样你可以在不承诺的情况下测试端点。用完之后,你充值余额并按完成的任务付费。

支持哪些宽高比? 常见比例——1:1、3:2、2:3、4:3、3:4、5:4、4:5、16:9、9:16 和 21:9——在大多数图像模型上都可用。qwen-image-2.0 则使用固定的字面像素尺寸列表;参见上面的模型 schema 说明。

资源有水印吗? 没有。输出是干净的图像/视频文件,没有 hiapi 品牌标识。

速率限制呢? 异步任务模式意味着你可以非常快速地提交大量工作。有按账户的限制以保持平台稳定;如果你需要更高的上限,请在发布高峰之前提出——在周二提高上限比在发布期间容易得多。

在哪里查看当前价格? https://www.hiapi.ai/api/pricing。最多缓存一小时,并锁定每个模型的 pricing_version,这样当有变化时你会注意到。

输出可以商用吗? 平台上的大多数模型在上游带有商业使用许可——Nano-Banana 系列、FLUX 1.1 Pro 和 Qwen-Image 都明确如此——但请在你的实时定价响应中验证你所使用模型的许可标签(tags 字段),因为少数专业模型的条款更严格。

从哪里开始

如果你要从零开始尝试:

  1. 从你的 hiapi 仪表板获取一个 API 密钥。
  2. 调用一次 /api/pricing 查看当前模型目录和价格。
  3. 复制上面的 Python 片段,针对 nano-banana 或 gpt-image-2/text-to-image@beta 运行——两者都是低成本模型,适合做健全性检查。你会花几分钱获得一个可工作的端到端循环。
  4. 将该循环接入你正在构建的任何东西。视频同样的形状。图生图同样的形状。下一个加入目录的模型同样的形状。

这就是全部卖点:一个端点、一个余额、一个心智模型。本文中的四张图片——封面插图、照片级人像、中日韩书法招牌、排版海报——都是使用上面的片段渲染的,只是不同的 model 字符串和每个模型正确的 input 形状。这四张图片当前估计预算为 $0.172。

当下一个最先进的图像或视频模型登陆平台时,你的 worker 不需要新代码。你只需改一个字符串。

立即开始构建持久 AI 产物

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

阅读 API 文档