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
Preparar upload de mídia
Cria um destino de upload para uma mídia 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"
}
}Crie um registro de mídia World Labs e receba uma URL de upload para imagem ou vídeo. Envie o binário para
upload_info.upload_url e depois referencie media_asset.media_asset_id no world_prompt com source: "media_asset".
TokenLab registra o proprietário da mídia. Somente a mesma organização pode buscar ou usar essa mídia em uma geração de World.
Corpo da requisição
string
obrigatório
Nome de arquivo original, até 64 caracteres.
string
obrigatório
Tipo de mídia:
image ou video.string | null
Extensão opcional como
png, jpg ou mp4.object | null
Objeto opcional de metadados salvo com a mídia upstream.
Resposta
object
Metadados da mídia World Labs preparada.
string
URL upstream assinada para envio do arquivo binário.
string
Método HTTP para enviar o arquivo binário a
upload_info.upload_url, quando retornado.object
Cabeçalhos a incluir no envio do arquivo binário, quando retornados.
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);
Autorizações
Autenticação por Chave de API. Crie ou gerencie chaves de API em Dashboard > API > API Keys.
Corpo
application/json
Nome do arquivo, como landscape.jpg.
Maximum string length:
64Tipo de mídia de alto nível.
Opções disponíveis:
image, video Extensão do arquivo sem ponto, como jpg, png ou mp4.
Metadados de aplicação opcionais.