图片放大API:开发者集成指南
在应用中集成图片放大功能,以前需要自己训练AI模型。这要花几个月时间和大量GPU预算。现在用UpscaleIMG API,发送一张图片,几秒钟就能收到清晰放大的结果。
这篇指南教你如何把UpscaleIMG集成到你的项目中。包含真实的代码示例和所有可用选项。
UpscaleIMG API能做什么?
UpscaleIMG API使用Real-ESRGAN。这是一个专为图片超分辨率设计的强大AI模型。你发送一张照片,AI在放大的同时添加逼真的细节。边缘保持锐利,纹理看起来自然,人脸特征也会保留。
你能得到:
- 2倍和4倍放大 AI驱动的细节增强
- 自定义尺寸 指定精确的输出大小
- 格式转换 PNG、JPG和WebP之间互转
- 元数据控制 选择删除或保留EXIF数据
- 最高6400万像素 输出分辨率
所有AI处理都在我们的服务器上运行。你不需要GPU,不需要配置模型。发送HTTP请求,拿到结果。
怎么开始使用API?
发送请求需要API密钥。获取方法:
- 在 upscaleimg.app 注册账号
- 在控制面板生成API密钥
- 在服务器端安全存储
API端点:
POST https://upscaleimg.app/api/v1/upscale
认证使用Authorization头中的Bearer令牌。API密钥要保存在服务器端。不要在客户端代码中暴露,也不要提交到代码仓库。
免费账号可以用2倍放大。付费用户解锁4倍放大和最大4倍原图的自定义尺寸。
怎么放大第一张图片?
最简单的调用只需要一张图片和缩放倍数。用curl做2倍放大的例子:
curl -X POST https://upscaleimg.app/api/v1/upscale \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "image=@photo.jpg" \
-F "scale=2"
API返回JSON,包含原图和放大后图片的详情:
{
"original": {
"size": 384000,
"width": 1920,
"height": 1080,
"mimeType": "image/jpeg",
"fileExt": "jpg"
},
"result": {
"size": 1280000,
"width": 3840,
"height": 2160,
"mimeType": "image/png",
"fileExt": "png",
"url": "https://..."
}
}
url字段提供签名下载链接。签名URL会很快过期,请立即下载。
JavaScript版本:
const form = new FormData();
form.append('image', fileInput.files[0]);
form.append('scale', '2');
const response = await fetch('https://upscaleimg.app/api/v1/upscale', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
},
body: form
});
const data = await response.json();
console.log(`放大到 ${data.result.width}x${data.result.height}`);
Python版本:
import requests
with open('photo.jpg', 'rb') as f:
response = requests.post(
'https://upscaleimg.app/api/v1/upscale',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
files={'image': f},
data={'scale': '2'}
)
data = response.json()
print(f"放大到 {data['result']['width']}x{data['result']['height']}")
API支持哪些选项?
API通过multipart表单数据接受多个参数。完整列表:
| 参数 | 必填 | 值 | 说明 |
|---|---|---|---|
image |
是 | 文件 | PNG、JPG、JPEG或WebP图片 |
scale |
是* | 2或4 |
缩放倍数。*使用自定义尺寸时不需要。 |
customWidth |
否 | 整数 | 目标宽度(像素,最大4倍) |
customHeight |
否 | 整数 | 目标高度(像素,最大4倍) |
objectFit |
否 | cover, contain, fill |
自定义尺寸的适配模式。默认:cover。 |
outputFormat |
否 | jpg, jpeg, png, webp |
输出格式。默认:png。 |
removeMetadata |
否 | 1或0 |
删除EXIF数据。默认:0(保留)。 |
自定义尺寸让你精确控制输出。customWidth和customHeight必须同时指定。输出不能小于原图,也不能大于4倍(免费账号最大2倍)。
比如,放大到3000x2000的WebP:
curl -X POST https://upscaleimg.app/api/v1/upscale \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "image=@photo.jpg" \
-F "customWidth=3000" \
-F "customHeight=2000" \
-F "objectFit=cover" \
-F "outputFormat=webp" \
-F "removeMetadata=1"
怎么处理错误和频率限制?
API返回标准HTTP状态码:
| 状态码 | 含义 |
|---|---|
200 |
成功。返回放大后的图片。 |
400 |
请求无效。缺少图片、倍数无效或尺寸超范围。 |
401 |
API密钥无效或缺失。 |
403 |
禁止。无订阅使用4倍或CORS错误。 |
429 |
频率限制。请求太多。 |
500 |
服务器错误。请重试。 |
错误响应都包含消息:
{"error": "4x upscaling is only available with an active subscription."}
对频率限制,添加带退避的重试逻辑:
async function upscaleWithRetry(form, maxRetries = 3) {
for (let i = 0; i < maxRetries; i++) {
const res = await fetch('https://upscaleimg.app/api/v1/upscale', {
method: 'POST',
headers: { 'Authorization': 'Bearer YOUR_API_KEY' },
body: form
});
if (res.status === 429) {
await new Promise(r => setTimeout(r, 2000 * (i + 1)));
continue;
}
return await res.json();
}
throw new Error('Max retries reached');
}
最佳使用场景有哪些?
UpscaleIMG API适合多种工作流程。
电商平台用它来提升卖家的产品图片质量。很多上传的图片太小或质量低。自动放大让每个商品看起来更专业。了解更多关于图片放大不失真的方法。
按需印刷服务需要高分辨率文件。客户上传的图片在屏幕上看着不错,但打印太小。你甚至可以放大到4K。
照片修复应用把放大和其他增强结合起来。老照片或模糊照片变清晰的同时也被放大。API处理繁重的AI计算。
内容管理系统可以在上传时自动增强图片。确保每张图片都达到最低质量标准。
房产网站受益于统一的照片质量。经纪人用不同设备拍照。自动放大创造统一的专业外观。
批量处理请查看图片放大自动化指南。你也可以比较最佳放大工具。
准备开始了吗?
不到一小时就能完成集成。在 upscaleimg.app 创建账号,获取API密钥,发送第一张测试图片。
先用2倍放大几张图测试质量。满意后再集成到你的流程中。AI图片放大完全指南涵盖了关于AI放大的更多知识。
免费方案足够测试和构建概念验证。当你需要4倍放大和更大处理量时,升级到付费方案。