Chuyển đến nội dung chính

Documentation Index

Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt

Use this file to discover all available pages before exploring further.

Tham số đường dẫn

id
string
bắt buộc
ID tác vụ trả về từ yêu cầu tạo video. Xem idtask_id là cùng một định danh không đồng bộ (async).
Nếu phản hồi create trả về poll_url, hãy gọi đúng URL đó. Khi nó trỏ tới /v1/tasks/{id}, hãy coi đó là endpoint trạng thái cố định chuẩn.Nếu tác vụ không còn tồn tại hoặc không thể giải quyết thông qua hợp đồng async-task công khai, TokenLab trả về async_task_not_found với thông điệp Task not found or no longer available.

Phản hồi

id
string
Định danh tác vụ async chuẩn.
task_id
string
Bí danh định danh tác vụ async.
poll_url
string
URL ưu tiên để thăm dò khi phản hồi tạo cung cấp.
billing_transaction_id
string
ID giao dịch billing của TokenLab khi việc settlement đã hoàn tất. Đây là mã giao dịch dùng cho dashboard/đối soát và tách biệt với id / task_id bất đồng bộ.
status
string
Trạng thái tác vụ: pending, processing, completed, failed.
progress
number
Tỷ lệ tiến độ (0-100).
video_url
string
URL của video đã tạo (khi hoàn thành).
video
object
Payload video đơn với url, duration, width, và height khi có.
videos
array
Nhiều payload video khi upstream trả về hơn một kết quả.
error
string
Thông báo lỗi (nếu thất bại).
created
integer
Dấu thời gian tạo.
updated
integer
Dấu thời gian cập nhật cuối cùng.
model
string
Mô hình được sử dụng cho tác vụ.
curl "https://api.tokenlab.sh/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" \
  -H "Authorization: Bearer sk-your-api-key"
{
  "id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "task_id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "poll_url": "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "status": "pending",
  "progress": 0,
  "model": "sora-2",
  "created": 1706000000,
  "updated": 1706000000
}

Thực hành tốt nhất khi thăm dò

  • Thăm dò (poll) mỗi 5-10 giây
  • Triển khai exponential backoff cho các tác vụ chạy lâu
  • Đặt thời gian chờ tối đa (ví dụ: 10 phút)
  • Xử lý trạng thái failed một cách phù hợp
import time

def wait_for_video(task_id, max_wait=600, interval=5):
    """Wait for video with timeout."""
    start = time.time()

    while time.time() - start < max_wait:
        response = requests.get(
            f"https://api.tokenlab.sh/v1/tasks/{task_id}",
            headers={"Authorization": "Bearer sk-your-api-key"}
        )
        data = response.json()

        if data["status"] == "completed":
            return data["video_url"]
        elif data["status"] == "failed":
            raise Exception(data.get("error", "Video generation failed"))

        time.sleep(interval)

    raise TimeoutError("Video generation timed out")