Riferimento API

Il VidioClient è il principale punto di accesso per interagire con l'API VIDIO da Python. Usalo per caricare file, creare lavori di montaggio evidenziati, controllare lo stato del lavoro, renderizzare output e aspettare che l'elaborazione sia completata.

L'accesso all'API è attualmente disponibile per il piano Studio e superiori.

Il modello client

Il VidioClient fornisce un'interfaccia semplice per lavorare con l'API VIDIO. Dopo aver creato un client con la tua chiave API, puoi caricare file di input, creare lavori di montaggio evidenziati, controllare lo stato del lavoro, renderizzare output e aspettare che i lavori finiscano.

Proprietà

api_keystring
La tua chiave API VIDIO utilizzata per autenticare le richieste.

Metodi

CLASSEVidioClient(api_key)

Inizializza client

Crea una nuova istanza di VidioClient.

Parameters

api_keystring
La tua chiave API VIDIO.

Returns

Un'istanza di VidioClient configurata.

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

Carica file

Carica un file locale su VIDIO e restituisce un risultato di caricamento contenente la chiave di input.

Parameters

file_pathstring
Il percorso locale del file che desideri caricare.

Returns

Un oggetto risultato di caricamento contenente `input_key`.

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

Crea montaggio evidenziato

Crea un lavoro di montaggio evidenziato da uno o più file di input caricati.

Parameters

input_keyslist[string]
Un elenco di chiavi di file caricati restituite da upload(). L'ordine delle chiavi di input determina l'ordine dei media nel video di output.
video_categorystring
Categoria video come ball-sports. Può essere podcast, ball-sports, non-ball-sports, beauty-product-demo, wedding, travel, others. Per risultati migliori, specifica la categoria che più si avvicina ai tuoi contenuti. Se i tuoi contenuti non si adattano a nessuna categoria, usa others.
output_lengthinteger
Lunghezza di output desiderata in secondi. La lunghezza di output deve essere inferiore o uguale alla lunghezza totale di tutti i video di input combinati.
aspect_ratiostring
Rapporto d'aspetto di output come landscape, portrait o square.
music_categorystring, optional
Categoria musicale predefinita da applicare all'output. I valori supportati sono corporate, romantic, sports, kids_and_comedy, ambient_and_nature, horror_and_suspense, documentary e trending_vlogs. Se la durata dell'output è inferiore a quella della traccia musicale, la traccia selezionata verrà riprodotta in loop per adattarsi all'output.
volume_musicainteger, optional
Volume della musica di sottofondo da 0 a 100. Se non fornito, il valore predefinito è 100.
original_audio_volumeinteger, optional
Volume audio della sorgente originale da 0 a 100. Se non fornito, il valore predefinito è 100.

Returns

Un oggetto lavoro contenente `job_id` e informazioni sullo stato.

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

Ottieni lavoro

Recupera lo stato attuale di un lavoro.

Parameters

job_idstring
L'ID del lavoro restituito quando è stato creato il lavoro di montaggio evidenziato.

Returns

Un oggetto lavoro con lo stato più recente.

Response fields

id_lavorostring
L'ID del lavoro.
statostring
Lo stato corrente del lavoro, come submitted, queued, processing, processed, rendering o rendered.
outputlist[OutputResult]
Restituito quando il lavoro è completamente renderizzato e i dati di output sono disponibili dall'ultimo sotto-lavoro.
iniziofloat | null
Tempo di inizio del segmento di output, se disponibile.
finefloat | null
Tempo di fine del segmento di output, se disponibile.
miniaturastring | null
Percorso o URL della miniatura per l'output.
duratafloat | null
Durata dell'output in secondi.
fpsfloat | null
Fotogrammi per secondo (FPS) dell'output.
sovrapposizionilist[OverlayResult]
Sovrapposizioni sanificate incluse nell'output.
idinteger | null
ID della sovrapposizione.
idFilestring | null
ID del file associato, quando disponibile.
nomeFileOriginalestring | null
Nome del file di input originale associato alla sovrapposizione, quando disponibile.
da_integer | float | null
Offset del fotogramma in cui inizia la sovrapposizione.
contenutostring | null
Valore del contenuto della sovrapposizione, ad esempio un percorso di miniatura o un identificatore audio.
durataInFotogrammiinteger | null
Durata della sovrapposizione in fotogrammi.
tipostring | null
Tipo di sovrapposizione come video o sound.
sorgentestring | null
URL sorgente per il media della sovrapposizione.
tempoInizioVideointeger | float | null
Tempo di inizio del video sorgente, se applicabile.
python
job_status = client.get_job(job.job_id) print(job_status.status)
json
{ "job_id": "abc123", "status": "completato", "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 } ] }
METODOclient.wait_for_job(job_id)

Aspetta il lavoro

Interroga l'API fino a quando il lavoro di montaggio evidenziato non raggiunge uno stato completato.

Parameters

job_idstring
L'ID del lavoro da aspettare.

Returns

L'oggetto lavoro completato finale.

python
final_job = client.wait_for_job(job.job_id) print(final_job.status)
METODOclient.render(job_id)

Renderizza output

Inizia a renderizzare un video di output per un lavoro di montaggio evidenziato completato.

Parameters

job_idstring
L'ID del lavoro di montaggio evidenziato completato.
output_indexinteger, optional
L'indice della lista OutputResult da visualizzare. Il valore predefinito è 0. In generale, il primo output è il risultato migliore.

Returns

Un oggetto risultato di renderizzazione con stato di renderizzazione.

python
render_result = client.render( job_id=job.job_id ) print(render_result.status)
METODOclient.wait_for_render(job_id)

Aspetta il render

Interroga fino a quando il render non finisce e l'output è pronto.

Parameters

job_idstring
L'ID del lavoro associato al render.

Returns

L'oggetto risultato di renderizzazione finale.

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