Référence API

Le VidioClient est le point d'entrée principal pour interagir avec l'API VIDIO depuis Python. Utilisez-le pour télécharger des fichiers, créer des travaux de montage, vérifier le statut des travaux, rendre des sorties et attendre que le traitement soit terminé.

L'accès à l'API est actuellement disponible pour le plan Studio et supérieur.

Le modèle client

Le VidioClient fournit une interface simple pour travailler avec l'API VIDIO. Après avoir créé un client avec votre clé API, vous pouvez télécharger des fichiers d'entrée, créer des travaux de montage, interroger le statut des travaux, rendre des sorties et attendre que les travaux soient terminés.

Propriétés

api_keystring
Votre clé API VIDIO utilisée pour authentifier les demandes.

Méthodes

CLASSEVidioClient(api_key)

Initialiser le client

Crée une nouvelle instance de VidioClient.

Parameters

api_keystring
Votre clé API VIDIO.

Returns

Une instance de VidioClient configurée.

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

Télécharger un fichier

Télécharge un fichier local vers VIDIO et retourne un résultat de téléchargement contenant la clé d'entrée.

Parameters

file_pathstring
Le chemin local vers le fichier que vous souhaitez télécharger.

Returns

Un objet de résultat de téléchargement contenant `input_key`.

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

Créer un montage

Crée un travail de montage à partir d'un ou plusieurs fichiers d'entrée téléchargés.

Parameters

input_keyslist[string]
Une liste de clés de fichiers téléchargés retournées par upload(). L'ordre des clés d'entrée détermine l'ordre des médias dans la vidéo de sortie.
video_categorystring
Catégorie de vidéo telle que ball-sports. Cela peut être podcast, ball-sports, non-ball-sports, beauty-product-demo, wedding, travel, others. Pour de meilleurs résultats, spécifiez la catégorie qui correspond le mieux à votre contenu. Si votre contenu ne correspond à aucune catégorie, utilisez others.
output_lengthinteger
Longueur de sortie souhaitée en secondes. La longueur de sortie doit être inférieure ou égale à la longueur totale de toutes les vidéos d'entrée combinées.
aspect_ratiostring
Rapport d'aspect de sortie tel que landscape, portrait, ou square.
catégorie_de_musiquestring, optional
Catégorie musicale prédéfinie à appliquer à la sortie. Les valeurs prises en charge sont corporate, romantic, sports, kids_and_comedy, ambient_and_nature, horror_and_suspense, documentary et trending_vlogs. Si la durée de la sortie est plus courte que celle de la musique, la piste sélectionnée sera bouclée pour s'adapter à la sortie.
music_volumeinteger, optional
Volume de la musique d'arrière-plan de 0 à 100. Si non fourni, la valeur par défaut est 100.
volume_audio_originalinteger, optional
Volume de la source audio d'origine de 0 à 100. Si non fourni, la valeur par défaut est 100.

Returns

Un objet de travail contenant `job_id` et des informations sur le statut.

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

Obtenir un travail

Récupère le statut actuel d'un travail.

Parameters

job_idstring
L'ID du travail retourné lorsque le travail de montage a été créé.

Returns

Un objet de travail avec le dernier statut.

Response fields

job_idstring
L'ID de la tâche.
statusstring
Le statut actuel de la tâche, tel que submitted, queued, processing, processed, rendering, ou rendered.
outputslist[OutputResult]
Renvoyé lorsque la tâche est complètement rendue et que les données de sortie du dernier sous-tâche sont disponibles.
startfloat | null
Heure de début du segment de sortie, si disponible.
endfloat | null
Heure de fin du segment de sortie, si disponible.
thumbnailstring | null
Chemin ou URL de la vignette pour la sortie.
durationfloat | null
Durée de la sortie en secondes.
fpsfloat | null
Images par seconde pour la sortie.
overlayslist[OverlayResult]
Superpositions nettoyées incluses dans la sortie.
idinteger | null
Identifiant de la superposition.
fileIDstring | null
Identifiant du fichier associé, si disponible.
originalFileNamestring | null
Nom de fichier d'entrée original associé à la superposition, si disponible.
from_integer | float | null
Décalage de trame où la superposition commence.
contentstring | null
Valeur du contenu de la superposition, comme un chemin de vignette ou un identifiant sonore.
durationInFramesinteger | null
Durée de la superposition en images.
typestring | null
Type de superposition tel que video ou sound.
srcstring | null
URL source pour le média de la superposition.
videoStartTimeinteger | float | null
Heure de début de la vidéo source, si applicable.
python
job_status = client.get_job(job.job_id) print(job_status.status)
json
{ "job_id": "abc123", "status": "rendu", "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ÉTHODEclient.wait_for_job(job_id)

Attendre un travail

Interroge l'API jusqu'à ce que le travail de montage atteigne un état complété.

Parameters

job_idstring
L'ID du travail pour lequel attendre.

Returns

L'objet de travail final complété.

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

Rendre la sortie

Commence à rendre une vidéo de sortie pour un travail de montage complété.

Parameters

job_idstring
L'ID du travail de montage complété.
output_indexinteger, optional
L'indice de la liste OutputResult à afficher. La valeur par défaut est 0. En général, le premier résultat est le meilleur.

Returns

Un objet de résultat de rendu avec le statut de rendu.

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

Attendre le rendu

Interroge jusqu'à ce que le rendu soit terminé et que la sortie soit prête.

Parameters

job_idstring
L'ID du travail associé au rendu.

Returns

L'objet de résultat de rendu final.

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