API Reference

VidioClient є основною точкою входу для взаємодії з VIDIO API з Python. Використовуйте його для завантаження файлів, створення завдань для монтажу, перевірки статусу завдань, рендерингу виходу та очікування завершення обробки.

Доступ до API наразі доступний для плану Studio та вище.

Модель клієнта

Клас VidioClient надає простий інтерфейс для роботи з VIDIO API. Після створення клієнта з вашим API ключем, ви можете завантажити вхідні файли, створити завдання для монтажу, перевіряти статус завдань, рендерити вихідні дані та очікувати завершення завдань.

Властивості

api_keystring
Ваш VIDIO API ключ, що використовується для автентифікації запитів.

Методи

CLASSVidioClient(api_key)

Ініціалізувати клієнта

Створює новий екземпляр VidioClient.

Parameters

api_keystring
Ваш VIDIO API ключ.

Returns

Конфігурований екземпляр VidioClient.

python
from vidio import VidioClient import os client = VidioClient( api_key=os.getenv("VIDIO_API_KEY") )
METHODclient.upload(file_path)

Завантажити файл

Завантажує локальний файл до VIDIO та повертає результат завантаження, що містить ключ вхідних даних.

Parameters

file_pathstring
Локальний шлях до файлу, який ви хочете завантажити.

Returns

Об'єкт результату завантаження, що містить `input_key`.

python
result = client.upload("/path/to/video.mp4") print(result.input_key)
METHODclient.create_highlight_reel(input_keys, video_category, output_length, aspect_ratio)

Створити завдання для монтажу

Створює завдання для монтажу з одного або кількох завантажених вхідних файлів.

Parameters

input_keyslist[string]
Список ключів завантажених файлів, повернених методом upload(). Порядок ключів вхідних даних визначає порядок медіа у вихідному відео.
video_categorystring
Категорія відео, така як ball-sports. Це може бути podcast, ball-sports, non-ball-sports, beauty-product-demo, wedding, travel, others. Для найкращих результатів вкажіть категорію, яка найбільше відповідає вашому контенту. Якщо ваш контент не підходить жодній категорії, використовуйте others.
output_lengthinteger
Бажана довжина виходу в секундах. Довжина виходу повинна бути меншою або рівною загальній довжині всіх вхідних відео.
aspect_ratiostring
Відношення сторін виходу, таке як landscape, portrait або square.
категорія_музикиstring, optional
Попередньо налаштована категорія музики, яку застосовують до виходу. Підтримувані значення: corporate, romantic, sports, kids_and_comedy, ambient_and_nature, horror_and_suspense, documentary та trending_vlogs. Якщо тривалість виходу коротша за тривалість музики, вибрана доріжка буде зациклена, щоб відповідати тривалості виходу.
music_volumeinteger, optional
Гучність фонової музики від 0 до 100. Якщо не вказано, значення за замовчуванням — 100.
original_audio_volumeinteger, optional
Початкова гучність аудіо джерела від 0 до 100. Якщо не вказано, значення за замовчуванням - 100.

Returns

Об'єкт завдання, що містить `job_id` та інформацію про статус.

python
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)
METHODclient.get_job(job_id)

Отримати завдання

Отримує поточний статус завдання.

Parameters

job_idstring
ID завдання, повернене під час створення завдання для монтажу.

Returns

Об'єкт завдання з останнім статусом.

Response fields

job_idstring
Ідентифікатор завдання.
statusstring
Поточний статус завдання, наприклад submitted, queued, processing, processed, rendering або rendered.
outputslist[OutputResult]
Повертається, коли завдання повністю відрендерено й дані виводу доступні з останнього підзавдання.
startfloat | null
Час початку сегмента виводу, якщо доступний.
endfloat | null
Час завершення сегмента виводу, якщо доступний.
thumbnailstring | null
Шлях до мініатюри або URL для виводу.
durationfloat | null
Тривалість виводу в секундах.
fpsfloat | null
Кадрів за секунду для виводу.
overlayslist[OverlayResult]
Очищені оверлеї, включені у вивід.
idinteger | null
Ідентифікатор оверлея.
fileIDstring | null
Ідентифікатор пов'язаного файлу, якщо доступний.
originalFileNamestring | null
Оригінальна назва вхідного файлу, пов'язана з оверлеєм, якщо доступна.
from_integer | float | null
Зсув кадру, з якого починається оверлей.
contentstring | null
Значення вмісту оверлея, наприклад шлях до мініатюри або ідентифікатор звуку.
durationInFramesinteger | null
Тривалість оверлея в кадрах.
typestring | null
Тип оверлея, наприклад video або sound.
srcstring | null
URL джерела медіа для оверлея.
videoStartTimeinteger | float | null
Час початку вихідного відео, якщо застосовно.
python
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 } ] }
METHODclient.wait_for_job(job_id)

Чекати на завдання

Опитує API, поки завдання для монтажу не досягне завершеного стану.

Parameters

job_idstring
ID завдання, на яке потрібно чекати.

Returns

Остаточний завершений об'єкт завдання.

python
final_job = client.wait_for_job(job.job_id) print(final_job.status)
METHODclient.render(job_id)

Рендерити вихід

Починає рендеринг відео виходу для завершеного завдання для монтажу.

Parameters

job_idstring
ID завершеного завдання для монтажу.
output_indexinteger, optional
Індекс списку OutputResult, який потрібно відобразити. За замовчуванням - 0. Як правило, перший результат є найкращим.

Returns

Об'єкт результату рендерингу зі статусом рендерингу.

python
render_result = client.render( job_id=job.job_id ) print(render_result.status)
METHODclient.wait_for_render(job_id)

Чекати на рендер

Опитує, поки рендер не завершиться і вихід не буде готовий.

Parameters

job_idstring
ID завдання, що пов'язане з рендером.

Returns

Остаточний об'єкт результату рендеру.

python
final_render = client.wait_for_render(job.job_id) print(final_render.output_url)