接口
文件上传
把本地图片上传成地址,再放进 image_urls,不用每次都传 base64。
参考图、要编辑的原图这类本地文件,先上传换成一个地址,再把地址放进任务的 image_urls。比直接在请求里放 base64 更小,上游取图也更快。
上传
POST /v1/files,用 multipart/form-data 发送,文件放在 file 字段:
curl https://janvia.io/v1/files \ -H "Authorization: Bearer $API_KEY" \ -F "file=@./photo.png"
返回 HTTP 201:
{
"id": "file_Qm9vX...",
"object": "file",
"url": "https://janvia.io/v1/files/file_Qm9vX.../content",
"mime_type": "image/png",
"bytes": 482113,
"created_at": "2026-10-22T08:00:00.000Z",
"expires_at": "2026-10-25T08:00:00.000Z"
}然后在任务里使用:
{
"model": "gpt-image-2",
"input": {
"prompt": "change the background to a beach",
"image_urls": ["https://janvia.io/v1/files/file_Qm9vX.../content"]
}
}限制
- 只支持 PNG、JPEG、WebP 图片,按文件内容判断类型,改扩展名没用。
- 单个文件不超过 10 MB,每次上传一个文件。
- 文件保留 72 小时,到期自动删除。请在这之前提交任务。
- 每个账户同时最多保留 200 个文件,每分钟最多上传 60 次。
地址是公开的
url 不需要密钥就能访问,因为上游服务商要用它来取图。文件 ID 随机生成、无法猜到,但请不要把地址公开分享。
查询和删除
curl https://janvia.io/v1/files/FILE_ID -H "Authorization: Bearer $API_KEY" curl -X DELETE https://janvia.io/v1/files/FILE_ID -H "Authorization: Bearer $API_KEY"
只能查询和删除自己账户的文件。文件不存在或已过期时返回 404 file_not_found。