Référence de l'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 vidéo, vérifier l'état des emplois, rendre des sorties et attendre que le traitement soit terminé.

L'accès à l'API est actuellement disponible pour le plan Studio et au-dessus.

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 vidéo, interroger l'état des emplois, rendre des sorties et attendre que les travaux se terminent.

Propriétés

api_keystring
Votre clé API VIDIO utilisée pour authentifier les requêtes.

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 sur VIDIO et renvoie un résultat de téléchargement contenant la clé d'entrée.

Parameters

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

Returns

Un objet 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 vidéo

Crée un travail de montage vidéo à 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 la 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 combinée de toutes les vidéos d'entrée.
aspect_ratiostring
Rapport d'aspect de sortie tel que paysage, portrait ou carré.
categorie_musiquestring, optional
Catégorie de musique 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 la durée de la musique, la piste sélectionnée sera bouclée pour s'adapter à la sortie.
music_volumeinteger, optional
Volume de la musique de fond de 0 à 100. Si non fourni, la valeur par défaut est 100.
original_audio_volumeinteger, optional
Volume audio de la source 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 l'état.

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 emploi

Récupère l'état actuel d'un emploi.

Parameters

job_idstring
L'ID de l'emploi retourné lorsque le travail de montage vidéo a été créé.

Returns

Un objet de travail avec le dernier état.

Response fields

job_idstring
L'identifiant 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 entièrement rendue et que les données de sortie sont disponibles à partir de la dernière sous-tâche.
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 du fichier d'entrée d'origine associé à la superposition, si disponible.
from_integer | float | null
Décalage de la trame où la superposition commence.
contentstring | null
Valeur du contenu de la superposition, comme un chemin de vignette ou un identifiant de son.
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 emploi

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

Parameters

job_idstring
L'ID de l'emploi à 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 vidéo complété.

Parameters

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

Returns

Un objet de résultat de rendu avec l'état 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 de l'emploi 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)