Referință API
VidioClient este principalul punct de intrare pentru interacțiunea cu API-ul VIDIO din Python. Folosiți-l pentru a încărca fișiere, a crea locuri de muncă pentru clipuri, a verifica starea muncii, a reda ieșiri și a aștepta finalizarea procesării.
Modelul clientului
VidioClient oferă o interfață simplă pentru a lucra cu API-ul VIDIO. După ce ați creat un client cu cheia dvs. API, puteți încărca fișiere de intrare, crea locuri de muncă pentru clipuri, verifica starea muncii, reda ieșiri și aștepta finalizarea muncilor.
Proprietăți
Metode
VidioClient(api_key)Initializează clientul
Creează o nouă instanță VidioClient.
Parameters
Returns
O instanță VidioClient configurată.
from vidio import VidioClient
import os
client = VidioClient(
api_key=os.getenv("VIDIO_API_KEY")
)client.upload(file_path)Încarcă fișier
Încarcă un fișier local pe VIDIO și returnează un rezultat de încărcare conținând cheia de intrare.
Parameters
Returns
Un obiect rezultat de încărcare conținând `input_key`.
result = client.upload("/path/to/video.mp4")
print(result.input_key)client.create_highlight_reel(input_keys, video_category, output_length, aspect_ratio)Creează clip
Creează un loc de muncă pentru clip din unul sau mai multe fișiere de intrare încărcate.
Parameters
upload(). Ordinea cheilor de intrare determină ordinea materialelor media în videoclipul final.ball-sports. Poate fi podcast, ball-sports, non-ball-sports, beauty-product-demo, wedding, travel, others. Pentru cele mai bune rezultate, specificați categoria care se potrivește cel mai mult conținutului dvs. Dacă conținutul dvs. nu se încadrează în nicio categorie, folosiți others.cut_method este ai-cut; nu este necesar când cut_method este no-cut. Durata de ieșire trebuie să fie mai mică sau egală cu durata totală a tuturor videoclipurilor de intrare combinate.landscape, portrait sau square.ai-cut și no-cut. Implicit este ai-cut.corporate, romantic, sports, kids_and_comedy, ambient_and_nature, horror_and_suspense, documentary și trending_vlogs. Dacă durata rezultatului este mai scurtă decât durata piesei, melodia selectată va fi redată în buclă pentru a se potrivi duratei.0 la 100. Dacă nu este specificat, valoarea implicită este 100.0 la 100. Dacă nu este specificat, valoarea implicită este 100.Returns
Un obiect de loc de muncă care conține `job_id` și informații despre starea acestuia.
job = client.create_highlight_reel(
input_keys=[result.input_key],
video_category="sporturi cu minge",
output_length=30,
aspect_ratio="peisaj",
)
print(job.job_id)
print(job.status)client.get_job(job_id)Obține muncă
Recuperează starea curentă a unei lucrări.
Parameters
Returns
Un obiect de loc de muncă cu cea mai recentă stare.
Response fields
submitted, queued, processing, processed, rendering sau rendered.video sau sound.job_status = client.get_job(job.job_id)
print(job_status.status){
"job_id": "abc123",
"status": "finalizat",
"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": "alergare-noapte-393139",
"durationInFrames": 912,
"type": "sound",
"src": "https://..."
}
],
"fps": 59.94
}
]
}client.wait_for_job(job_id)Așteaptă muncă
Polls API-ul până când locul de muncă pentru clip ajunge într-o stare finalizată.
Parameters
Returns
Obiectul final de loc de muncă finalizat.
final_job = client.wait_for_job(job.job_id)
print(final_job.status)client.render(job_id)Redați ieșirea
Începe redarea unui videoclip de ieșire pentru un loc de muncă finalizat pentru clip.
Parameters
OutputResult care trebuie redată. Valoarea implicită este 0. În general, prima ieșire este cel mai bun rezultat.Returns
Un obiect rezultat de redare cu starea redării.
render_result = client.render(
job_id=job.job_id
)
print(render_result.status)client.wait_for_render(job_id)Așteptați redarea
Execută polling până când redarea se finalizează și ieșirea este gata.
Parameters
Returns
Obiectul final de rezultat de redare.
final_render = client.wait_for_render(job.job_id)
print(final_render.output_url)