Referência da API
O VidioClient é o ponto de entrada principal para interagir com a API VIDIO a partir do Python. Use-o para enviar arquivos, criar trabalhos de destaque, verificar o status do trabalho, renderizar saídas e aguardar a conclusão do processamento.
O modelo de cliente
O VidioClient fornece uma interface simples para trabalhar com a API VIDIO. Depois de criar um cliente com sua chave da API, você pode enviar arquivos de entrada, criar trabalhos de destaque, consultar o status do trabalho, renderizar saídas e aguardar a finalização dos trabalhos.
Propriedades
Métodos
VidioClient(api_key)Inicializar cliente
Cria uma nova instância do VidioClient.
Parameters
Returns
Uma instância do VidioClient configurada.
from vidio import VidioClient
import os
client = VidioClient(
api_key=os.getenv("VIDIO_API_KEY")
)client.upload(file_path)Enviar arquivo
Envia um arquivo local para o VIDIO e retorna um resultado de upload contendo a chave de entrada.
Parameters
Returns
Um objeto de resultado de upload contendo `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)Criar reel de destaque
Cria um trabalho de reel de destaque a partir de um ou mais arquivos de entrada enviados.
Parameters
upload(). A ordem das chaves de entrada determina a ordem da mídia no vídeo de saída.ball-sports. Pode ser podcast, ball-sports, non-ball-sports, beauty-product-demo, wedding, travel, others. Para melhores resultados, especifique a categoria que mais se aproxima do seu conteúdo. Se seu conteúdo não se encaixar em nenhuma categoria, use others.landscape, portrait ou square.corporate, romantic, sports, kids_and_comedy, ambient_and_nature, horror_and_suspense, documentary e trending_vlogs. Se a duração da saída for menor que a duração da música, a faixa selecionada será repetida para ajustar-se à saída.0 a 100. Se não fornecido, o padrão é 100.0 a 100. Se não for fornecido, o padrão é 100.Returns
Um objeto de trabalho contendo `job_id` e informações de status.
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)Obter trabalho
Busca o status atual de um trabalho.
Parameters
Returns
Um objeto de trabalho com o status mais recente.
Response fields
submitted, queued, processing, processed, rendering ou rendered.video ou sound.job_status = client.get_job(job.job_id)
print(job_status.status){\n \"job_id\": \"abc123\",\n \"status\": \"renderizado\",\n \"outputs\": [\n {\n \"start\": null,\n \"end\": null,\n \"thumbnail\": \"out/...jpg\",\n \"duration\": 15.22,\n \"overlays\": [\n {\n \"id\": 0,\n \"fileID\": \"file_123\",\n \"from\": 0,\n \"content\": \"https://...\",\n \"durationInFrames\": 284,\n \"type\": \"video\",\n \"src\": \"https://...\",\n \"videoStartTime\": 5425\n },\n {\n \"id\": 876361,\n \"from\": 0,\n \"content\": \"running-night-393139\",\n \"durationInFrames\": 912,\n \"type\": \"sound\",\n \"src\": \"https://...\"\n }\n ],\n \"fps\": 59.94\n }\n ]\n}client.wait_for_job(job_id)Aguardar trabalho
Consulta a API até que o trabalho de reel de destaque atinja um estado concluído.
Parameters
Returns
O objeto de trabalho final concluído.
final_job = client.wait_for_job(job.job_id)
print(final_job.status)client.render(job_id)Renderizar saída
Inicia a renderização de um vídeo de saída para um trabalho de reel de destaque concluído.
Parameters
OutputResult a ser renderizada. O padrão é 0. Em geral, a primeira saída é o melhor resultado.Returns
Um objeto de resultado de renderização com o status da renderização.
render_result = client.render(
job_id=job.job_id
)
print(render_result.status)client.wait_for_render(job_id)Aguardar renderização
Consulta até que a renderização termine e a saída esteja pronta.
Parameters
Returns
O objeto de resultado da renderização final.
final_render = client.wait_for_render(job.job_id)
print(final_render.output_url)