API Sora 2

Xây dựng trên API Sora 2

Triển khai trải nghiệm từ văn bản thành video thông qua API tạo video của FSG AI. Xác thực bằng khóa API, thăm dò trạng thái tác vụ và cung cấp video cuối cùng trong vài phút.

Tại sao các nhóm dựa vào API Sora 2

Cung cấp quy trình tạo video linh hoạt với polling dự đoán, 20 yêu cầu đồng thời và tải lên lưu trữ tự động.

Sora 2 + Sora Pro

Chọn chuỗi mô hình phù hợp với nhu cầu chất lượng và chi phí của bạn, với các tùy chọn thời lượng và chất lượng được ghi lại trong từng điểm cuối.

Polling dự đoán

Tạo một nhiệm vụ, sau đó polling endpoint kiểm tra kết quả để giữ trạng thái và tiến trình đồng bộ mà không cần SSE.

20 yêu cầu đồng thời

Xử lý tối đa 20 tác vụ tạo video cùng lúc. Liên hệ với chúng tôi để có giới hạn cao hơn.

Xác thực & URL Cơ sở

Tất cả các endpoint đều nằm dưới https://freesoragenerator.com/api. Cung cấp khóa API được tạo trong bảng điều khiển qua header Authorization.

  • Gửi header Authorization: Bearer YOUR_API_KEY với mỗi yêu cầu.
  • Sử dụng Content-Type: application/json khi gửi payload.
  • Mỗi yêu cầu tạo sẽ trừ tín dụng dựa trên mô hình đã chọn, thời lượng, chất lượng và các tùy chọn câu chuyện; các tác vụ thất bại sẽ được hoàn tiền tự động.

Các endpoint chính

Bắt đầu bằng cách tạo một nhiệm vụ tạo, sau đó polling hoặc lắng nghe kết quả.

Tạo video AI

Bắt đầu một tác vụ tạo video AI bằng các lời nhắc từ văn bản thành video hoặc từ hình ảnh thành video.

Phương thức: POSTPath: /api/v1/video/sora-video

Tham số payload

  • model: Bắt buộc. Sử dụng chuỗi mô hình được hỗ trợ từ tài liệu API để nhắm mục tiêu biến thể mô hình bạn cần.
  • prompt: Bắt buộc. Mô tả bằng ngôn ngữ tự nhiên về cảnh bạn muốn tạo.
  • imageData: Tùy chọn (khuyến nghị). URL dữ liệu Base64 với tiền tố "data:image/*;base64," cho chế độ hình ảnh sang video.
  • url: Optional. Legacy reference image URL; still supported but lower priority than imageData.
  • aspectRatio: Tùy chọn. Các giá trị hỗ trợ: "9:16" (mặc định) hoặc "16:9".
  • duration: Optional. Only for "sora-2-stable"; choose 10 or 15 seconds (default 10).
  • isPublic: Tùy chọn. Có hiển thị video công khai hay không; mặc định là true.
  • remixTargetId: Tùy chọn (chỉ VIP). Pid video mục tiêu cho các tính năng tiếp tục/remix.
  • characters: Tùy chọn (chỉ VIP). Mảng điều khiển nhân vật; mỗi mục bao gồm url và dấu thời gian.

Ghi chú

  • Phản hồi trả về ngay lập tức với taskId; polling kiểm tra kết quả cho đến khi trạng thái thành công hoặc thất bại.

Yêu cầu mẫu

curl -X POST https://freesoragenerator.com/api/v1/video/sora-video \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2-stable",
    "prompt": "A cinematic shot of a futuristic city at sunset, captured in 4K.",
    "imageData": "data:image/png;base64,iVBORw0KGgoAAA...",
    "aspectRatio": "9:16",
    "duration": 15,
    "isPublic": true
  }'

Phản hồi mẫu

{
  "code": 0,
  "message": "ok",
  "data": {
    "id": "task_1234567890"
  }
}

Kiểm tra kết quả tạo

Polling trạng thái mới nhất cho một nhiệm vụ tạo để theo dõi tiến trình và lấy kết quả.

Phương thức: POSTPath: /api/video-generations/check-result

Tham số payload

  • taskId: Bắt buộc. Định danh được trả về khi bạn tạo nhiệm vụ tạo.

Ghi chú

  • Endpoint xác minh nhiệm vụ thuộc về tài khoản của bạn trước khi trả về dữ liệu.
  • Các công việc thất bại tự động hoàn lại tín dụng và tiết lộ metadata hoàn tiền trong payload kiểm tra kết quả.

Yêu cầu mẫu

curl -X POST https://freesoragenerator.com/api/video-generations/check-result \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "taskId": "task_1234567890"
  }'

Phản hồi mẫu

{
  "code": 0,
  "message": "Success",
  "data": {
    "status": "running",
    "progress": 35,
    "result_url": "https://your-domain.com/storage/videos/xxx.mp4",
    "result_urls": [
      "https://your-domain.com/storage/videos/xxx.mp4"
    ],
    "failure_reason": "",
    "error_message": null,
    "credits_refunded": false,
    "refund_trans_no": null,
    "result_pid": "s_xxx",
    "result_pids": [
      "s_xxx"
    ],
    "metadata": {
      "remixTargetId": "s_prev",
      "characters": [
        {
          "url": "https://.../hero.mp4",
          "timestamps": "0,3"
        }
      ]
    }
  }
}

Lấy tín dụng người dùng và trạng thái VIP

Truy vấn tín dụng khả dụng của người dùng hiện tại và trạng thái thành viên VIP.

Phương thức: POSTPath: /api/get-user-credits

Ghi chú

  • Yêu cầu phiên đăng nhập hợp lệ hoặc mã thông báo API để truy cập thông tin người dùng.
  • Trả về các trường left_credits, is_recharged, is_pro và is_vip trạng thái.

Yêu cầu mẫu

curl -X POST https://freesoragenerator.com/api/get-user-credits \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Phản hồi mẫu

{
  "code": 0,
  "message": "ok",
  "data": {
    "left_credits": 120,
    "is_recharged": true,
    "is_pro": true,
    "is_vip": false
  }
}

1. Tạo nhiệm vụ

Gửi yêu cầu API Sora2 với gợi ý của bạn và URL webhook tùy chọn, sau đó lưu taskId được trả về.

2. Theo dõi tiến trình

Đăng ký các sự kiện phát trực tiếp hoặc gọi endpoint kiểm tra kết quả cho đến khi trạng thái trở thành thành công hoặc thất bại.

3. Giao video

Sử dụng các URL được hỗ trợ lưu trữ trong result_url/result_urls để phục vụ hoặc tải xuống video đã tạo.

Câu hỏi thường gặp

Làm thế nào để tôi xác thực các yêu cầu của mình?

Tạo một khóa API trong bảng điều khiển, sau đó bao gồm nó dưới dạng Authorization: Bearer YOUR_API_KEY. Các khóa có thể được thay đổi bất cứ lúc nào.

Tôi nên polling kết quả như thế nào?

Sau khi gọi tạo, lưu taskId. Gọi /api/video-generations/check-result mỗi 3-5 giây cho đến khi trạng thái thành công hoặc thất bại, sau đó sử dụng result_url/result_urls.

Tín dụng được xử lý như thế nào cho các lần thất bại?

Chúng tôi tự động hoàn lại tín dụng khi một nhiệm vụ thất bại và trả lại refund_trans_no cộng với credits_refunded=true trong payload kiểm tra kết quả để theo dõi kiểm toán.

Tài nguyên hữu ích

Khởi động với API Sora2 hôm nay

Tạo khóa API của bạn và bắt đầu tạo video AI điện ảnh trong vài phút.