PixVerse v4
فيديو من نص أو صورة بمدة 5/8 ثوانٍ وخمس نسب أبعاد وجودة 360p–1080p.
عن النموذج
يغطي هذا الوصف قدرات النموذج. وترد أدناه المدخلات والمخرجات والخيارات المتاحة في Ailoot للطريقة المحددة.
يقبل pixverse-v4 النص وصورة مرجعية اختيارية لتوليد الفيديو. خيارات aspect_ratio هي 16:9, 4:3, 1:1, 3:4 و9:16؛ ويقبل quality القيم 360p أو 540p أو 720p أو 1080p. المدة 5 أو 8 ثوانٍ. استخدام ملموس هو لقطة منتج رأسية من مرجع لمونتاج اجتماعي قصير.
تدرج /v1/videos أيضًا motion_mode بقيمة normal أو fast، مع negative_prompt وend_image اختياري. حقول مزامنة الشفاه أدوات مسماة مستقلة وتتبع تعريفاتها، لا مسار رفع صوت عام مفترض. اختر التركيبات التي يدعمها الطلب المختار. اجمع المهمة الأصلية وكل مخرج فعلي؛ فـ fast قيمة وضع حركة وليست ضمان زمن توليد مقاسًا.
Ailoot Ultra · Video POST /v1/videos pixverse-v4
pixverse-v4البداية
فيديو من نص أو صورة بمدة 5/8 ثوانٍ وخمس نسب أبعاد وجودة 360p–1080p.
- المدخلات المقبولة
- النص · الصور
- النتائج
- فيديو
متاح في Ailoot · المدخلات والطرائق
Ailoot Ultra · Video POST /v1/videos
- الإدخال
text,image- الإخراج
video
| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
|---|---|---|---|---|
الحقلmodel | النوعstring | المتطلبمطلوب | القيم والحدود pixverse-v4 الشروط: استخدم مُحدِّد التوجيه هذا في Ailoot كما هو تمامًا. | القيمة الافتراضية— |
الحقلprompt | النوعstring | المتطلبمطلوب | القيم والحدود الشروط: صِف المشهد وحركته. | القيمة الافتراضية— |
الحقلaspect_ratio | النوعstring | المتطلباختياري | القيم والحدود 16:9, 4:3, 1:1, 3:4, 9:16 الشروط: استخدم إحدى نسب العرض إلى الارتفاع المدرجة للنموذج المحدد. | القيمة الافتراضية— |
الحقلquality | النوعstring | المتطلباختياري | القيم والحدود 360p, 540p, 720p, 1080p الشروط: استخدم قيمة الجودة المدرجة للنموذج المحدد. | القيمة الافتراضية— |
الحقلmotion_mode | النوعstring | المتطلباختياري | القيم والحدود normal, fast الشروط: استخدم وضع الحركة المدرج للنموذج المحدد. | القيمة الافتراضية— |
الحقلduration | النوعinteger | المتطلباختياري | القيم والحدود 5, 8 الشروط: استخدم مدة مدرجة؛ ولا تفترض قيمة افتراضية غير مذكورة. | القيمة الافتراضية— |
الحقلend_image | النوعstring | المتطلباختياري | القيم والحدود الشروط: يؤدي تحديد إطار نهاية اختياري إلى اختيار وضع صور مدعوم. | القيمة الافتراضية— |
الحقلlip_sync_tts_content | النوعstring | المتطلباختياري | القيم والحدود الشروط: محتوى كلام اختياري للنموذج المحدد. | القيمة الافتراضية— |
الحقلlip_sync_tts_speaker_id | النوعstring | المتطلباختياري | القيم والحدود الشروط: استخدم معرّف صوت فعليًا يدعمه المزوّد؛ ولا تختلق معرّف صوت. | القيمة الافتراضية— |
الحقلimage | النوعstring or array<string> | المتطلباختياري | القيم والحدود الشروط: استخدم عنوان URL فعليًا لصورتك يمكن الوصول إليه علنًا أو صورة بترميز base64؛ فالنموذج المحدد يدعم إدخال الصور. | القيمة الافتراضية— |
الحقلnegative_prompt | النوعstring | المتطلباختياري | القيم والحدود الشروط: صِف المحتوى المطلوب تجنّبه. | القيمة الافتراضية— |
معلمات الطريقة ودورة حياتها
| المعلمة | المواصفات |
|---|---|
المعلمةcontent_type | المواصفاتapplication/json |
المعلمةrequired | المواصفاتmodel, prompt |
المعلمةoptional | المواصفاتaspect_ratio, quality, motion_mode, duration, end_image, lip_sync_tts_content, lip_sync_tts_speaker_id, image, negative_prompt |
المعلمةmaterial_types | المواصفاتtext, image |
المعلمةconditions | المواصفاتاستخدم مُحدِّد التوجيه هذا في Ailoot كما هو تمامًا., صِف المشهد وحركته., استخدم إحدى نسب العرض إلى الارتفاع المدرجة للنموذج المحدد., استخدم قيمة الجودة المدرجة للنموذج المحدد., استخدم وضع الحركة المدرج للنموذج المحدد., استخدم مدة مدرجة؛ ولا تفترض قيمة افتراضية غير مذكورة., يؤدي تحديد إطار نهاية اختياري إلى اختيار وضع صور مدعوم., محتوى كلام اختياري للنموذج المحدد., استخدم معرّف صوت فعليًا يدعمه المزوّد؛ ولا تختلق معرّف صوت., استخدم عنوان URL فعليًا لصورتك يمكن الوصول إليه علنًا أو صورة بترميز base64؛ فالنموذج المحدد يدعم إدخال الصور., صِف المحتوى المطلوب تجنّبه. |
الأسماء البديلة للطريقة: /v1/videos/generations
دورة الحياة: submit_once_poll_original
GET /v1/videos/{request_id}
GET /v1/videos/generations/{request_id}
GET /v1/videos/{request_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
الباقات
كيفية احتساب الرسوم النهائية
تقدّر التعرفات المعروضة التكلفة قبل التوليد. تُحسب الرسوم النهائية من التكلفة المسجّلة لعملية التوليد الأصلية. مدة المخرجات المقاسة والكميات المتوقعة ليست الكمية النهائية الخاضعة للفوترة.
مراجع التسعير لا تضيف خيارات للطلب. المعلمات المدعومة مذكورة للطريقة المحددة.
- الوضع السريع
- غير محدد عند اختيار الوضع السريع
- الوضع المرن
- غير محدد عند اختيار وضع flex
- أقصى جهد للاستدلال
- غير محدد عندما يُطبَّق الضبط الافتراضي default مع أقصى جهد للاستدلال
تعرفات تقديرية للمقارنة
الأسعار حسب الإعدادات
طابق كل رسم مع الشروط المعروضة. طبّق تعرفة واحدة لكل مجموعة من الإعدادات البديلة.
| الإعدادات | جدول التعرفة | الكمية المتوقعة | الرسوم |
|---|---|---|---|
| الإعداداتالتعرفات الأساسية للرموز | جدول التعرفةالتعرفة الأساسية | الكمية المتوقعة— | الرسوم الإدخال · رموز الإدخال · تقدير للمقارنة فقط — / 1K من الرموز الإخراج · رموز الإخراج · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت · تقدير للمقارنة فقط — / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة · تقدير للمقارنة فقط — / 1K من الرموز |
| الإعداداتتكلفة التوليد التقديرية | جدول التعرفة— | الكمية المتوقعةتقدير لتوليد واحد | الرسوم الإخراج · تكلفة التوليد التقديرية · تقدير للمقارنة فقط $0.2 تقدير قبل الإنشاء هذا التقدير ليس رسومًا إضافية ولا تعرفة ثابتة لعملية التوليد المكتملة. |
تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. كيفية عمل حجز المبلغ وتسوية الرسوم →
أمثلة للطلبات
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON'
{
"model": "pixverse-v4",
"prompt": "A cat is walking on grass."
}
JSON
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
-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 · Video
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
الاحتفاظ بكل النتائج المكتملة
احفظ كل فيديو مكتمل أو ملف مُرجع؛ ونزّل كل أصل من URL الخاص به الذي تم إرجاعه فعليًا.
احتفظ بالاستجابة والترويسات كاملة، والمعرّفات الأصلية، وكل مخرج فعلي، وجميع حقول الاستخدام والمحاسبة. احفظ كل أصل فريد مملوك لك، واحتفظ بكل دور يشير إليه.
عند الحاجة إلى التحقق من الاستجابة الأصلية
احتفظ بالمعرّف العام المُعاد للمهمة أو العملية وبجميع الترويسات. اقرأ المهمة الأصلية فقط؛ فالحالة unknown أو result_pending_check لا تمنح الإذن بإنشاء مهمة أخرى.
حقول الاستجابة
| الحقل | النوع |
|---|---|
الحقلid | النوعstring |
الحقلpolling_url | النوعstring |
الحقلprovider_task_id | النوعstring |
الحقلtask_id | النوعstring |
الحقلstatus | النوعstring |
الحقلvideo_url | النوعstring |
الأسماء البديلة
الأسماء البديلة للنموذج
Ailoot Ultra pixverse-v4
الأسماء البديلة لمسارات الطرائق
/v1/videos/generations
معرّفات النماذج ذات الصلة IDs
FAQ · PixVerse v4
- ما المدخلات والنتائج المتاحة؟
POST /v1/videos·pixverse-v4:text,image→video- ما الحقول التي يستخدمها الطلب؟
POST /v1/videos·pixverse-v4:model,prompt,aspect_ratio,quality,motion_mode,duration,end_image,lip_sync_tts_content,lip_sync_tts_speaker_id,image,negative_prompt