图片超分能提升现有图像的分辨率与视觉质量。向 /image/upscale 发送一张 base64 编码的图片,选择缩放倍数,Venice 就会以二进制形式返回增强后的图片。
当你已经拥有一张图片,只需要更高分辨率的输出时,可使用图片超分。如果你需要根据提示词生成图片,请使用 图片生成;如果需要修改图片内容,请使用 图片编辑。
基本用法
import base64
import os
from pathlib import Path
import requests
image_base64 = base64.b64encode(Path("input.jpg").read_bytes()).decode("utf-8")
response = requests.post(
"https://api.venice.ai/api/v1/image/upscale",
headers={
"Authorization": f"Bearer {os.environ['VENICE_API_KEY']}",
"Content-Type": "application/json",
},
json={
"image": image_base64,
"scale": 2,
},
)
response.raise_for_status()
Path("upscaled.png").write_bytes(response.content)
import { readFile, writeFile } from "node:fs/promises";
const image = await readFile("input.jpg");
const response = await fetch("https://api.venice.ai/api/v1/image/upscale", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.VENICE_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
image: image.toString("base64"),
scale: 2,
}),
});
if (!response.ok) {
throw new Error(await response.text());
}
const output = Buffer.from(await response.arrayBuffer());
await writeFile("upscaled.png", output);
IMAGE_BASE64=$(base64 < input.jpg | tr -d '\n')
curl https://api.venice.ai/api/v1/image/upscale \
-H "Authorization: Bearer $VENICE_API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"image\": \"$IMAGE_BASE64\",
\"scale\": 2
}" \
--output upscaled.png
| 参数 | 类型 | 是否必填 | 说明 |
|---|
image | string | 是 | Base64 编码的源图片。 |
scale | number | 否 | 放大倍数。请使用 API 参考文档和模型目录中列出的受支持值。 |
响应是二进制图片数据,不是 JSON。请将响应体直接写入文件,或将其流式写入存储。
输入建议
- 使用你所能获得的最清晰的源图片。超分能提升细节,但无法完全恢复原图中不存在的信息。
- 在生产工作流中使用适中的放大倍数。过大的输出会增加延迟和文件体积。
- 保留原始图片,以便对比质量或使用不同参数重试。
相关资源