Tripo: 3D Generation
ينشئ Tripo ملف نموذج ثلاثي الأبعاد (3D) انطلاقًا من وصف مكتوب لجسم. وتميّز مسارات العمل الأوسع لدى الشركة المصنّعة بين الهندسة والإكساء ومعالجة النموذج اللاحقة؛ افحص الشبكة الهندسية المكتملة من عدة زوايا واحتفظ بالملفات الفعلية للمشهد أو المحرر المستهدف.
عن النموذج
يغطي هذا الوصف قدرات النموذج. وترد أدناه المدخلات والمخرجات والخيارات المتاحة في Ailoot للطريقة المحددة.
ينشئ Tripo ملفات نماذج ثلاثية الأبعاد (3D) انطلاقًا من وصف أو مرجع مرئي. وتفصل مساراته توليد الجسم عن خطوات لاحقة مثل الإكساء وتجهيز هيكل التحريك والتحويل. ابدأ بتحديد النموذج المطلوب والعملية التي تنتجه: شبكة هندسية ثابتة لمشهد، أو جسم مكسو بالخامات للتصيير، أو نموذج سيخضع لمزيد من التجهيز في محرر 3D.
لوصف يحوّل النص إلى مجسم، صف شكل الجسم وأجزاءه المهمة. فيمكن تحديد فانوس صغير عبر جسمه ومقبضه وفتحاته ونسبه؛ وكائن عبر هيئته وأطرافه ووضعيته. اذكر المادة أو المعالجة المرئية حين تؤثر في النتيجة. أبقِ الوصف مركزًا على الجسم نفسه حتى يمكن تقييم الهندسة المولدة وفق تصميم واضح.
لمسار عمل لدى الشركة المصنّعة قائم على مرجع، جهّز صورًا تُظهر حدود الجسم وسماته المميزة. وينبغي لعدة زوايا أن تصف الجسم نفسه بنسب وملحقات متسقة. راجع الأجزاء المخفية في المرجع بعد التوليد، لأن منظرًا أماميًا مقنعًا لا يثبت أن الخلف أو السطح السفلي أو وصلات المكونات تتوافق مع التصميم المقصود.
احتفظ بإصدار النموذج المختار مع الطلب. وتحدد واجهة التوليد لدى Tripo العملية بصورة مستقلة عن إعداد إصدار النموذج، ويختار المثال الموثق لتحويل النص إلى مجسم إصدارًا صريحًا. حافظ على الإصدار والضوابط الدقيقة عند مقارنة النماذج حتى لا يُخلط تغيير وصف الجسم بتغيير إعداد التوليد.
الهندسة والمظهر السطحي قراران منفصلان في الإنتاج. ويميّز مسار العمل الأساسي لدى الشركة المصنّعة بين نموذج دون إكساء وناتج يتضمن خامات ومواد تصيير قائمة على الفيزياء. اختر شكل الملف المطلوب للخطوة التالية، ثم افحص الشبكة الهندسية وأي ملفات مواد مرافقة. تفيد صورة المعاينة في تكوين تصور أولي، بينما يكون النموذج الفعلي هو الملف اللازم لتجميع المشهد ومتابعة التحرير.
افحص الجسم المكتمل من عدة زوايا. انظر إلى هيئته وفصل أجزائه وعناصره الرفيعة وفتحاته والأسطح التي تلتقي عندها المكونات. ولعنصر بأسلوب فني، قارن النسب بوصف التصميم. ولجسم يشبه منتجًا، تحقق من التفاصيل التي تمثلها الهندسة وتلك التي لا تظهر إلا في المعالجة السطحية. حدد السمة التي تحتاج إلى مراجعة قبل تغيير الموجّه أو المرجع.
يجري التوليد كمهمة غير متزامنة. احتفظ بمعرّف المهمة الأصلي خلال التحقق من الحالة، وأبقِ النموذج المكتمل والمعاينة وأي ملفات أخرى معادة معًا. وتتضمن النتيجة الموثقة حقول إخراج مرتبطة بالنموذج وصورًا مصيّرة. احفظ الملفات نفسها لخطوة الإنتاج التالية بدلًا من الاعتماد على رابط نتيجة مؤقت أو التعامل مع المعاينة على أنها تسليم 3D كامل.
استورد النموذج إلى المحرر أو بيئة العرض المستهدفة وافحص اتجاهه ومقياسه ومواده وهندسته هناك. فلعنصر مشهد ولقطة مصيّرة مقرّبة وشخصية جاهزة للتحريك احتياجات مختلفة للإنهاء. احتفظ بنسخة عمل للتعديلات، واحفظ النموذج المصدري المولد مع وصفه ومراجعه. وعند الحاجة إلى عملية أخرى، مثل العمل على الخامات أو تجهيز هيكل التحريك، اخترها عمدًا وراجع النموذج الناتج كمرحلة مستقلة.
Ailoot Ultra · 3D POST /v1/3d/generations tripo3d
tripo3dالبداية
ينشئ Tripo ملف نموذج ثلاثي الأبعاد (3D) انطلاقًا من وصف مكتوب لجسم. وتميّز مسارات العمل الأوسع لدى الشركة المصنّعة بين الهندسة والإكساء ومعالجة النموذج اللاحقة؛ افحص الشبكة الهندسية المكتملة من عدة زوايا واحتفظ بالملفات الفعلية للمشهد أو المحرر المستهدف.
- المدخلات المقبولة
- النص
- النتائج
- model_3d · الصور
متاح في Ailoot · المدخلات والطرائق
Ailoot Ultra · 3D POST /v1/3d/generations
- الإدخال
text- الإخراج
model_3d,image
| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
|---|---|---|---|---|
الحقلmodel | النوعstring | المتطلبمطلوب | القيم والحدود tripo3d الشروط: استخدم محدِّد نموذج Ailoot. | القيمة الافتراضية— |
الحقلtype | النوعstring | المتطلبمطلوب | القيم والحدود text_to_model, image_to_model, multiview_to_model, texture_model, animate_prerigcheck, animate_rig, animate_retarget, stylize_model, convert_model الشروط: يستخدم المثال الكامل text_to_model؛ وتتطلب أنواع المهام الأخرى مدخلاتها الموثّقة الخاصة بكل نوع. | القيمة الافتراضية— |
الحقلmodel_version | النوعstring | المتطلبمطلوب | القيم والحدود v2.0-20240919, v1.4-20240625, v2.5-20250123, v3.0-20250812, Turbo-v1.0-20250506 الشروط: اختر إصداراً موثّقاً صراحةً؛ يستخدم هذا المثال v3.0-20250812. | القيمة الافتراضية— |
الحقلprompt | النوعstring | المتطلبمطلوب | القيم والحدود الشروط: صِف العنصر المراد إنشاؤه. | القيمة الافتراضية— |
معلمات الطريقة ودورة حياتها
| المعلمة | المواصفات |
|---|---|
المعلمةcontent_type | المواصفاتapplication/json |
المعلمةrequired | المواصفاتmodel, type, model_version, prompt |
المعلمةoptional | المواصفات |
المعلمةmaterial_types | المواصفاتtext |
المعلمةconditions | المواصفاتاستخدم محدِّد نموذج Ailoot., يستخدم المثال الكامل text_to_model؛ وتتطلب أنواع المهام الأخرى مدخلاتها الموثّقة الخاصة بكل نوع., اختر إصداراً موثّقاً صراحةً؛ يستخدم هذا المثال v3.0-20250812., صِف العنصر المراد إنشاؤه. |
دورة الحياة: submit_once_poll_original
GET /v1/3d/generations/{request_id}
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
الباقات
كيفية احتساب الرسوم النهائية
تقدّر التعرفات المعروضة التكلفة قبل التوليد. تُحسب الرسوم النهائية من التكلفة المسجّلة لعملية التوليد الأصلية. مدة المخرجات المقاسة والكميات المتوقعة ليست الكمية النهائية الخاضعة للفوترة.
مراجع التسعير لا تضيف خيارات للطلب. المعلمات المدعومة مذكورة للطريقة المحددة.
- الوضع السريع
- غير محدد عند اختيار الوضع السريع
- الوضع المرن
- غير محدد عند اختيار وضع flex
- أقصى جهد للاستدلال
- غير محدد عندما يُطبَّق الضبط الافتراضي default مع أقصى جهد للاستدلال
تعرفات تقديرية للمقارنة
الأسعار حسب الإعدادات
طابق كل رسم مع الشروط المعروضة. طبّق تعرفة واحدة لكل مجموعة من الإعدادات البديلة.
| الإعدادات | جدول التعرفة | الكمية المتوقعة | الرسوم |
|---|---|---|---|
| الإعداداتالتعرفات الأساسية للرموز | جدول التعرفةالتعرفة الأساسية | الكمية المتوقعة— | الرسوم الإدخال · رموز الإدخال · تقدير للمقارنة فقط — / 1K من الرموز الإخراج · رموز الإخراج · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة · تقدير للمقارنة فقط — / 1K من الرموز |
| الإعداداتتكلفة التوليد التقديرية | جدول التعرفة— | الكمية المتوقعةتقدير لتوليد واحد | الرسوم الإخراج · تكلفة التوليد التقديرية · تقدير للمقارنة فقط $1.35 تقدير قبل الإنشاء هذا التقدير ليس رسومًا إضافية ولا تعرفة ثابتة لعملية التوليد المكتملة. |
تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. كيفية عمل حجز المبلغ وتسوية الرسوم →
أمثلة للطلبات
Ailoot Ultra · 3D
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON'
{
"model": "tripo3d",
"type": "text_to_model",
"prompt": "a cute pig",
"model_version": "v3.0-20250812"
}
JSON
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/3d/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
# Create once; retain id, polling_url, original task identifiers and every header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("status.json").read_text())
roles={}
def visit(v,path=""):
if isinstance(v,dict):
for k,x in v.items(): visit(x,path+"/"+k)
elif isinstance(v,list):
for i,x in enumerate(v): visit(x,path+"/"+str(i))
elif isinstance(v,str):
u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
target=Path(f"asset-{i}.bin")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
raw=target.read_bytes()
if not raw: raise SystemExit("Empty asset; retain original status and metadata")
ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
name=f"asset-{i}.{ext}"
if target.name!=name: target.rename(name)
manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS
استلام النتائج وحفظها
Ailoot Ultra · 3D
نزّل كل صورة مُرجعة أو احفظ محتواها بصيغة Base64
GET /v1/3d/generations/{request_id}GET /v1/media/assetsGET /v1/media/assets/{asset_id}
الاحتفاظ بكل النتائج المكتملة
احتفظ بكل استجابة كاملة وكل ملف وجزء محتوى تم إرجاعه.
احتفظ بالاستجابة والترويسات كاملة، والمعرّفات الأصلية، وكل مخرج فعلي، وجميع حقول الاستخدام والمحاسبة. احفظ كل أصل فريد مملوك لك، واحتفظ بكل دور يشير إليه.
عند الحاجة إلى التحقق من الاستجابة الأصلية
احتفظ بالمعرّف العام المُعاد للمهمة أو العملية وبجميع الترويسات. اقرأ المهمة الأصلية فقط؛ فالحالة unknown أو result_pending_check لا تمنح الإذن بإنشاء مهمة أخرى.
حقول الاستجابة
| الحقل | النوع |
|---|---|
الحقلid | النوعstring |
الحقلpolling_url | النوعstring |
الحقلprovider_task_id | النوعstring |
الحقلcode | النوعinteger |
الحقلdata.task_id | النوعstring |
الحقلdata.status | النوعstring |
الحقلdata.progress | النوعinteger |
الحقلdata.output.* | النوعstring |
الحقلdata.result.*.url | النوعstring |
الحقلdata.result.*.type | النوعstring |
الحقلdata.thumbnail | النوعstring |
الأسماء البديلة
الأسماء البديلة للنموذج
Ailoot Ultra tripo3d
الأسماء البديلة لمسارات الطرائق
استخدم مسارات الطرائق المعروضة أعلاه.
معرّفات النماذج ذات الصلة IDs
FAQ · Tripo: 3D Generation
- ما المدخلات والنتائج المتاحة؟
POST /v1/3d/generations·tripo3d:text→model_3d,image- ما الحقول التي يستخدمها الطلب؟
POST /v1/3d/generations·tripo3d:model,type,model_version,prompt