API Справка

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

Доступ к API в настоящее время доступен для плана Studio и выше.

Модель клиента

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

Свойства

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

Методы

КЛАССVidioClient(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") )
МЕТОДclient.upload(file_path)

Загрузить файл

Загружает локальный файл в VIDIO и возвращает результат загрузки с содержимым ключа входа.

Parameters

file_pathstring
Локальный путь к файлу, который вы хотите загрузить.

Returns

Объект результата загрузки, содержащий `input_key`.

python
result = client.upload("/path/to/video.mp4") print(result.input_key)
МЕТОДclient.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.
исходная_громкость_аудиоinteger, 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)
МЕТОДclient.get_job(job_id)

Получить задание

Получает текущий статус задания.

Parameters

job_idstring
Идентификатор задания, возвращенный при создании задания на выделенное видео.

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)
json
{ "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

job_idstring
Идентификатор задания, который нужно ожидать.

Returns

Заключительный объект задания, завершенного.

python
final_job = client.wait_for_job(job.job_id) print(final_job.status)
МЕТОДclient.render(job_id)

Рендер выходных данных

Запускает рендеринг выходного видео для завершенного задания на выделенное видео.

Parameters

job_idstring
Идентификатор завершенного задания на выделенное видео.
output_indexinteger, optional
Индекс элемента в списке OutputResult, который следует отобразить. Значение по умолчанию — 0. Как правило, первый вывод является наилучшим результатом.

Returns

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

python
render_result = client.render( job_id=job.job_id ) print(render_result.status)
МЕТОДclient.wait_for_render(job_id)

Ожидать завершения рендеринга

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

Parameters

job_idstring
Идентификатор задания, связанного с рендерингом.

Returns

Заключительный объект результата рендеринга.

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