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 acesso à API está atualmente disponível para o plano Studio e acima.

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

api_keystring
Sua chave da API VIDIO utilizada para autenticar solicitações.

Métodos

CLASSEVidioClient(api_key)

Inicializar cliente

Cria uma nova instância do VidioClient.

Parameters

api_keystring
Sua chave da API VIDIO.

Returns

Uma instância do VidioClient configurada.

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

Enviar arquivo

Envia um arquivo local para o VIDIO e retorna um resultado de upload contendo a chave de entrada.

Parameters

file_pathstring
O caminho local para o arquivo que você deseja enviar.

Returns

Um objeto de resultado de upload contendo `input_key`.

python
result = client.upload("/path/to/video.mp4") print(result.input_key)
MÉTODOclient.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

input_keyslist[string]
Uma lista de chaves de arquivos enviados retornadas por upload(). A ordem das chaves de entrada determina a ordem da mídia no vídeo de saída.
video_categorystring
Categoria de vídeo, como 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.
output_lengthinteger
Duração desejada de saída em segundos. A duração da saída deve ser menor ou igual à duração total de todos os vídeos de entrada combinados.
aspect_ratiostring
Proporção de aspecto da saída, como landscape, portrait ou square.
categoria_de_músicastring, optional
Categoria de música predefinida para aplicar à saída. Valores suportados são 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.
volume_musicainteger, optional
Volume da música de fundo de 0 a 100. Se não fornecido, o padrão é 100.
original_audio_volumeinteger, optional
Volume de áudio da fonte original de 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.

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)
MÉTODOclient.get_job(job_id)

Obter trabalho

Busca o status atual de um trabalho.

Parameters

job_idstring
O ID do trabalho retornado quando o trabalho de reel de destaque foi criado.

Returns

Um objeto de trabalho com o status mais recente.

Response fields

job_idstring
O ID do trabalho.
statusstring
O status atual do trabalho, como submitted, queued, processing, processed, rendering ou rendered.
outputslist[OutputResult]
Retornado quando o trabalho estiver totalmente renderizado e os dados de saída estiverem disponíveis a partir do último sub-job.
startfloat | null
Tempo de início do segmento de saída, se disponível.
endfloat | null
Tempo de término do segmento de saída, se disponível.
thumbnailstring | null
Caminho ou URL da miniatura para a saída.
durationfloat | null
Duração da saída em segundos.
fpsfloat | null
Quadros por segundo (FPS) da saída.
overlayslist[OverlayResult]
Sobreposições sanitizadas incluídas na saída.
idinteger | null
ID da sobreposição.
fileIDstring | null
ID do arquivo associado, quando disponível.
originalFileNamestring | null
Nome do arquivo de entrada original associado à sobreposição, quando disponível.
from_integer | float | null
Deslocamento de quadro onde a sobreposição começa.
contentstring | null
Valor do conteúdo da sobreposição, como um caminho de miniatura ou identificador de som.
durationInFramesinteger | null
Duração da sobreposição em quadros.
typestring | null
Tipo de sobreposição, como video ou sound.
srcstring | null
URL de origem para a mídia da sobreposição.
videoStartTimeinteger | float | null
Tempo de início do vídeo de origem, quando aplicável.
python
job_status = client.get_job(job.job_id) print(job_status.status)
json
{\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}
MÉTODOclient.wait_for_job(job_id)

Aguardar trabalho

Consulta a API até que o trabalho de reel de destaque atinja um estado concluído.

Parameters

job_idstring
O ID do trabalho a ser aguardado.

Returns

O objeto de trabalho final concluído.

python
final_job = client.wait_for_job(job.job_id) print(final_job.status)
MÉTODOclient.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

job_idstring
O ID do trabalho de reel de destaque concluído.
output_indexinteger, optional
O índice da lista 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.

python
render_result = client.render( job_id=job.job_id ) print(render_result.status)
MÉTODOclient.wait_for_render(job_id)

Aguardar renderização

Consulta até que a renderização termine e a saída esteja pronta.

Parameters

job_idstring
O ID do trabalho associado à renderização.

Returns

O objeto de resultado da renderização final.

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