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 Labs 媒體資產上傳目標
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 Labs 媒體資產記錄,並取得圖片或影片的上傳 URL。將二進位檔案上傳到
upload_info.upload_url 後,可在 world_prompt 中透過 source: "media_asset" 引用返回的 media_asset.media_asset_id。
TokenLab 會記錄資產歸屬。只有同一組織可以取得或在 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 金鑰。
主體
application/json