توليد نماذج ثلاثية الأبعاد من النصوص أو الصور باستخدام Tripo3D ومزودين آخرين. هذه API غير متزامنة. تعيد استجابة الإنشاء هوية المهمة، وقد تتضمن أيضًا poll_url مفضلًا عند توفره.
يتم استنتاج عمليات 3D العامة من شكل الطلب: الطلبات التي تحتوي على prompt فقط تُعامل كـ text-to-3d، والطلبات التي تحتوي على image أو image_url تُعامل كـ image-to-3d. لا يعرّض هذا endpoint حقل طلب باسم operation؛ لا ترسل القيمة القديمة 3d-generation.
جسم الطلب
model
string
افتراضي: "tripo-h3.1"
النموذج المراد استخدامه، مثل tripo-h3.1 أو tripo-p1.0. استخدم GET /v1/models?recommended_for=3d قبل الاعتماد على نوع إدخال أو صيغة إخراج محددة.
وصف نصي للنموذج ثلاثي الأبعاد المراد توليده.
صورة بترميز Base64 لتوليد نموذج ثلاثي الأبعاد من صورة.
رابط (URL) الصورة لتوليد نموذج ثلاثي الأبعاد من صورة.
تنسيق المخرجات: glb أو fbx أو obj أو usdz.
مستوى الجودة: draft أو standard أو high.
نمط مسبق الإعداد للنموذج.
بذرة (seed) لضمان توليد نتائج متطابقة.
معرف فريد للمستخدم النهائي.
الاستجابة
معرف المهمة (Task ID) للاستعلام عن الحالة.
الاسم البديل لمعرّف المهمة غير المتزامنة عندما يعيده المهايئ.
رابط polling المفضّل عندما يكون متاحًا.
حالة المهمة: pending أو processing أو completed أو failed.
طابع زمني بتنسيق Unix لوقت إنشاء المهمة.
cURL
Python
JavaScript
Go
PHP
curl -X POST "https://api.tokenlab.sh/v1/3d/generations" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "tripo-h3.1",
"prompt": "A detailed medieval castle with towers",
"format": "glb",
"quality": "high"
}'
import requests
response = requests.post(
"https://api.tokenlab.sh/v1/3d/generations" ,
headers = { "Authorization" : "Bearer sk-your-api-key" },
json = {
"model" : "tripo-h3.1" ,
"prompt" : "A detailed medieval castle with towers" ,
"format" : "glb" ,
"quality" : "high"
}
)
task_id = response.json()[ "id" ]
print ( f "Task ID: { task_id } " )
const response = await fetch ( 'https://api.tokenlab.sh/v1/3d/generations' , {
method: 'POST' ,
headers: {
'Authorization' : 'Bearer sk-your-api-key' ,
'Content-Type' : 'application/json'
},
body: JSON . stringify ({
model: 'tripo-h3.1' ,
prompt: 'A detailed medieval castle with towers' ,
format: 'glb' ,
quality: 'high'
})
});
const data = await response . json ();
console . log ( `Task ID: ${ data . id } ` );
package main
import (
" bytes "
" encoding/json "
" fmt "
" net/http "
)
func main () {
payload := map [ string ] interface {}{
"model" : "tripo-h3.1" ,
"prompt" : "A detailed medieval castle with towers" ,
"format" : "glb" ,
"quality" : "high" ,
}
body , _ := json . Marshal ( payload )
req , _ := http . NewRequest ( "POST" , "https://api.tokenlab.sh/v1/3d/generations" , bytes . NewBuffer ( body ))
req . Header . Set ( "Authorization" , "Bearer sk-your-api-key" )
req . Header . Set ( "Content-Type" , "application/json" )
client := & http . Client {}
resp , _ := client . Do ( req )
defer resp . Body . Close ()
var result map [ string ] interface {}
json . NewDecoder ( resp . Body ). Decode ( & result )
fmt . Printf ( "Task ID: %s \n " , result [ "id" ])
}
<? php
$ch = curl_init ( 'https://api.tokenlab.sh/v1/3d/generations' );
curl_setopt_array ( $ch , [
CURLOPT_RETURNTRANSFER => true ,
CURLOPT_POST => true ,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json' ,
'Authorization: Bearer sk-your-api-key'
],
CURLOPT_POSTFIELDS => json_encode ([
'model' => 'tripo-h3.1' ,
'prompt' => 'A detailed medieval castle with towers' ,
'format' => 'glb' ,
'quality' => 'high'
])
]);
$response = curl_exec ( $ch );
curl_close ( $ch );
$data = json_decode ( $response , true );
echo "Task ID: " . $data [ 'id' ];
{
"id" : "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ,
"status" : "pending" ,
"created" : 1706000000 ,
"model" : "tripo-h3.1"
}