Skip to main content
POST
上传媒体(发推前预上传)
上传单个图片、GIF 或视频,返回一个 media_id,随后可在 post_twitter 里附加到推文。经 AIsa 网关代理,地址 https://api.aisa.one/apis/v1/twitter/upload_media
本端点仅支持 multipart/form-data —— 请以表单部件上传文件。发送 JSON 请求体会返回 400 "upload_media requires multipart/form-data with a single media file field"

前置条件

  • 一个 AIsa API Key(每次请求作为 Bearer 令牌)。
  • 源用户的一次性 OAuth 授权。通过 POST /apis/v1/twitter/auth_twitter 绑定你的 X 账号。
  • X 会话需持有 media.writetweet.readusers.read

两步媒体流程

  1. 上传 —— POST /apis/v1/twitter/upload_media 上传文件 → 返回 media_id
  2. 发布 —— POST /apis/v1/twitter/post_twitter 传入 { "media": { "media_ids": ["<media_id>"] } }
post_twitter 也支持在单次 multipart 请求里通过 media_files 内联文件,从而跳过预上传步骤。当你想把同一素材复用到多条推文,或把大文件上传与发推解耦时,使用 upload_media

示例

响应
随后附加:

说明

  • 文件字段名可用 media_filesmediafile
  • ≤8MB 的图片走单次上传;更大文件与视频自动分片上传。
  • 未挂载的媒体约 24 小时后过期。
  • 媒体上传是前置步骤,不单独计费 —— 发推(post_twitter)时才计费。
更多见错误码限流

相关

发布推文

通过 media.media_ids 附加 media_id。

绑定 X 账号

启动本端点所需的 OAuth 流程。

点赞推文

使用同一 OAuth 会话的另一个写端点。

授权

Authorization
string
header
必填

你的 AIsa API 密钥。经过身份验证的源用户(执行关注操作的账户)由附加到你的密钥的 OAuth 会话决定。

请求体

multipart/form-data
media_files
file
必填

要上传的媒体文件(image/*image/gifvideo/*)。字段名也可用 mediafile。≤8MB 的图片走单次上传;更大文件与视频自动走分片上传。

aisa_api_key
string

可选。通常无需填写 —— 网关会从 Authorization: Bearer 头解析你的账号。

响应

上传成功;返回可在 post_twitter 中引用的 media_id

data
object