WWeydub API

Hướng dẫn API

Bắt đầu nhanh

Hướng dẫn bắt đầu nhanh này gửi một tác vụ xóa văn bản khỏi video tới Weydub và liên tục kiểm tra cho đến khi có kết quả. Hướng dẫn được cố ý giữ ngắn gọn để nhà phát triển là con người hoặc công cụ lập trình AI có thể sao chép vào một tập lệnh backend và nhanh chóng xác minh thông tin xác thực.

Yêu cầu tiên quyết

  • Một tài khoản Weydub. Người dùng đã đăng nhập có thể kích hoạt miễn phí quyền truy cập API trong Tài khoản của tôi.
  • AppKey và AppSecret.
  • Một URL video có thể truy cập công khai. Các định dạng được hỗ trợ bao gồm mp4, avi, mov, mkv, mpg, m3u8 và m4v.

Các biến môi trường được đề xuất

bash
export WEYDUB_APP_KEY="your_app_key"
export WEYDUB_APP_SECRET="your_app_secret"

Ví dụ Python

python
import hashlib
import json
import os
import time

import requests

APP_KEY = os.environ["WEYDUB_APP_KEY"]
APP_SECRET = os.environ["WEYDUB_APP_SECRET"]
BASE_URL = "https://api.zhaoli.com"


def api_post(path: str, payload: dict) -> dict:
    body = json.dumps(payload, ensure_ascii=False, separators=(",", ":"))
    body_md5 = hashlib.md5(body.encode("utf-8")).hexdigest()
    app_sign = hashlib.md5((body_md5 + APP_SECRET).encode("utf-8")).hexdigest()
    headers = {
        "Content-Type": "application/json",
        "AppKey": APP_KEY,
        "AppSign": app_sign,
    }
    response = requests.post(f"{BASE_URL}{path}", headers=headers, data=body, timeout=30)
    response.raise_for_status()
    return response.json()


create_res = api_post(
    "/v-w-c/gateway/ve/work/free",
    {
        "urls": ["https://example.com/demo.mp4"],
        "needChineseOcclude": 1,
        "videoInpaintLang": "all",
    },
)

work_id = create_res["body"]["dataList"][0]["id"]
print("Created work:", work_id)

while True:
    status_res = api_post("/v-w-c/gateway/ve/work/status", {"idWorks": [work_id]})
    item = status_res["body"]["content"][0]
    process_status = item["processStatus"]

    if process_status == 1:
        print("Done:", item.get("videoUrl"))
        break
    if process_status > 1:
        raise RuntimeError(item.get("errorDetail") or "Task failed")

    print("Processing...")
    time.sleep(10)

Các bước tiếp theo

  • Thêm URL callback khi bạn cần xử lý bất đồng bộ đủ tiêu chuẩn cho môi trường production.
  • Nhanh chóng lưu các URL nội dung đa phương tiện được trả về; các tài nguyên được tạo ra tuân theo chính sách lưu giữ của nền tảng.
  • Sử dụng uid nếu ứng dụng của bạn cần tách biệt các không gian làm việc theo khách hàng hoặc tenant.
  • Chạy Các kịch bản demo trước khi xử lý nội dung đa phương tiện của khách hàng.

Dành cho công cụ lập trình AI

Yêu cầu trợ lý:

  • Đọc Xác thực và ký trước khi chỉnh sửa mã.
  • Lưu trữ thông tin xác thực trong WEYDUB_APP_KEY và WEYDUB_APP_SECRET.
  • Xây dựng client chỉ chạy ở backend; không dùng mã trình duyệt có AppSecret để gọi Weydub.
  • Ký đúng phần thân JSON dạng rút gọn được gửi đi.
  • Thêm chế độ chạy thử để in ra endpoint và payload nhưng không in ra thông tin bí mật.