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
Medien-Asset-Upload vorbereiten
Erstellt ein Upload-Ziel für ein World Labs Medien-Asset
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"
}
}Erstelle einen World Labs Medien-Asset-Datensatz und erhalte eine Upload-URL für ein Bild oder Video. Lade die Binärdatei nach
upload_info.upload_url hoch und referenziere danach media_asset.media_asset_id im world_prompt mit source: "media_asset".
TokenLab speichert den Besitzer des Assets. Nur dieselbe Organisation kann dieses Medien-Asset abrufen oder für World-Generierung verwenden.
Anfragekörper
string
erforderlich
Ursprünglicher Dateiname, bis zu 64 Zeichen.
string
erforderlich
Medientyp:
image oder video.string | null
Optionale Erweiterung wie
png, jpg oder mp4.object | null
Optionales Metadatenobjekt für das Upstream-Medien-Asset.
Antwort
object
Metadaten des vorbereiteten World Labs Medien-Assets.
string
Signierte Upstream-URL für den Binär-Upload.
string
HTTP-Methode für den Binär-Upload an
upload_info.upload_url, sofern zurückgegeben.object
Header für den Binär-Upload, sofern zurückgegeben.
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);
Autorisierungen
API-Key-Authentifizierung. Erstellen oder verwalten Sie API-Keys unter Dashboard > API > API Keys.
Body
application/json
Dateiname, wie z. B. landscape.jpg.
Maximum string length:
64Medientyp auf hoher Ebene.
Verfügbare Optionen:
image, video Dateiendung ohne Punkt, wie z. B. jpg, png oder mp4.
Optionale Anwendungsmetadaten.