Referencia de API

El VidioClient es el punto de entrada principal para interactuar con la API de VIDIO desde Python. Úsalo para subir archivos, crear trabajos de resúmenes, comprobar el estado de los trabajos, renderizar salidas y esperar a que se complete el procesamiento.

El acceso a la API está actualmente disponible para el plan Studio y superior.

El modelo de cliente

El VidioClient proporciona una interfaz simple para trabajar con la API de VIDIO. Después de crear un cliente con tu clave de API, puedes subir archivos de entrada, crear trabajos de resúmenes, consultar el estado de los trabajos, renderizar salidas y esperar a que los trabajos terminen.

Propiedades

api_keystring
Tu clave de API de VIDIO utilizada para autenticar solicitudes.

Métodos

CLASEVidioClient(api_key)

Inicializar cliente

Crea una nueva instancia de VidioClient.

Parameters

api_keystring
Tu clave de API de VIDIO.

Returns

Una instancia de VidioClient configurada.

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

Subir archivo

Sube un archivo local a VIDIO y devuelve un resultado de carga que contiene la clave de entrada.

Parameters

file_pathstring
La ruta local al archivo que deseas subir.

Returns

Un objeto de resultado de carga que contiene `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)

Crear resumen

Crea un trabajo de resumen a partir de uno o más archivos de entrada subidos.

Parameters

input_keyslist[string]
Una lista de claves de archivos subidos devueltas por upload(). El orden de las claves de entrada determina el orden de los medios en el video de salida.
video_categorystring
Categoría de video como ball-sports. Puede ser podcast, ball-sports, non-ball-sports, beauty-product-demo, wedding, travel, others. Para obtener los mejores resultados, especifica la categoría que más se asemeje a tu contenido. Si tu contenido no encaja en ninguna categoría, usa others.
output_lengthinteger
Longitud de salida deseada en segundos. La longitud de salida debe ser menor o igual a la longitud total de todos los videos de entrada combinados.
aspect_ratiostring
Relación de aspecto de salida como landscape, portrait o square.
categoría_de_músicastring, optional
Categoría de música preestablecida para aplicar al resultado. Los valores compatibles son corporate, romantic, sports, kids_and_comedy, ambient_and_nature, horror_and_suspense, documentary y trending_vlogs. Si la duración de la salida es menor que la duración de la música, la pista seleccionada se repetirá para ajustarse a la salida.
music_volumeinteger, optional
Volumen de la música de fondo de 0 a 100. Si no se proporciona, el valor predeterminado es 100.
original_audio_volumeinteger, optional
Volumen de audio de la fuente original de 0 a 100. Si no se especifica, el valor predeterminado es 100.

Returns

Un objeto de trabajo que contiene `job_id` e información de estado.

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)

Obtener trabajo

Recupera el estado actual de un trabajo.

Parameters

job_idstring
El ID del trabajo devuelto cuando se creó el trabajo de resumen.

Returns

Un objeto de trabajo con el estado más reciente.

Response fields

job_idstring
El ID del trabajo.
statusstring
El estado actual del trabajo, por ejemplo submitted, queued, processing, processed, rendering o rendered.
outputslist[OutputResult]
Devuelto cuando el trabajo está completamente renderizado y los datos de salida están disponibles del último subtrabajo.
startfloat | null
Hora de inicio del segmento de salida, si está disponible.
endfloat | null
Hora de finalización del segmento de salida, si está disponible.
thumbnailstring | null
Ruta o URL de la miniatura para la salida.
durationfloat | null
Duración de la salida en segundos.
fpsfloat | null
Fotogramas por segundo (FPS) de la salida.
overlayslist[OverlayResult]
Superposiciones saneadas incluidas en la salida.
idinteger | null
ID de la superposición.
fileIDstring | null
ID del archivo asociado, cuando esté disponible.
originalFileNamestring | null
Nombre del archivo de entrada original asociado a la superposición, cuando esté disponible.
from_integer | float | null
Desplazamiento de fotograma donde comienza la superposición.
contentstring | null
Valor del contenido de la superposición, por ejemplo una ruta de miniatura o un identificador de sonido.
durationInFramesinteger | null
Duración de la superposición en fotogramas.
typestring | null
Tipo de superposición, por ejemplo video o sound.
srcstring | null
URL de origen para el medio de la superposición.
videoStartTimeinteger | float | null
Tiempo de inicio del video fuente, cuando corresponda.
python
job_status = client.get_job(job.job_id) print(job_status.status)
json
{ "job_id": "abc123", "status": "renderizado", "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 } ] }
MÉTODOclient.wait_for_job(job_id)

Esperar trabajo

Consulta la API hasta que el trabajo de resumen alcance un estado completado.

Parameters

job_idstring
El ID del trabajo por el que esperar.

Returns

El objeto de trabajo final completado.

python
final_job = client.wait_for_job(job.job_id) print(final_job.status)
MÉTODOclient.render(job_id)

Renderizar salida

Comienza a renderizar un video de salida para un trabajo de resumen completado.

Parameters

job_idstring
El ID del trabajo de resumen completado.
índice_de_salidainteger, optional
El índice de la lista OutputResult que se va a representar. El valor predeterminado es 0. En general, la primera salida es el mejor resultado.

Returns

Un objeto de resultado de renderizado con el estado de renderizado.

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

Esperar por renderizado

Consulta hasta que el renderizado termine y la salida esté lista.

Parameters

job_idstring
El ID del trabajo asociado con el renderizado.

Returns

El objeto de resultado de renderizado final.

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