ARK SDK 兼容
把已有 Volcengine Ark seedance 客户端切到 XRToken 只需改 base URL 和 API key
如果你之前已经用官方 Volcengine Ark SDK 接入了 seedance 视频生成,可以只改两行配置把流量切到 XRToken:
- base URL:
https://ark.cn-beijing.volces.com/api/v3→https://api.xrtoken.net/v1(海外版用https://api.xrtoken.ai/v1) - API Key:把原本的 ARK_API_KEY 换成 XRToken 的
tr-开头密钥
请求体、响应体、轮询 URL 拼接方式全部和官方一致。
兼容范围
| 官方 ARK 路径 | XRToken 别名 | 是否 SDK 直接可用 |
|---|---|---|
POST /contents/generations/tasks | POST /v1/contents/generations/tasks | ✅ |
GET /contents/generations/tasks/{id} | GET /v1/contents/generations/tasks/{id} | ✅ |
DELETE /contents/generations/tasks/{id} | DELETE /v1/contents/generations/tasks/{id} | ✅ |
ARK 路径返回的 id 字段直接是上游 seedance 任务 ID(与官方一致),后续轮询 / 取消用同一个 id 即可。
Python SDK 示例
from volcengine.maas.v3 import MaasService, Tasks
# 改成 XRToken 的 base URL + API key,其他不动
client = MaasService("https://api.xrtoken.net/v1", "cn-beijing")
client.set_ak_sk("", "") # 不需要,下面改用 Bearer
client.set_token("tr-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
resp = client.create_task({
"model": "doubao-seedance-2-0-260128",
"content": [
{"type": "text", "text": "一只猫咪在草地上奔跑"}
],
})
print(resp["id"])素材库:火山原生 Open API 格式兼容
火山素材库走的是 Volcengine Open API(https://open.volcengineapi.com/?Action=...),原本需要 AK/SK 做 SigV4 签名。现在 CreateAsset / GetAsset 两个 Action 已经做到 path、参数、响应全部兼容:把 base URL 指向我们、把签名换成 Bearer 即可,其他一字不改。
兼容范围
| 官方 Action | XRToken 兼容地址 | 鉴权 | 说明 |
|---|---|---|---|
Action=CreateAsset | POST /?Action=CreateAsset&Version=2024-01-01 | Bearer | 请求 / 响应与官方一致 |
Action=GetAsset | POST /?Action=GetAsset&Version=2024-01-01 | Bearer | 请求 / 响应与官方一致 |
鉴权方式:
Authorization: Bearer tr-xxx(推荐)- 或
x-api-key: tr-xxx
示例(创建素材):
curl -X POST "https://api.xrtoken.net/?Action=CreateAsset&Version=2024-01-01" \
-H "Authorization: Bearer $XRT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"GroupId": "group-2026**********-*****",
"URL": "https://example.com/image.jpg",
"Name": "test",
"AssetType": "Image",
"ProjectName": "default"
}'ProjectName 非必填:不传时自动使用网关项目(当前 xrtoken);显式传值(包括 default)则原样透传,尊重你指定的项目。Name 可选。查询素材:
curl -X POST "https://api.xrtoken.net/?Action=GetAsset&Version=2024-01-01" \
-H "Authorization: Bearer $XRT_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "Id": "asset-20260423183015-xk4m2" }'响应与官方一致(ResponseMetadata / Result 信封),且沿用素材库的账号隔离:只能创建 / 查询自己名下的分组和素材。其他 Action(如 CreateAssetGroup、ListAssets、DeleteAsset)仍用下面的 REST 路径:
| 官方 Action | XRToken 路径 | 鉴权 | 字段对应 |
|---|---|---|---|
Action=CreateAssetGroup | POST /v1/asset-groups | Bearer | 完全一致 |
Action=ListAssetGroups | GET /v1/asset-groups | Bearer | 完全一致 |
Action=CreateAsset | POST /v1/assets | Bearer | 完全一致 |
Action=GetAsset | GET /v1/assets/{id} | Bearer | 完全一致 |
Action=DeleteAsset | DELETE /v1/assets/{id} | Bearer | 完全一致 |
Action=CreateVisualValidateSession | POST /v1/asset-groups/validate-session | Bearer | 完全一致 |
把签名调用换成 Authorization: Bearer tr-xxx 即可,请求 / 响应 body 一字不改。
跨区域
CN 站点和海外站点都开放 ARK 别名。两边互相独立,按用户账号所属区域选 base URL:
- 国内:
https://api.xrtoken.net/v1 - 海外:
https://api.xrtoken.ai/v1