获取私信媒体附件 (XChat v3)
拉取私信会话中发送或接收的图片、视频等媒体附件。需附带 Twitter Cookie。
返回 API 接口列表
/DM Endpoints
POST
/v3/twitter/dm-mediaAPI 鉴权
AuthorizationBearer token · header必填TwexAPI 平台的全局身份凭据 (Bearer Token)。所有接口调用均需在 Header 中携带:Authorization: Bearer <YOUR_TWEXAPI_KEY>。可在 TwexAPI 用户控制台获取。
请求体
必填application/jsonconversation_idstring必填私信会话窗口唯一标识符
media_hash_keystring必填来自 dm-history 历史记录的附件 media_hash_key
key_versionstring | any可选的私信加密 key_version(建议从 dm-history 获取并传入)。
展开属性折叠属性
Any of:
string
stringany
anytype_namestring | any可选的媒体格式类型提示(IMAGE / VIDEO / GIF)
展开属性折叠属性
Any of:
string
stringany
anyfilenamestring | any可选的上传文件名提示
展开属性折叠属性
Any of:
string
stringany
anypinstring | any安全身份识别 PIN 码(默认 1234)。
default: "1234"
展开属性折叠属性
Any of:
string
stringany
anycookiestring必填用户自有授权的 Twitter 会话凭据或 auth_token(BYOC 自带 Cookie 模式)。无状态受托代理执行,凭据绝不持久化存储。详见 [鉴权与安全说明](/zh/authentication#写操作鉴权与-byoc自带授权-cookie--token) 与 [获取 Cookie 指南](https://youtube-promotion.pages.dev/how-to-get-twitter-cookie)。
proxystring | any可选配置的 HTTP 代理地址,格式示例:http://username:password@ip:port
展开属性折叠属性
Any of:
string
stringany
any响应结果
200可直接播放预览的私信媒体附件 CDN URL 及元数据
codeinteger必填HTTP 响应状态码(200 表示成功)
msgstring必填响应提示信息(例如 'success')
dataGetDmMediaV3Data | any接口返回的核心业务数据载荷
展开属性折叠属性
Any of:
GetDmMediaV3Data
urlstring必填可直接在浏览器中播放或渲染的媒体公开 CDN URL
pathstring必填本 API 解析出的媒体文件访问路径
content_typestring必填媒体文件的 MIME 类型(如 image/jpeg, video/mp4)
filenamestring | any系统建议保存的媒体文件名称
展开属性折叠属性
Any of:
string
stringany
anybyte_lengthinteger必填媒体文件大小(字节数)
cachedboolean必填该媒体资源此前是否已经被系统缓存
any
any422请求参数校验错误
detailValidationError[]展开属性折叠属性
Array of
ValidationErrorlocstring | integer[]必填展开属性折叠属性
Array of
string | integerAny of:
string
stringinteger
integermsgstring必填响应提示信息(例如 'success')
typestring必填inputanyctxobject⚡交互式测试POST
⚡交互式测试 / Try APIPOSTLive Console
🌐目标服务器:
https://api.twexapi.io● 生产环境就绪
✍️
写入接口凭证指引(TwexAPI 密钥 + 目标推特 Cookie)
1. TwexAPI 平台密钥 (Bearer Token):在下方「API 鉴权」中填入,用于 TwexAPI 计费与接口调用鉴权。
2. 推特账号 Cookie:本接口为代发/点赞/关注等写操作,需在下方请求体 (Request Body) 的 cookie 字段中填入目标 Twitter 账号的 Cookie 凭据(如 auth_token=...; ct0=...)。
🔑API 鉴权
📝请求体application/json
📡
暂无响应数据
请在「请求配置」中确认参数后,点击底部的「发送请求」按钮。
请求示例
curl -X POST "https://api.twexapi.io/v3/twitter/dm-media" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"conversation_id": "1928096185664843776:1989842918455291904",
"media_hash_key": "blRIlZCVIO",
"key_version": "3",
"type_name": "VIDEO",
"filename": "clip.mp4",
"pin": "1234",
"cookie": "ct0=abc123... or 2c4a4e1832096aa694c739b83c83b6d96d43eba7",
"proxy": "http://username:password@ip:port"
}'const response = await fetch("https://api.twexapi.io/v3/twitter/dm-media", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"conversation_id": "1928096185664843776:1989842918455291904",
"media_hash_key": "blRIlZCVIO",
"key_version": "3",
"type_name": "VIDEO",
"filename": "clip.mp4",
"pin": "1234",
"cookie": "ct0=abc123... or 2c4a4e1832096aa694c739b83c83b6d96d43eba7",
"proxy": "http://username:password@ip:port"
})
});import requests
response = requests.post(
"https://api.twexapi.io/v3/twitter/dm-media",
headers={
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
json={
"conversation_id": "1928096185664843776:1989842918455291904",
"media_hash_key": "blRIlZCVIO",
"key_version": "3",
"type_name": "VIDEO",
"filename": "clip.mp4",
"pin": "1234",
"cookie": "ct0=abc123... or 2c4a4e1832096aa694c739b83c83b6d96d43eba7",
"proxy": "http://username:password@ip:port"
},
)响应示例
{
"code": 200,
"msg": "success",
"data": {
"url": "string",
"path": "string",
"content_type": "video/mp4",
"filename": "string",
"byte_length": 0,
"cached": true
}
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}