เอกสารอ้างอิง API
VidioClient เป็นจุดเริ่มต้นหลักสำหรับการโต้ตอบกับ API VIDIO จาก Python ใช้ในการอัพโหลดไฟล์ สร้างงานไฮไลท์ รีล ตรวจสอบสถานะงาน เรนเดอร์ผลลัพธ์ และรอให้การประมวลผลเสร็จสิ้น.
โมเดลไคลเอนต์
VidioClient มีอินเทอร์เฟซที่เรียบง่ายสำหรับการทำงานกับ API VIDIO หลังจากสร้างไคลเอนต์ด้วย API คีย์ของคุณ คุณสามารถอัพโหลดไฟล์นำเข้า สร้างงานไฮไลท์รีล ตรวจสอบสถานะงาน เรนเดอร์ผลลัพธ์ และรอให้งานเสร็จสิ้น.
คุณสมบัติ
เมธอด
VidioClient(api_key)เริ่มต้นไคลเอนต์
สร้างอินสแตนซ์ใหม่ของ VidioClient.
Parameters
Returns
อินสแตนซ์ VidioClient ที่กำหนดค่า.
from vidio import VidioClient
import os
client = VidioClient(
api_key=os.getenv("VIDIO_API_KEY")
)client.upload(file_path)อัพโหลดไฟล์
อัพโหลดไฟล์ท้องถิ่นไปยัง VIDIO และส่งกลับผลลัพธ์การอัพโหลดที่มีคีย์นำเข้า.
Parameters
Returns
วัตถุผลลัพธ์การอัพโหลดที่มี `input_key`.
result = client.upload("/path/to/video.mp4")
print(result.input_key)client.create_highlight_reel(input_keys, video_category, output_length, aspect_ratio)สร้างงานไฮไลท์รีล
สร้างงานไฮไลท์รีลจากไฟล์นำเข้าที่อัพโหลดหนึ่งไฟล์หรือมากกว่า.
Parameters
upload(). ลำดับของคีย์นำเข้าจะกำหนดลำดับสื่อในวิดีโอผลลัพธ์.ball-sports. อาจเป็น podcast, ball-sports, non-ball-sports, beauty-product-demo, wedding, travel, others. เพื่อผลลัพธ์ที่ดีที่สุดให้ระบุหมวดหมู่ที่ใกล้เคียงที่สุดกับเนื้อหาของคุณ หากเนื้อหาของคุณไม่อยู่ในหมวดหมู่นั้นให้ใช้ others.landscape, portrait, หรือ square.corporate, romantic, sports, kids_and_comedy, ambient_and_nature, horror_and_suspense, documentary, และ trending_vlogs หากความยาวของเอาต์พุตสั้นกว่าความยาวของเพลง แทร็กที่เลือกจะเล่นวนเพื่อให้พอดีกับเอาต์พุต.0 ถึง 100. หากไม่ได้ระบุ ค่าเริ่มต้นคือ 100.0 ถึง 100 หากไม่ได้ระบุ ค่าดีฟอลต์คือ 100.Returns
วัตถุงานที่มี `job_id` และข้อมูลสถานะ.
job = client.create_highlight_reel(
input_keys=[result.input_key],
video_category="ball-sports",
output_length=30,
aspect_ratio="landscape",
)
print(job.job_id)
print(job.status)client.get_job(job_id)รับงาน
ดึงสถานะปัจจุบันของงาน.
Parameters
Returns
วัตถุงานที่มีสถานะล่าสุด.
Response fields
submitted, queued, processing, processed, rendering, หรือ rendered.video หรือ sound.job_status = client.get_job(job.job_id)
print(job_status.status){
"job_id": "abc123",
"status": "เรนเดอร์แล้ว",
"outputs": [
{
"start": null,
"end": null,
"thumbnail": "out/...jpg",
"duration": 15.22,
"overlays": [
{
"id": 0,
"fileID": "file_123",
"from": 0,
"content": "https://...",
"durationInFrames": 284,
"type": "video",
"src": "https://...",
"videoStartTime": 5425
},
{
"id": 876361,
"from": 0,
"content": "วิ่ง-กลางคืน-393139",
"durationInFrames": 912,
"type": "sound",
"src": "https://..."
}
],
"fps": 59.94
}
]
}client.wait_for_job(job_id)รองาน
ตรวจสอบ API จนกว่างานไฮไลท์รีลจะถึงสถานะเสร็จสมบูรณ์.
Parameters
Returns
วัตถุงานสุดท้ายที่เสร็จสมบูรณ์.
final_job = client.wait_for_job(job.job_id)
print(final_job.status)client.render(job_id)เรนเดอร์ผลลัพธ์
เริ่มการเรนเดอร์วิดีโอผลลัพธ์สำหรับงานไฮไลท์รีลที่เสร็จสมบูรณ์.
Parameters
OutputResult ที่จะแสดง. ค่าเริ่มต้นคือ 0. โดยทั่วไปเอาต์พุตตัวแรกเป็นผลลัพธ์ที่ดีที่สุด.Returns
วัตถุผลลัพธ์การเรนเดอร์ที่มีสถานะการเรนเดอร์.
render_result = client.render(
job_id=job.job_id
)
print(render_result.status)client.wait_for_render(job_id)รอการเรนเดอร์
ตรวจสอบจนกว่าการเรนเดอร์จะเสร็จสิ้นและผลลัพธ์พร้อม.
Parameters
Returns
วัตถุผลลัพธ์การเรนเดอร์สุดท้าย.
final_render = client.wait_for_render(job.job_id)
print(final_render.output_url)