curl -X POST "https://api.tokenlab.sh/v1/worlds/media-assets/prepare-upload" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"file_name": "reference.png",
"kind": "image",
"extension": "png"
}'
import requests
response = requests.post(
"https://api.tokenlab.sh/v1/worlds/media-assets/prepare-upload",
headers={"Authorization": "Bearer sk-your-api-key"},
json={"file_name": "reference.png", "kind": "image", "extension": "png"},
)
print(response.json()["media_asset"]["media_asset_id"])
const response = await fetch('https://api.tokenlab.sh/v1/worlds/media-assets/prepare-upload', {
method: 'POST',
headers: {
Authorization: 'Bearer sk-your-api-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({ file_name: 'reference.png', kind: 'image', extension: 'png' })
});
const prepared = await response.json();
console.log(prepared.media_asset.media_asset_id, prepared.upload_info.upload_url);
{
"media_asset": {
"file_name": "<string>",
"media_asset_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"kind": "image",
"extension": "<string>",
"metadata": {},
"updated_at": "2023-11-07T05:31:56Z"
},
"upload_info": {
"upload_url": "<string>",
"upload_method": "<string>",
"curl_example": "<string>",
"required_headers": {}
}
}{
"error": {
"message": "Invalid API key provided",
"type": "invalid_api_key"
}
}Worlds
准备 World 素材上传
获取 World 图片或视频素材的上传地址
POST
/
v1
/
worlds
/
media-assets
/
prepare-upload
curl -X POST "https://api.tokenlab.sh/v1/worlds/media-assets/prepare-upload" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"file_name": "reference.png",
"kind": "image",
"extension": "png"
}'
import requests
response = requests.post(
"https://api.tokenlab.sh/v1/worlds/media-assets/prepare-upload",
headers={"Authorization": "Bearer sk-your-api-key"},
json={"file_name": "reference.png", "kind": "image", "extension": "png"},
)
print(response.json()["media_asset"]["media_asset_id"])
const response = await fetch('https://api.tokenlab.sh/v1/worlds/media-assets/prepare-upload', {
method: 'POST',
headers: {
Authorization: 'Bearer sk-your-api-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({ file_name: 'reference.png', kind: 'image', extension: 'png' })
});
const prepared = await response.json();
console.log(prepared.media_asset.media_asset_id, prepared.upload_info.upload_url);
{
"media_asset": {
"file_name": "<string>",
"media_asset_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"kind": "image",
"extension": "<string>",
"metadata": {},
"updated_at": "2023-11-07T05:31:56Z"
},
"upload_info": {
"upload_url": "<string>",
"upload_method": "<string>",
"curl_example": "<string>",
"required_headers": {}
}
}{
"error": {
"message": "Invalid API key provided",
"type": "invalid_api_key"
}
}创建 World 素材并获取上传地址。把文件上传到
upload_info.upload_url 后,在 world_prompt 中使用返回的 media_asset.media_asset_id。
素材只对当前工作区可见,也只能在这个工作区中用于 World 生成。
请求体
string
必填
原始文件名,最多 64 个字符。
string
必填
媒体类型:
image 或 video。string | null
可选扩展名,例如
png、jpg 或 mp4。object | null
与素材一起保存的自定义信息。
响应
object
已创建的 World Labs 素材信息。
string
用于上传文件的签名 URL。
string
上传二进制文件到
upload_info.upload_url 时使用的 HTTP 方法(如有返回)。object
上传二进制文件时需要附带的请求头(如有返回)。
curl -X POST "https://api.tokenlab.sh/v1/worlds/media-assets/prepare-upload" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"file_name": "reference.png",
"kind": "image",
"extension": "png"
}'
import requests
response = requests.post(
"https://api.tokenlab.sh/v1/worlds/media-assets/prepare-upload",
headers={"Authorization": "Bearer sk-your-api-key"},
json={"file_name": "reference.png", "kind": "image", "extension": "png"},
)
print(response.json()["media_asset"]["media_asset_id"])
const response = await fetch('https://api.tokenlab.sh/v1/worlds/media-assets/prepare-upload', {
method: 'POST',
headers: {
Authorization: 'Bearer sk-your-api-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({ file_name: 'reference.png', kind: 'image', extension: 'png' })
});
const prepared = await response.json();
console.log(prepared.media_asset.media_asset_id, prepared.upload_info.upload_url);
授权
API Key 身份验证。在 Dashboard > API > API Keys 中创建或管理 API Key。
请求体
application/json