viduq3-pro
Vidu Q3 Pro สร้างวิดีโอจากพรอมป์ต์และ aspect_ratio ที่จำเป็น Ailoot มีตัวควบคุมระยะเวลา ความละเอียด สไตล์ การเคลื่อนไหว และเสียงสำหรับช็อต
เกี่ยวกับโมเดล
คำอธิบายนี้ครอบคลุมความสามารถของโมเดล อินพุต เอาต์พุต และตัวเลือกที่ใช้ได้ใน Ailoot แสดงด้านล่างตามเมธอดที่เลือก
เลือก viduq3-pro พร้อม model, prompt และ aspect_ratio ที่ /v1/videos คำขอมีระยะเวลาตั้งแต่หนึ่งถึงสิบหกวินาทีและความละเอียด 540p, 720p หรือ 1080p โดยค่าเริ่มต้นคือห้าวินาทีและ 720p นอกจากนี้ยังมีฟิลด์ Style, movement_amplitude, bgm และ audio
อธิบายตัวแบบ การกระทำ สถานที่ และทิศทางกล้องเป็นช็อตที่มีจังหวะเวลาสอดคล้องกัน ให้การกระทำที่ยาวกว่ามีเวลาเพียงพอไปถึงท่าจบที่ต้องการ และระบุการจัดเฟรมตอนจบ เก็บสไตล์และการตั้งค่าเสียงที่เลือกไว้กับบรีฟ ตรวจแนวทางที่เกิดขึ้นจริงในวิดีโอที่เสร็จแล้ว ใช้ไฟล์ที่ได้รับ พรอมป์ต์ และตัวควบคุมร่วมกันเมื่อประเมินเวอร์ชันที่ปรับเปลี่ยนในภายหลัง
ส่งคำขอช็อตผ่าน /v1/videos เพียงครั้งเดียวและเก็บ ID คำขอที่ได้รับ ตรวจสถานะการดำเนินการเดียวกันนั้นผ่าน /v1/videos/{request_id} แล้วบันทึกวิดีโอที่เสร็จสมบูรณ์ทุกผลลัพธ์และคำตอบทั้งหมด ตรวจการกระทำตลอดช็อตและองค์ประกอบภาพสุดท้ายเทียบกับข้อมูลและบรีฟที่ให้มา
Ailoot Ultra · Video POST /v1/videos viduq3-pro
viduq3-proเริ่มต้น
Vidu Q3 Pro สร้างวิดีโอจากพรอมป์ต์และ aspect_ratio ที่จำเป็น Ailoot มีตัวควบคุมระยะเวลา ความละเอียด สไตล์ การเคลื่อนไหว และเสียงสำหรับช็อต
- อินพุตที่รองรับ
- ข้อความ · รูปภาพ
- ผลลัพธ์
- วิดีโอ
ใช้งานได้ใน Ailoot · อินพุตและเมธอด
Ailoot Ultra · Video POST /v1/videos
- ขาเข้า
text,image- ขาออก
video
| ฟิลด์ | ประเภท | ข้อกำหนด | ค่าและข้อจำกัด | ค่าเริ่มต้น |
|---|---|---|---|---|
ฟิลด์model | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด viduq3-pro เงื่อนไข: ใช้ตัวเลือกระบุเส้นทางของ Ailoot นี้ตามที่ระบุไว้ทุกตัวอักษร | ค่าเริ่มต้น— |
ฟิลด์prompt | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด เงื่อนไข: ใช้ฟิลด์และตัวเลือกที่ระบุไว้ในเอกสารของโมเดลที่เลือก หากไม่ได้กำหนดค่าสำหรับฟิลด์ที่ไม่บังคับ ให้ละฟิลด์นั้นไว้ | ค่าเริ่มต้น— |
ฟิลด์style | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด เงื่อนไข: ใช้ฟิลด์และตัวเลือกที่ระบุไว้ในเอกสารของโมเดลที่เลือก หากไม่ได้กำหนดค่าสำหรับฟิลด์ที่ไม่บังคับ ให้ละฟิลด์นั้นไว้ | ค่าเริ่มต้น— |
ฟิลด์aspect_ratio | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด เงื่อนไข: ใช้ฟิลด์และตัวเลือกที่ระบุไว้ในเอกสารของโมเดลที่เลือก หากไม่ได้กำหนดค่าสำหรับฟิลด์ที่ไม่บังคับ ให้ละฟิลด์นั้นไว้ | ค่าเริ่มต้น— |
ฟิลด์duration | ประเภทinteger | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 เงื่อนไข: ใช้ฟิลด์และตัวเลือกที่ระบุไว้ในเอกสารของโมเดลที่เลือก หากไม่ได้กำหนดค่าสำหรับฟิลด์ที่ไม่บังคับ ให้ละฟิลด์นั้นไว้ | ค่าเริ่มต้น5 |
ฟิลด์resolution | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด 540p, 720p, 1080p เงื่อนไข: ใช้ฟิลด์และตัวเลือกที่ระบุไว้ในเอกสารของโมเดลที่เลือก หากไม่ได้กำหนดค่าสำหรับฟิลด์ที่ไม่บังคับ ให้ละฟิลด์นั้นไว้ | ค่าเริ่มต้น720p |
ฟิลด์movement_amplitude | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด เงื่อนไข: ใช้ฟิลด์และตัวเลือกที่ระบุไว้ในเอกสารของโมเดลที่เลือก หากไม่ได้กำหนดค่าสำหรับฟิลด์ที่ไม่บังคับ ให้ละฟิลด์นั้นไว้ | ค่าเริ่มต้น— |
ฟิลด์bgm | ประเภทboolean | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด เงื่อนไข: ใช้ฟิลด์และตัวเลือกที่ระบุไว้ในเอกสารของโมเดลที่เลือก หากไม่ได้กำหนดค่าสำหรับฟิลด์ที่ไม่บังคับ ให้ละฟิลด์นั้นไว้ | ค่าเริ่มต้น— |
ฟิลด์audio | ประเภทboolean | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด เงื่อนไข: ใช้ฟิลด์และตัวเลือกที่ระบุไว้ในเอกสารของโมเดลที่เลือก หากไม่ได้กำหนดค่าสำหรับฟิลด์ที่ไม่บังคับ ให้ละฟิลด์นั้นไว้ | ค่าเริ่มต้น— |
พารามิเตอร์และวงจรการทำงานของเมธอด
| พารามิเตอร์ | ข้อกำหนด |
|---|---|
พารามิเตอร์content_type | ข้อกำหนดapplication/json |
พารามิเตอร์required | ข้อกำหนดmodel, prompt, aspect_ratio |
พารามิเตอร์optional | ข้อกำหนดstyle, duration, resolution, movement_amplitude, bgm, audio |
พารามิเตอร์material_types | ข้อกำหนดtext, image |
พารามิเตอร์conditions | ข้อกำหนดใช้ตัวเลือกระบุเส้นทางของ Ailoot นี้ตามที่ระบุไว้ทุกตัวอักษร, ใช้ฟิลด์และตัวเลือกที่ระบุไว้ในเอกสารของโมเดลที่เลือก หากไม่ได้กำหนดค่าสำหรับฟิลด์ที่ไม่บังคับ ให้ละฟิลด์นั้นไว้, ใช้ฟิลด์และตัวเลือกที่ระบุไว้ในเอกสารของโมเดลที่เลือก หากไม่ได้กำหนดค่าสำหรับฟิลด์ที่ไม่บังคับ ให้ละฟิลด์นั้นไว้, ใช้ฟิลด์และตัวเลือกที่ระบุไว้ในเอกสารของโมเดลที่เลือก หากไม่ได้กำหนดค่าสำหรับฟิลด์ที่ไม่บังคับ ให้ละฟิลด์นั้นไว้, ใช้ฟิลด์และตัวเลือกที่ระบุไว้ในเอกสารของโมเดลที่เลือก หากไม่ได้กำหนดค่าสำหรับฟิลด์ที่ไม่บังคับ ให้ละฟิลด์นั้นไว้, ใช้ฟิลด์และตัวเลือกที่ระบุไว้ในเอกสารของโมเดลที่เลือก หากไม่ได้กำหนดค่าสำหรับฟิลด์ที่ไม่บังคับ ให้ละฟิลด์นั้นไว้, ใช้ฟิลด์และตัวเลือกที่ระบุไว้ในเอกสารของโมเดลที่เลือก หากไม่ได้กำหนดค่าสำหรับฟิลด์ที่ไม่บังคับ ให้ละฟิลด์นั้นไว้, ใช้ฟิลด์และตัวเลือกที่ระบุไว้ในเอกสารของโมเดลที่เลือก หากไม่ได้กำหนดค่าสำหรับฟิลด์ที่ไม่บังคับ ให้ละฟิลด์นั้นไว้, ใช้ฟิลด์และตัวเลือกที่ระบุไว้ในเอกสารของโมเดลที่เลือก หากไม่ได้กำหนดค่าสำหรับฟิลด์ที่ไม่บังคับ ให้ละฟิลด์นั้นไว้ |
ชื่ออื่นของเมธอด: /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.14 ประมาณการก่อนสร้าง ค่าประมาณนี้ไม่ใช่ค่าใช้จ่ายเพิ่มเติมหรืออัตราคงที่สำหรับการสร้างผลลัพธ์ที่เสร็จสมบูรณ์แล้ว |
Ailoot กันยอดเงินประมาณการไว้ก่อนส่งคำขอ หลังได้ผลลัพธ์ จะคิดค่าบริการสุดท้ายตามการใช้งานที่วัดได้ การคิดค่าบริการแบบสตรีมใช้บันทึกการใช้งานสุดท้าย วิธีกันยอดเงินและคิดค่าบริการสุดท้าย →
ตัวอย่างคำขอ
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
: "${AILOOT_ASPECT_RATIO:?Set an actual customer material or documented value}"
export AILOOT_ASPECT_RATIO
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "viduq3-pro", "prompt": "A cat is walking on grass.", "aspect_ratio": "YOUR_DOCUMENTED_ASPECT_RATIO"}')
p['aspect_ratio']=os.environ['AILOOT_ASPECT_RATIO']
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
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
# Submit once. Retain the complete result, original identifiers and every response 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 ที่ส่งกลับมาจริง
เก็บการตอบกลับและส่วนหัวทั้งหมด ตัวระบุเดิม ผลลัพธ์จริงทุกรายการ และฟิลด์การใช้งาน/การคิดบัญชีทั้งหมด บันทึกแอสเซ็ตที่เป็นของคุณแต่ละชิ้นโดยไม่ซ้ำ และเก็บทุกบทบาทที่ชี้ไปยังแอสเซ็ตนั้น
เมื่อต้องตรวจสอบการตอบกลับต้นฉบับ
เก็บ id งานหรือการดำเนินการสาธารณะที่ส่งกลับและส่วนหัวทั้งหมด อ่านเฉพาะงานเดิม สถานะ unknown หรือ result_pending_check ไม่อนุญาตให้สร้างอีกครั้ง
ฟิลด์การตอบกลับ
| ฟิลด์ | ประเภท |
|---|---|
ฟิลด์id | ประเภทstring |
ฟิลด์polling_url | ประเภทstring |
ฟิลด์provider_task_id | ประเภทstring |
ฟิลด์task_id | ประเภทstring |
ฟิลด์status | ประเภทstring |
ฟิลด์video_url | ประเภทstring |
ข้อผิดพลาดและขั้นตอนถัดไป
| การตอบกลับ | เงื่อนไข | ขั้นตอนถัดไป |
|---|---|---|
การตอบกลับ400 · invalid_request_error | เงื่อนไขฟิลด์ที่จำเป็น ตัวเลือกโมเดล ชนิดข้อมูล หรือรูปแบบการแทนข้อมูลขาเข้าไม่ถูกต้อง | ขั้นตอนถัดไปตรวจสอบรายละเอียดการตรวจสอบความถูกต้องที่ส่งกลับมาก่อนเตรียมคำขอแยกต่างหาก |
การตอบกลับ | เงื่อนไขไม่ทราบคำขอหรือผลลัพธ์ต้นฉบับ หรือจำเป็นต้องตรวจสอบ | ขั้นตอนถัดไปเก็บตัวระบุและส่วนหัวเดิมไว้ อ่านเฉพาะข้อมูลสถานะหรือรายการในคลังที่รองรับ ห้ามส่งคำขอสร้างซ้ำ |
ชื่ออื่น
ชื่ออื่นของโมเดล
Ailoot Ultra viduq3-pro
ชื่อพาธเมธอดอื่น
/v1/videos/generations
ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล
FAQ · viduq3-pro
- มีอินพุตและผลลัพธ์ใดบ้าง?
POST /v1/videos·viduq3-pro:text,image→video- คำขอใช้ฟิลด์ใดบ้าง?
POST /v1/videos·viduq3-pro:model,prompt,style,aspect_ratio,duration,resolution,movement_amplitude,bgm,audio