curl -X POST "https://api.tokenlab.sh/v1/worlds/generations" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "marble-1.1",
"prompt": "夕阳下安静的海边小镇,有狭窄小巷和温暖灯光"
}'
import requests
response = requests.post(
"https://api.tokenlab.sh/v1/worlds/generations",
headers={"Authorization": "Bearer sk-your-api-key"},
json={
"model": "marble-1.1",
"prompt": "夕阳下安静的海边小镇,有狭窄小巷和温暖灯光",
},
)
task = response.json()
print(task["id"], task["poll_url"])
const response = await fetch('https://api.tokenlab.sh/v1/worlds/generations', {
method: 'POST',
headers: {
Authorization: 'Bearer sk-your-api-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'marble-1.1',
prompt: '夕阳下安静的海边小镇,有狭窄小巷和温暖灯光'
})
});
const task = await response.json();
console.log(task.id, task.poll_url);
{
"id": "<string>",
"task_id": "<string>",
"operation_id": "<string>",
"status": "pending",
"poll_url": "<string>",
"world_id": "<string>",
"world_marble_url": "<string>",
"model_url": "<string>",
"glb_url": "<string>",
"pano_url": "<string>",
"thumbnail_url": "<string>",
"caption": "<string>",
"cost": {}
}Worlds
创建 World
使用文字、图片或视频创建可探索的 3D World
POST
/
v1
/
worlds
/
generations
curl -X POST "https://api.tokenlab.sh/v1/worlds/generations" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "marble-1.1",
"prompt": "夕阳下安静的海边小镇,有狭窄小巷和温暖灯光"
}'
import requests
response = requests.post(
"https://api.tokenlab.sh/v1/worlds/generations",
headers={"Authorization": "Bearer sk-your-api-key"},
json={
"model": "marble-1.1",
"prompt": "夕阳下安静的海边小镇,有狭窄小巷和温暖灯光",
},
)
task = response.json()
print(task["id"], task["poll_url"])
const response = await fetch('https://api.tokenlab.sh/v1/worlds/generations', {
method: 'POST',
headers: {
Authorization: 'Bearer sk-your-api-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'marble-1.1',
prompt: '夕阳下安静的海边小镇,有狭窄小巷和温暖灯光'
})
});
const task = await response.json();
console.log(task.id, task.poll_url);
{
"id": "<string>",
"task_id": "<string>",
"operation_id": "<string>",
"status": "pending",
"poll_url": "<string>",
"world_id": "<string>",
"world_marble_url": "<string>",
"model_url": "<string>",
"glb_url": "<string>",
"pano_url": "<string>",
"thumbnail_url": "<string>",
"caption": "<string>",
"cost": {}
}创建可探索的 3D World。响应会返回任务 ID 和
poll_url,通过这个地址查询进度和结果。
通过 Models API 选择当前可用的 Marble 模型。
请求体
string
默认值:"marble-1.0"
通过 Models API 选择当前可用的 Marble 模型。
string
用于纯文本生成的文本提示词,也可作为图片或视频输入时的引导。
object
World Labs
world_prompt 对象,支持 text、image、multi-image 和 video。string
Base64 或 data URL 图片提示。
string
图片 URL 提示。
array
用于快捷多图生成的多个图片提示。最多提供 4 张图片。若使用原生 World Labs 重建模式,请传入
world_prompt.type="multi-image"、reconstruct_images: true,并最多提供 8 张图片。string
视频 URL 提示。
boolean | string
对于图片输入,设置为
true 表示已有全景图,false 表示普通单图,或使用 auto。integer
可选随机种子,范围为 0 到 4294967295。
string
可选的生成世界显示名称,最多 64 个字符。
array
可选的 World Labs 标签。最多提供 10 个标签,每个标签最多 32 个字符。
object
可选的可见性和访问设置:
public、allow_id_access、allowed_readers 和 allowed_writers。public: true 请求创建公开可见的 World。响应
string
TokenLab 任务 ID。
string
同一个任务 ID 的兼容字段名。
string
World Labs 操作 ID。
string
任务状态查询地址。
string
任务状态:
pending、processing、completed 或 failed。string
生成完成后返回的 Marble 世界 URL。
string
可用时返回的碰撞网格 GLB URL。
string
可用时返回的全景图 URL。
计费
通过 Pricing API 查询当前价格。实际扣费以用量记录为准;返回的cost.total_credits 是生成用量,不是货币金额。
curl -X POST "https://api.tokenlab.sh/v1/worlds/generations" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "marble-1.1",
"prompt": "夕阳下安静的海边小镇,有狭窄小巷和温暖灯光"
}'
import requests
response = requests.post(
"https://api.tokenlab.sh/v1/worlds/generations",
headers={"Authorization": "Bearer sk-your-api-key"},
json={
"model": "marble-1.1",
"prompt": "夕阳下安静的海边小镇,有狭窄小巷和温暖灯光",
},
)
task = response.json()
print(task["id"], task["poll_url"])
const response = await fetch('https://api.tokenlab.sh/v1/worlds/generations', {
method: 'POST',
headers: {
Authorization: 'Bearer sk-your-api-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'marble-1.1',
prompt: '夕阳下安静的海边小镇,有狭窄小巷和温暖灯光'
})
});
const task = await response.json();
console.log(task.id, task.poll_url);
授权
API Key 身份验证。在 Dashboard > API > API Keys 中创建或管理 API Key。
请求头
单次请求交付策略。覆盖 API 密钥和 Workspace 的默认设置。自动优先尝试 TokenLab Verified,在输出、上游接受或持久化资源创建之前,可能会切换一次至仅限 Official。
可用选项:
auto, verified, official 请求体
application/json
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
供高级调用者使用的原生 World Labs world_prompt 对象。支持的提示类型包括 text、image、multi-image 和 video。内容引用可以使用 source=media_asset,并配合由 /v1/worlds/media-assets/prepare-upload 准备的 media_asset_id。
要使用的 Marble 模型。默认为 marble-1.0,以匹配省略模型参数时的当前 World Labs 兼容性默认值。
可用选项:
marble-1.0, marble-1.1, marble-1.1-plus 用于文本或引导式图像/视频世界生成的文本提示词。
生成世界的可选显示名称,最多 64 个字符。
Maximum string length:
64Base64 或数据 URL 图像提示词。
图像 URL 提示词。
快捷多图像提示词。最多提供 4 张图像。使用原生 world_prompt.reconstruct_images=true 最多可提供 8 张图像。
Maximum array length:
4视频 URL 提示词。
图像提示词是否为现有全景图。对于全景输入使用 true,对于单图输入使用 false,或使用 auto。
可选种子值,范围从 0 到 4294967295。
必填范围:
0 <= x <= 4294967295可选的 World Labs 标签。最多提供 10 个标签,每个标签最多 32 个字符。
Maximum array length:
10Maximum string length:
32可选的 World Labs 权限对象。
最终用户标识符。