Tài liệu tham khảo API

VidioClient là điểm vào chính để tương tác với API VIDIO từ Python. Sử dụng nó để tải lên tệp, tạo công việc đoạn video nổi bật, kiểm tra trạng thái công việc, xuất kết quả và chờ xử lý hoàn tất.

Truy cập API hiện đang có sẵn cho gói Studio và cao hơn.

Mô hình khách hàng

VidioClient cung cấp một giao diện đơn giản để làm việc với API VIDIO. Sau khi tạo một khách hàng với khóa API của bạn, bạn có thể tải lên các tệp đầu vào, tạo công việc đoạn video nổi bật, kiểm tra trạng thái công việc, xuất kết quả và chờ công việc hoàn tất.

Thuộc tính

api_keystring
Khóa API VIDIO của bạn được sử dụng để xác thực các yêu cầu.

Phương thức

LỚPVidioClient(api_key)

Khởi tạo khách hàng

Tạo một phiên bản VidioClient mới.

Parameters

api_keystring
Khóa API VIDIO của bạn.

Returns

Một phiên bản VidioClient đã được cấu hình.

python
from vidio import VidioClient import os client = VidioClient( api_key=os.getenv("VIDIO_API_KEY") )
PHƯƠNG THỨCclient.upload(file_path)

Tải lên tệp

Tải lên một tệp cục bộ đến VIDIO và trả về một kết quả tải lên chứa khóa đầu vào.

Parameters

file_pathstring
Đường dẫn cục bộ đến tệp mà bạn muốn tải lên.

Returns

Một đối tượng kết quả tải lên chứa `input_key`.

python
result = client.upload("/path/to/video.mp4") print(result.input_key)
PHƯƠNG THỨCclient.create_highlight_reel(input_keys, video_category, output_length, aspect_ratio)

Tạo đoạn video nổi bật

Tạo một công việc đoạn video nổi bật từ một hoặc nhiều tệp đầu vào đã tải lên.

Parameters

input_keyslist[string]
Một danh sách các khóa tệp đã tải lên được trả về bởi upload(). Thứ tự của các khóa đầu vào xác định thứ tự của phương tiện trong video đầu ra.
video_categorystring
Danh mục video như ball-sports. Nó có thể là podcast, ball-sports, non-ball-sports, beauty-product-demo, wedding, travel, others. Để đạt được kết quả tốt nhất, hãy xác định danh mục mà phù hợp nhất với nội dung của bạn. Nếu nội dung của bạn không phù hợp với bất kỳ danh mục nào, hãy sử dụng others.
output_lengthinteger
Độ dài đầu ra mong muốn tính bằng giây. Độ dài đầu ra phải nhỏ hơn hoặc bằng tổng độ dài của tất cả các video đầu vào cộng lại.
aspect_ratiostring
Tỷ lệ khung hình đầu ra như landscape, portrait hoặc square.
thể_loại_nhạcstring, optional
Danh mục nhạc đặt sẵn để áp dụng cho đầu ra. Các giá trị được hỗ trợ là corporate, romantic, sports, kids_and_comedy, ambient_and_nature, horror_and_suspense, documentary, và trending_vlogs. Nếu thời lượng đầu ra ngắn hơn thời lượng nhạc, bản nhạc được chọn sẽ lặp lại để phù hợp với đầu ra.
âm_lượng_nhạcinteger, optional
Âm lượng nhạc nền từ 0 đến 100. Nếu không được cung cấp, mặc định là 100.
original_audio_volumeinteger, optional
Âm lượng âm thanh gốc từ 0 đến 100. Nếu không cung cấp, mặc định là 100.

Returns

Một đối tượng công việc chứa `job_id` và thông tin trạng thái.

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)
PHƯƠNG THỨCclient.get_job(job_id)

Lấy công việc

Lấy trạng thái hiện tại của một công việc.

Parameters

job_idstring
ID công việc được trả về khi công việc đoạn video nổi bật được tạo.

Returns

Một đối tượng công việc với trạng thái mới nhất.

Response fields

job_idstring
ID công việc.
statusstring
Trạng thái công việc hiện tại, chẳng hạn submitted, queued, processing, processed, rendering hoặc rendered.
outputslist[OutputResult]
Trả về khi công việc đã được kết xuất hoàn toàn và dữ liệu đầu ra có sẵn từ công việc con cuối cùng.
startfloat | null
Thời gian bắt đầu của đoạn đầu ra, nếu có.
endfloat | null
Thời gian kết thúc của đoạn đầu ra, nếu có.
thumbnailstring | null
Đường dẫn hoặc URL của ảnh thu nhỏ cho đầu ra.
durationfloat | null
Thời lượng của đầu ra tính bằng giây.
fpsfloat | null
Số khung hình trên giây của đầu ra.
overlayslist[OverlayResult]
Các lớp phủ đã được làm sạch có trong đầu ra.
idinteger | null
ID lớp phủ.
fileIDstring | null
ID tệp liên quan, nếu có.
originalFileNamestring | null
Tên tệp đầu vào gốc liên quan tới lớp phủ, nếu có.
from_integer | float | null
Độ lệch khung nơi lớp phủ bắt đầu.
contentstring | null
Giá trị nội dung lớp phủ, chẳng hạn đường dẫn ảnh thu nhỏ hoặc định danh âm thanh.
durationInFramesinteger | null
Thời lượng của lớp phủ tính theo số khung.
typestring | null
Loại lớp phủ như video hoặc sound.
srcstring | null
URL nguồn cho phương tiện lớp phủ.
videoStartTimeinteger | float | null
Thời gian bắt đầu của video nguồn, nếu áp dụng.
python
job_status = client.get_job(job.job_id) print(job_status.status)
json
{ "job_id": "abc123", "status": "đã kết xuất", "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": "chạy-đêm-393139", "durationInFrames": 912, "type": "sound", "src": "https://..." } ], "fps": 59.94 } ] }
PHƯƠNG THỨCclient.wait_for_job(job_id)

Chờ công việc

Kiểm tra API cho đến khi công việc đoạn video nổi bật đạt trạng thái hoàn thành.

Parameters

job_idstring
ID công việc để chờ.

Returns

Đối tượng công việc cuối cùng đã hoàn thành.

python
final_job = client.wait_for_job(job.job_id) print(final_job.status)
PHƯƠNG THỨCclient.render(job_id)

Xuất kết quả

Bắt đầu xuất một video đầu ra cho một công việc đoạn video nổi bật đã hoàn thành.

Parameters

job_idstring
ID công việc đoạn video nổi bật đã hoàn thành.
output_indexinteger, optional
Chỉ số của danh sách OutputResult để hiển thị. Mặc định là 0. Nói chung, kết quả đầu tiên là kết quả tốt nhất.

Returns

Đối tượng kết quả xuất với trạng thái xuất.

python
render_result = client.render( job_id=job.job_id ) print(render_result.status)
PHƯƠNG THỨCclient.wait_for_render(job_id)

Chờ xuất

Kiểm tra cho đến khi xuất hoàn tất và kết quả đầu ra sẵn sàng.

Parameters

job_idstring
ID công việc liên quan đến việc xuất.

Returns

Đối tượng kết quả xuất cuối cùng.

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