API Reference
VidioClient є основною точкою входу для взаємодії з VIDIO API з Python. Використовуйте його для завантаження файлів, створення завдань для монтажу, перевірки статусу завдань, рендерингу виходу та очікування завершення обробки.
Модель клієнта
Клас VidioClient надає простий інтерфейс для роботи з VIDIO API. Після створення клієнта з вашим 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.cut_method дорівнює ai-cut; не обов'язкове, коли cut_method — no-cut. Довжина виходу має бути менша або рівна сумарній тривалості всіх вхідних відео.landscape, portrait або square.ai-cut та no-cut. За замовчуванням — ai-cut.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": "running-night-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)