Janvia

接口

文件上传

把本地图片上传成地址,再放进 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。