Skip to main content

Tu dong tao video Sora theo batch voi nhieu Chrome profiles

Project description

dsora-gen

Công cụ tự động tạo video Sora theo batch với nhiều Chrome profile, hỗ trợ thông báo Telegram và theo dõi tiến trình.


Yêu cầu

  • Python 3.11+ — kiểm tra bằng python3 --version
  • Google Chrome đã được cài đặt trên máy
  • Tài khoản Sora đã đăng ký và được cấp quyền

Cài đặt

Khuyến khích — dùng pipx (macOS)

pipx cài CLI tool vào môi trường riêng biệt, tránh xung đột với các package Python khác trên hệ thống. Đây là cách được khuyến khích nhất trên macOS.

# Cài pipx nếu chưa có
brew install pipx
pipx ensurepath

# Cài dsora-gen
pipx install dsora-gen

Sau đó dùng lệnh dsg bình thường ở bất kỳ đâu trong terminal.


Cài bằng pip (thay thế)

macOS / Linux:

pip3 install dsora-gen

Windows:

pip install dsora-gen

Nếu lệnh dsg không nhận sau khi cài bằng pip3, thêm dòng sau vào ~/.zshrc:

export PATH="$HOME/Library/Python/3.x/bin:$PATH"

Thay 3.x bằng phiên bản Python bạn đang dùng (ví dụ 3.11), sau đó chạy source ~/.zshrc.


Lần đầu chạy lệnh dsg bất kỳ, tool sẽ tự động cài Playwright Chromium — bạn không cần thêm bước nào.


Hướng dẫn sử dụng

Lệnh Mô tả
dsg setup Thiết lập profiles, thông tin API, Telegram; mở Chrome để đăng nhập
dsg setup --retry Đăng nhập lại profile (khi bị đăng xuất)
dsg check Kiểm tra setup hiện tại (config, profiles, sẵn sàng chạy)
dsg run Chạy tự động: mỗi profile lấy SP not_start từ API, claim tránh trùng
dsg open <alias> Mở Chrome cho một profile
dsg update Cập nhật dsora-gen lên phiên bản mới nhất
dsg help Xem danh sách lệnh

Bước 1 — Thiết lập ban đầu

dsg setup

Tool sẽ hỏi lần lượt các thông tin sau:

Thông tin Bắt buộc Mô tả
Số lượng profile Mỗi profile = 1 tài khoản Sora, xử lý tối đa 5 sản phẩm
Tên alias cho từng profile Tên gợi nhớ, ví dụ: tai_khoan_1
Username dsora Dùng để lấy danh sách sản phẩm từ API
Backend key Key xác thực để cập nhật trạng thái sản phẩm
Telegram Bot Token Nhận thông báo tự động qua Telegram
Telegram Channel ID ID kênh hoặc nhóm nhận thông báo
Số phút chờ giữa mỗi sản phẩm Mặc định 10 phút; có retry nếu đang có 3 jobs chạy

Sau khi nhập xong, Chrome sẽ tự mở từng cửa sổ. Bạn cần thao tác thủ công trong mỗi cửa sổ:

  1. Đăng nhập tài khoản Google
  2. Truy cập sora.comđăng nhập
  3. Đóng Chrome khi hoàn tất — session đăng nhập sẽ được lưu lại tự động

Bước 2 — Kiểm tra setup (tùy chọn)

Trước khi chạy, có thể kiểm tra cấu hình và trạng thái profiles:

dsg check

Lệnh này hiển thị: file cấu hình, username, Telegram, số profile chạy cùng lúc, danh sách profile (và thư mục đã tạo hay chưa), và có sẵn sàng chạy dsg run hay không.


Bước 3 — Chạy tự động

dsg run

Mỗi lần chạy, tool sẽ:

  1. Mỗi profile (chạy song song theo cấu hình) tự lấy sản phẩm not_start từ API (GET /products/pending), claim để không trùng với profile khác.
  2. Với từng sản phẩm đã claim: mở Chrome (nếu chưa mở) → điền prompt → upload ảnh → chọn cài đặt → tạo video → gọi API mark done → thông báo Telegram → chờ N phút (cấu hình lúc setup, mặc định 10 phút).
  3. Mỗi profile xử lý tối đa 5 sản phẩm/lần chạy; hết SP trên API hoặc đạt limit thì dừng.
  4. Nếu profile đạt giới hạn tạo video trong ngày (tooltip "You're out of video gens"): thông báo, đóng Chrome profile đó, các profile khác vẫn tiếp tục lấy SP từ API.
  5. Hiển thị tổng kết toàn bộ khi hoàn tất.

Đăng nhập lại một profile

Dùng khi một profile bị đăng xuất khỏi Google hoặc Sora:

dsg setup --retry

Tool sẽ hiển thị danh sách profile hiện có, nhập số thứ tự để mở Chrome đăng nhập lại.


Mở Chrome cho một profile cụ thể

dsg open <alias>

# Ví dụ:
dsg open tai_khoan_1

Cập nhật lên phiên bản mới nhất

dsg update

Tool tự động nhận biết bạn cài qua pipx hay pip và chạy lệnh nâng cấp phù hợp.


Xem danh sách lệnh

dsg help
dsg --help

Dữ liệu lưu trữ

Toàn bộ dữ liệu lưu tại ~/.sora-tool/không nằm trong thư mục cài đặt Python:

Đường dẫn Nội dung
~/.sora-tool/settings.json Cấu hình: username, backend key, telegram, danh sách profiles
~/.sora-tool/run_log.json Lịch sử chạy từng profile theo ngày
~/.sora-tool/profiles/profile_1/ Chrome session & cookies của profile 1
~/.sora-tool/profiles/profile_N/ Chrome session & cookies của profile N

⚠️ Không xóa thư mục profiles/ — đây là nơi lưu session đăng nhập. Nếu xóa, bạn phải đăng nhập lại toàn bộ.


Gỡ lỗi thường gặp

dsg: command not found

Thêm pip bin vào PATH. Trên macOS: thêm dòng sau vào ~/.zshrc rồi chạy source ~/.zshrc:

export PATH="$HOME/Library/Python/3.x/bin:$PATH"

Chrome không khởi động được

Đảm bảo Google Chrome đã được cài tại đường dẫn mặc định:

  • macOS: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
  • Linux: /usr/bin/google-chrome
  • Windows: C:\Program Files\Google\Chrome\Application\chrome.exe

Không tìm thấy nút tạo video / bị timeout

Profile có thể đã bị đăng xuất. Chạy dsg setup --retry để đăng nhập lại profile đó.

API trả về lỗi 401

Backend key không hợp lệ hoặc đã hết hạn. Chạy dsg setup và nhập lại backend key mới.

Lỗi Only 3 jobs can run at a time

Tool sẽ tự động chờ 5 phút rồi thử lại — không cần làm gì thêm.

Thông báo "You're out of video gens" (đạt tối đa video trong ngày)

Tool sẽ gửi thông báo (Telegram + console), đóng Chrome profile đó và tiếp tục chạy các profile khác. Sản phẩm chưa xử lý của profile bị limit có thể được phân bổ lại ở lần chạy sau (khi gọi API đồng bộ).


Phát hành phiên bản mới (dành cho developer)

# Bump version trong pyproject.toml và __init__.py, sau đó:
rm -rf dist/
python3 -m build
twine upload dist/*

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dsora_gen-0.2.5.tar.gz (45.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dsora_gen-0.2.5-py3-none-any.whl (43.0 kB view details)

Uploaded Python 3

File details

Details for the file dsora_gen-0.2.5.tar.gz.

File metadata

  • Download URL: dsora_gen-0.2.5.tar.gz
  • Upload date:
  • Size: 45.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for dsora_gen-0.2.5.tar.gz
Algorithm Hash digest
SHA256 4d188ff47b2be31e96eb269698d9b2d030ca6efa6a03c3abc58c35592cb3604c
MD5 3bb976fcc13846d0f090ed539e774b5c
BLAKE2b-256 147edcfaaaae8dafa77701b0573a202411161d32a3ffc1af141173adc9cf0b45

See more details on using hashes here.

File details

Details for the file dsora_gen-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: dsora_gen-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 43.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for dsora_gen-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d2843510ef1ae4be2c69c8eb4c87ab91c5eba559f6cc9380623e824bfd7db9a7
MD5 84c1de2283a352173e324eff27f79457
BLAKE2b-256 0d06fc9b3ff4c2afbb722a7c5491d0188db7bfdc0c145470be88f310d429dd33

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page