图片 API
一个接口完成图片格式转换、质量控制和宽度缩放。适合脚本、服务端和需要批量处理的业务场景。
POST
multipart/form-data
免费 30 次/分钟
Endpoint
v1
图片转码接口
支持 PNG、JPG、WebP、GIF、BMP 输入,输出 WebP、PNG 或 JPG。GIF 只取第一帧。
POST
https://api.mokiii.com/api/v1/convert
multipart/form-data
请求参数
| 字段 | 必填 | 说明 |
|---|---|---|
file | 是 | 图片文件,不超过 3MB;支持 PNG、JPG、WebP、GIF、BMP,GIF 只取第一帧;缺失时返回 400 FILE_REQUIRED |
output_format | 否 | webp(默认)、png、jpg;非法值返回 400 INVALID_FORMAT |
quality | 否 | 1–100,默认 80;输出 PNG 时忽略;非法值返回 400 INVALID_FORMAT |
max_width | 否 | 按宽度等比缩小,0 或不填表示原尺寸;只缩小、不放大;非法值返回 400 INVALID_FORMAT |
curl 示例
curl -F "file=@photo.png" \
-F "output_format=webp" \
-F "quality=80" \
-F "max_width=1600" \
-o out.webp \
https://api.mokiii.com/api/v1/convert
浏览器 / JavaScript 示例
const fd = new FormData();
fd.append('file', fileInput.files[0]);
fd.append('output_format', 'webp');
fd.append('quality', '80');
fd.append('max_width', '1600');
const response = await fetch('https://api.mokiii.com/api/v1/convert', {
method: 'POST',
body: fd
});
if (!response.ok) {
const payload = await response.json();
throw new Error(payload.error.code);
}
const blob = await response.blob();
返回图片二进制,
注意:
Content-Type 对应输出格式,X-Output-Size 为字节数。浏览器跨域调用只允许来源 https://tools.mokiii.com;其他站点请在服务端调用。注意:
output_format 不合法返回 400 INVALID_FORMAT,不是 415;415 UNSUPPORTED_TYPE 只表示输入文件类型不支持。
Limits
免费额度
限额可能调整,请以接口响应和本页最新说明为准。
30 次每分钟 / 每 IP
3MB单文件上限
25MP单图像素上限
Errors
错误码
错误统一返回 {"error":{"code":"...","message":"..."}}。
| HTTP | code | 说明 |
|---|---|---|
| 400 | FILE_REQUIRED | 缺少 file 字段 |
| 400 | INVALID_FORMAT | output_format、quality 或 max_width 的值不合法 |
| 405 | METHOD_NOT_ALLOWED | 仅支持 POST |
| 413 | FILE_TOO_LARGE | 文件超过 3MB |
| 413 | IMAGE_TOO_LARGE | 图片超过 25MP 或单边超过 8000px |
| 415 | UNSUPPORTED_TYPE | 输入文件类型不支持;不是 output_format 错误 |
| 429 | RATE_LIMITED | 超过每分钟调用额度 |
| 504 | TIMEOUT | 处理超过 30 秒 |
| 500 | INTERNAL_ERROR | 服务内部错误 |
Pro
预约 Pro 套餐
更高额度、更大文件和优先处理。留下邮箱,Pro 开放时通知你;只收集邮箱,不共享给第三方。
提交即表示你同意 隐私政策。我们不会将邮箱用于营销或共享给第三方。