HiAPI
博客

教程

Recraft Crisp Upscale API 怎么用?一个字段放大 2 倍

无提示词、单字段 image_url、$0.004 一张的保真 2 倍放大:curl/Python 示例和边界说明。

2026年10月22日 3
Recraft Crisp Upscale API 怎么用?一个字段放大 2 倍
每张
$0.004
放大倍数
2 倍
1,000 张
$4.00

TL;DR

  • Recraft Crisp Upscale(recraft/crisp-upscale)做一件事:把图片宽高各放大 2 倍,边缘和纹理更清晰,画面内容和文字原样保留。没有提示词,请求体只有一个 image_url。打开模型页上传一张图就能试,新用户注册送 200 积分。
  • 一张 $0.004:1,000 张 $4.00,$10 约出 2,500 张;输入图大小不影响价格(完整价格见价格页)。
  • 调用走 HiAPI /v1/tasks 接口:提交任务拿 taskId,再查询结果,成功后从 output[0].url 下载(JPEG,不含透明通道)。

它能做什么

  • 保真放大,不是重绘:表盘纹理、皮肤皱纹、海报小字这些细节更清楚,但内容、构图和文字一个不改——带字的物料不会被「放大成另一张图」。
  • 一个字段就能调:image_url 传公网地址(JPEG / PNG / WebP,≤10 MB),没有提示词、没有倍数选项。
  • 适合商品图、带字海报、设计素材:任何「原图已经对、只是分辨率不够」的场景。
  • 不适合的场景也明确:想要 4K 级别的重绘细节、或者想顺便改内容,应该用生成式重绘(另见用图生图模型提高分辨率的英文教程);Crisp Upscale 只把尺寸放大 2 倍,不重画内容。
  • 输出 1 张 JPEG;要透明结果的话先放大、再去背景(去背景的用法见英文版去背景教程)。

下面是真实的一对「原图 → 2 倍」:

原图 640×640 放大结果 1280×1280

recraft/crisp-upscale,640×640 → 1280×1280,$0.004。表盘扭索纹、拉丝钢壳和表盘小字在两倍尺寸下依然清楚。

打开模型页上传一张试试 →

两条上手路线

浏览器 3 步:打开模型页 → 上传图片 → 点放大,一张 $0.004。

API 3 步:POST /v1/tasks 提交 → 拿 taskId → GET /v1/tasks/<taskId> 查到 success 后下载。批量就循环这三步,每张一个任务。

curl:第一张

curl -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: your-unique-key-001" \
  -d '{
  "model": "recraft/crisp-upscale",
  "input": {
    "image_url": "https://static.hiapi.ai/gallery/2026/10/4fdfd6b43b638849.jpg"
  }
}'

整个请求体就这些——多传任何字段(比如 prompt、scale)都会直接 400。

Python:提交、轮询、下载

import time, uuid, requests

BASE = "https://api.hiapi.ai/v1/tasks"
HEADERS = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
}

payload = {
    "model": "recraft/crisp-upscale",
    "input": {
        "image_url": "https://example.com/your-image.jpg",
    },
}

resp = requests.post(
    BASE,
    headers={**HEADERS, "Idempotency-Key": str(uuid.uuid4())},
    json=payload,
    timeout=30,
)
resp.raise_for_status()
task_id = resp.json()["taskId"]

while True:
    task = requests.get(f"{BASE}/{task_id}", headers=HEADERS, timeout=30).json()
    print(task["status"])
    if task["status"] in ("success", "fail"):
        break
    time.sleep(5)

if task["status"] == "success":
    image_url = task["output"][0]["url"]   # 临时地址,尽快下载保存
    img = requests.get(image_url, timeout=60)
    with open("upscaled.jpg", "wb") as f:
        f.write(img.content)
    print("saved upscaled.jpg")

参数表

字段 必填 取值 说明
image_url 是 公网 http/https 地址 JPEG / PNG / WebP,单张 ≤10 MB

就这一个字段。放大倍数固定为宽高各 2 倍,不能选;没有提示词、没有输出格式参数。

你会遇到的报错

状态码 含义 怎么处理
400 INVALID_REQUEST image_url 缺失、不是 http/https 地址、或多传了 prompt / scale 这类不存在的字段 请求体只留 image_url
402 INSUFFICIENT_QUOTA 余额不足(不扣费) 充值后重试
429 RATE_LIMITED 触发限流 降低提交频率
409 / 422 IDEMPOTENCY_KEY_* 同一幂等键重复提交 换新的 Idempotency-Key

任务终态失败还有 TASK_FAILED、TASK_TIMEOUT 等错误码;失败不扣费。

上线前注意

  • 回调:请求体顶层传 "callback": {"url": "https://..."},终态自动通知。
  • 及时转存:output[0].url 是临时地址,拿到就下载。
  • 耗时:单张通常在 10 秒到 1 分钟左右,轮询间隔别设太短。
  • 透明通道:输出是 JPEG 不含透明;要透明背景的物料先放大、再去背景(顺序反了,抠图边缘会糊)。
  • 批量的账很好算:一个 SKU 五张图全部放大一遍是 $0.02;全店 1,000 张素材过一轮是 $4.00,批量提交即可,每张任务单独计时。
  • 原图质量决定上限:2 倍放大让边缘更清晰,但原图糊成一片的部分不会凭空长出细节;关键物料先用一张试验再批量。

常见问题

真的就是 2 倍吗?

是。宽高各放大一倍(640×640 → 1280×1280,480×640 → 960×1280),倍数固定,没有 4 倍选项;需要更大就放大后再跑一次。

画面里的文字会变吗?

不会。带字海报放大后字形保持原样,不改写、不新增文字。

多少钱一张?

$0.004 一张,1,000 张 $4.00;输入图大小不影响价格。失败不扣费,参数校验不过不进计费。

能传 base64 吗?

不能。image_url 要公网 http/https 地址;本地文件先传到你的存储再给地址。

一张要多久?

通常 10 秒到 1 分钟左右;批量任务按张数排队,赶时间就分批提交。

下一步:拿一张你的商品图去模型页放大一张看效果;五组「原图 → 2 倍」真实对照见案例页;和生成式重绘的同一原图对照见对比页。

立即开始构建持久 AI 产物

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

阅读 API 文档