跳转到主要内容
POST

使用指南

  • 该接口通过提供远程 URL 将文件上传到 PoYo AI
  • 系统会自动从指定 URL 下载文件,并存储到 PoYo AI 存储中
  • 适合从外部服务器迁移文件,或对接第三方文件来源
  • 返回文件的直接访问 URL,文件保留 72 小时

参数详情

  • 文件 URL 要求:
    • file_url 必须是使用 HTTP 或 HTTPS 协议的公开可访问 URL
    • 远程服务器必须允许无需认证即可下载该文件
    • 支持的文件格式:仅 JPEG、PNG、GIF、WebP
    • 上传数量上限:每次请求 1 张图片
  • 存储配置:
    • 所有文件在存储路径中都会自动加上 temp/ 前缀
    • 如果指定 upload_path: "avatars",实际路径为 temp/avatars
    • 文件在上传 72 小时后过期并自动删除
  • 文件命名:
    • 如果未提供 file_name,系统会按以下格式生成唯一文件名:{timestamp}_{random}_{extension}
    • 自动生成的文件名示例:20251229130857_a8B9cD2e.png

开发者说明

  • 确保源 URL 公开可访问,且不需要认证或特殊请求头
  • 下载过程可能需要几秒钟,取决于文件大小和网络状况
  • 如需持久保存,请在 72 小时过期前将文件下载到本地
  • 响应中的 file_url 和 download_url 完全相同,都可以直接访问已上传的文件

速率限制与配额

  • 速率限制:每个已认证用户、每个上传接口,在 60 秒固定窗口内最多 10 次请求
  • 超出速率限制时,会收到 429 Too Many Requests 错误
  • 固定窗口从窗口内第一次请求开始计算,同一用户的 JWT 请求和 API Key 请求共享该窗口
  • 使用指数退避重试逻辑处理速率限制错误

常见错误场景

  • URL 无效:提供的 URL 格式错误或无法访问
  • 下载失败:从远程 URL 下载时出现网络超时或连接问题
  • 不支持的文件类型:URL 指向的文件不是支持的图片格式(JPEG、PNG、GIF、WebP)
  • 认证错误:Authorization 请求头中的 API Key 缺失或无效

授权

Authorization
string
header
必填

所有 API 接口都需要 Bearer Token 认证。

创建 API Key:登录 PoYo,进入 仪表盘 → API 密钥(poyo.ai/zh/dashboard/api-key),点击创建 Key。

在请求头中添加:

请求体

application/json
file_url
string<uri>
必填

要上传的远程文件 URL。

必须是使用 HTTP 或 HTTPS 协议、可公开访问的 URL。

支持的格式:JPEG、PNG、GIF、WebP

注意:系统会从该 URL 下载文件并存储到 PoYo AI 存储中。

示例:

"https://example.com/images/sample.jpg"

upload_path
string

自定义存储目录路径。

未指定时,系统会自动对文件分类。

注意:无论指定什么路径,所有文件都会以 temp/ 前缀存储。

示例:

"avatars"

file_name
string

上传文件的自定义文件名。

未指定时,系统会按以下格式生成唯一文件名:{timestamp}_{random}_{extension}

自动生成的文件名示例:20251229130857_a8B9cD2e.png

示例:

"my-custom-image.png"

响应

文件上传成功

success
boolean
必填

上传是否成功

示例:

true

code
enum<integer>
必填

业务状态码。200 表示成功,其他值都表示请求失败。请务必检查这个字段:部分参数校验错误会以 HTTP 200 返回,响应体里的 code 为 400。

  • 200:成功
  • 400:请求参数无效
  • 401:API Key 缺失或无效
  • 402:积分不足
  • 403:没有权限
  • 404:资源不存在
  • 408:请求超时
  • 429:请求频率超限
  • 500:服务器内部错误
  • 502:上游服务错误
  • 503:服务暂不可用

详见错误码。

可用选项:
200,
400,
401,
402,
403,
404,
408,
429,
500,
502,
503
示例:

200

msg
string
必填

响应消息

示例:

"File uploaded successfully"

data
object
必填