DCT Audio Next-Gen Text to Speech AI

Đăng nhập và trải nghiệm
hệ thống tạo giọng đọc AI đỉnh cao

Nền tảng lồng tiếng phụ đề SRT tự động thế hệ mới. Khớp timeline tuyệt đối, nhân bản giọng mẫu chân thực, xử lý song song tốc độ cao và tối ưu chi phí minh bạch theo từng ký tự.

600+
Ngôn ngữ quốc tế
99.9%
Khớp timeline SRT
<5s
Khởi tạo & phản hồi

Đăng nhập tài khoản

Nhập mã API Key của bạn để bắt đầu sử dụng

Chưa có key? Liên hệ quản trị viên để được cấp API key và ký tự.
DCT Audio Text to Speech AI
Tổng quan
Dashboard
Giọng đọc AI
Tạo giọng đọc Lịch sử jobs Giọng của tôi
Tài khoản
Lịch sử cộng ký tự
Lập trình viên
API Docs
?
Khách hàng —

Tổng quan

Số dư, mức sử dụng và hoạt động gần đây.

Số dư: — ký tự

Thống kê Sử dụng & Hiệu năng

Tổng quan sản lượng âm thanh, số dư và xu hướng hoạt động

Số dư khả dụng
— ký tự
Credit sẵn sàng tạo giọng Lịch sử →
Ký tự đã dùng
— tháng này
Tháng trước: —
Đang giữ trước
— ký tự
Khấu trừ khi job hoàn tất
Tỷ lệ thành công
— job tháng này
Hoàn tất / job đã kết thúc
Tổng số job
— jobs
Đạt: — · Lỗi: —
Giọng & Song song
— giọng / max
Tối đa — job song song

Xu hướng sử dụng theo Thời gian

Ký tự đã tính phí và số job theo ngày

Xu hướng sử dụng Ký tự

Ký tự đã tính phí 8 ngày gần nhất

Phân bổ theo Ngôn ngữ

Ký tự đã tính phí của các job gần đây

Chi tiết theo Giọng đọc & Ngôn ngữ

Tổng hợp từ các job gần đây của bạn

Tạo job đọc mới
Giọng đọc / Ngôn ngữ Số job Ký tự đã tính Đang tạm giữ Tỷ lệ hoàn tất Trạng thái

Job gần đây

Các tệp phụ đề SRT vừa được gửi xử lý

Xem toàn bộ lịch sử →
STT Tên file Thời gian Trạng thái Tiến độ Ký tự Thao tác

Chưa có job nào trong hệ thống. Tạo job đầu tiên ngay →

Tạo giọng đọc từ phụ đề SRT hoặc văn bản

Tải phụ đề SRT, hoặc dán văn bản / file TXT — mỗi dòng thành một file audio riêng.

Cài đặt chung mặc định Áp dụng cho mọi file; có thể tùy chỉnh riêng từng file ở bảng bên dưới.
Phương thức chọn giọng

Bạn chưa có giọng mẫu nào. Tải lên giọng mẫu đầu tiên →

Chọn ngôn ngữ phụ đề:
1.0×

Hướng dẫn tạo job nhanh

  1. Chuẩn bị file SRT: Cấu trúc chuẩn gồm số thứ tự, dòng thời gian, lời thoại và một dòng trống phân cách giữa các câu. File phải được lưu mã hoá UTF-8.
  2. Dán văn bản / file TXT: Mỗi dòng thành một file audio. Dòng dài hơn giới hạn được tự chia tại dấu chấm, rồi dấu phẩy, rồi khoảng trắng; nhãn #Vai: / [cảm xúc] đầu dòng được giữ cho mọi đoạn. File WAV ghép nối liền các câu (nghỉ 0,3 giây), kèm file SRT khớp đúng thời gian thật. Nút Tải SRT cạnh ô văn bản cho file SRT ngay (thời gian ước tính).
  3. Cơ chế tính phí ký tự: Hệ thống chỉ tính tiền theo số ký tự của lời thoại cần đọc. Không tính số thứ tự, mốc thời gian hay nhãn vai diễn #Vai: / nhãn cảm xúc [hào hứng] ở đầu câu. Mỗi job tối thiểu 100 ký tự.
  4. Giữ trước credit (Escrow): Khi tạo job, số credit ước tính sẽ được tạm giữ. Khi job hoàn tất chỉ trừ đúng số ký tự thực tế tạo thành công; phần lỗi hoặc huỷ sẽ hoàn lại ngay lập tức.
  5. Tải kết quả âm thanh: Hỗ trợ tải file ZIP (gồm từng câu 1.wav, 2.wav... đặt theo số thứ tự trong file SRT, kèm manifest.json) hoặc file WAV ghép chuẩn theo mốc thời gian phụ đề, và file SRT khớp với file WAV đó (thời gian thật của từng câu). File được lưu trữ 48 giờ.
  6. Kinh nghiệm giọng mẫu: Giọng mẫu nhân bản đạt chất lượng tốt nhất với file WAV từ 5–15 giây, thu âm một người nói rõ ràng, không lẫn nhạc nền hoặc tạp âm.

Bảng danh sách file SRT & Tùy chỉnh

Tùy chỉnh giọng đọc, tốc độ và phân vai riêng cho từng file (để trống = dùng cài đặt chung).

STT Tên file phụ đề Số câu & Ký tự Giọng đọc riêng Tốc độ Phân vai Trạng thái Thao tác

Lịch sử jobs đọc

Toàn bộ danh sách jobs, tiến độ xử lý và kết quả âm thanh tải về.

Tổng số job 0
Đang xử lý 0
Hoàn tất 0
Ký tự đã tạo 0

Shift+click: chọn một dải · Ctrl+click: chọn thêm/bỏ từng job
STT Tên file phụ đề Thời gian Trạng thái Tiến độ Ký tự Thao tác

Không có job nào trong bộ lọc này.

Kết quả âm thanh được lưu trữ trong 48 giờ kể từ khi job hoàn tất.

Kho giọng mẫu của bạn

Nghe lại, gắn quốc gia và quản lý các giọng mẫu dùng để nhân bản giọng đọc.

    Chưa có giọng mẫu nào

    Tải lên file âm thanh mẫu từ 3–20 giây để AI nhân bản giọng đọc chuẩn xác.

    Thêm giọng mẫu mới

    Tải file âm thanh mẫu (3–20 giây) để AI học và nhân bản chất giọng.

    Giọng mẫu này nói tiếng:
    Dùng để gắn cờ, lọc giọng và tự chọn ngôn ngữ đọc khi dùng giọng này.
    Gõ đúng từng từ giúp AI căn chỉnh cao độ và trường độ tốt hơn.

    Sửa giọng mẫu

    Cờ quốc gia hiện trên giọng, dùng để lọc và tự chọn ngôn ngữ đọc.
    Gõ đúng từng từ được nói trong file giúp nhân bản giọng chính xác hơn.

    Cơ chế tính phí
    1 Ký tự = 1 Text Char

    Chỉ tính ký tự chữ thực đọc của phụ đề. Mốc thời gian, số thứ tự và nhãn vai diễn không bị tính phí.

    Bảo vệ Credit (Escrow)
    Tạm giữ & Hoàn trả tự động

    Chỉ trừ credit khi file WAV tạo thành công. Câu lỗi hoặc job hủy được tự động hoàn lại ngay lập tức.

    Lưu trữ kết quả
    48 Giờ lưu trữ an toàn

    Tải file ZIP từng câu lẻ (kèm manifest.json) hoặc file WAV ghép chuẩn mốc thời gian không giới hạn số lần.

    Lịch sử cộng ký tự

    Các lần ký tự được cộng (hoặc điều chỉnh) vào tài khoản của bạn.

    Thời gian Số ký tự Ghi chú

    Chưa có lần cộng ký tự nào.

    Tài liệu tích hợp API cho Lập trình viên

    Kết nối trực tiếp dịch vụ tạo giọng đọc SRT vào ứng dụng, website hoặc kịch bản tự động hóa của bạn.

    Base URL máy chủ: . Mọi request cần đính kèm header xác thực: Authorization: Bearer <API key>. Kết quả trả về luôn ở định dạng JSON; nếu có lỗi xảy ra sẽ có dạng: {"error": {"code", "message", "details"}}.

    1. Tạo job lồng tiếng từ file SRT

    curl -X POST /v1/jobs \
      -H "Authorization: Bearer dct_…" \
      -H "Idempotency-Key: phim-001" \
      -F srt=@phim.srt \
      -F voice_id=vo_… \
      -F language=vi \
      -F speed=1.0

    language: auto hoặc một trong 646 ngôn ngữ được hỗ trợ, gửi mã (vi, en, yue…) hoặc tên tiếng Anh như app (Vietnamese). Danh sách đầy đủ: /languages.json. Riêng vi, en, zh, ru được kiểm tra câu sai ngôn ngữ trước khi nhận job.
    Nhiều file: mỗi file SRT là một job. Máy chủ nhận cả loạt ngay (tối đa 100 job đang chờ), rồi chạy lần lượt theo số job song song của tài khoản. Job được chờ tối đa 72 giờ để bắt đầu, và có 24 giờ để chạy xong kể từ lúc bắt đầu; quá hạn thì phần chưa đọc được hoàn ký tự và có thể chạy lại. Chạy lại: POST /v1/jobs/{id}/retry với job lỗi, xong một phần hoặc đã huỷ tạo job mới chỉ gồm các câu còn thiếu (giữ số thứ tự và mốc thời gian gốc; gọi lại nhiều lần vẫn trả cùng một job). Kết quả tự xoá sau 48 giờ.
    Phân vai nhiều giọng: câu trong SRT bắt đầu bằng #TênVai: (có thể kèm cảm xúc: #Nam [vui]: … hoặc [buồn] …). Gửi thêm role_voice_map={"#Nam":"vo_…","#Nữ":"vo_…"} và/hoặc role_speed_map={"#Nam":1.2} (JSON, tối đa 30 vai). Vai không gán dùng voice_id. Phân vai và cảm xúc chỉ dùng với giọng mẫu (voice_id); với instruct các nhãn này được bỏ qua. Nhãn vai/cảm xúc không tính phí.
    Gợi ý: Dùng tham số instruct (ví dụ: female, young adult, moderate pitch) thay cho voice_id nếu không có sẵn file giọng mẫu. Gửi lại cùng Idempotency-Key trong vòng 24 giờ sẽ không bị trừ trùng credit. Tuỳ chọn thêm callback_url (HTTPS) để máy chủ tự động gọi Webhook khi job hoàn tất.
    Văn bản không có mốc thời gian: gửi thêm layout=sequence — file WAV ghép sẽ nối liền các câu theo độ dài thật (nghỉ 0,3 giây) thay vì đặt theo mốc thời gian trong SRT.

    2. Kiểm tra tiến độ job

    curl /v1/jobs/job_… -H "Authorization: Bearer dct_…"

    Trạng thái (status) trả về lần lượt: queued (chờ máy) → running (đang đọc) → done (hoàn tất) | partial | error | cancelled. Kèm theo done_segments, segments và thời gian ước tính eta_sec. voices cho biết tên các giọng job dùng (kể cả giọng đã xoá); result_expires_at là lúc kết quả tự xoá, hãy tải về trước thời điểm đó.

    3. Tải kết quả âm thanh

    # Tải file ZIP chứa từng câu lẻ 1.wav, 2.wav... (theo số thứ tự trong file SRT) kèm manifest.json.
    # File tải về mang tên file SRT; thêm ?name=ten_ban_muon để đặt tên khác.
    curl -fL -o ket_qua.zip /v1/jobs/job_…/result -H "Authorization: Bearer dct_…"
    
    # Hoặc tải file WAV đã ghép chuẩn mốc thời gian:
    curl -fL -o ket_qua.wav "/v1/jobs/job_…/result?format=wav" -H "Authorization: Bearer dct_…"
    
    # Phụ đề SRT khớp với file WAV ghép ở trên (thời gian thật của từng câu đã đọc):
    curl -fL -o ket_qua.srt "/v1/jobs/job_…/result?format=srt" -H "Authorization: Bearer dct_…"

    4. Thêm giọng mẫu mới qua API

    curl -X POST /v1/voices \
      -H "Authorization: Bearer dct_…" \
      -F audio=@mau.wav \
      -F name="Giọng A" \
      -F ref_text="Lời đọc chính xác trong file mẫu" \
      -F language=vi \
      -F consent=true
    
    # Nghe lại file mẫu đã tải lên:
    curl -fL -o mau.wav /v1/voices/vo_…/audio -H "Authorization: Bearer dct_…"
    
    # Sửa tên, ngôn ngữ/quốc gia (cờ) hoặc câu mẫu:
    curl -X PATCH /v1/voices/vo_… -H "Authorization: Bearer dct_…" \
      -H "Content-Type: application/json" -d '{"name":"Giọng A","language":"vi"}'

    5. Code mẫu hoàn chỉnh bằng Python

    import time, requests
    
    API = ""
    HEADERS = {"Authorization": "Bearer dct_…"}
    
    # 1. Gửi file SRT tạo job
    with open("phim.srt", "rb") as f:
        job = requests.post(
            f"{API}/v1/jobs",
            headers={**HEADERS, "Idempotency-Key": "tap-01"},
            files={"srt": f},
            data={"voice_id": "vo_…", "language": "vi", "speed": "1.0"}
        ).json()
    
    print(f"Đã tạo job: {job['id']}, chờ xử lý...")
    
    # 2. Polling kiểm tra trạng thái
    while True:
        s = requests.get(f"{API}/v1/jobs/{job['id']}", headers=HEADERS).json()
        if s["status"] not in ("queued", "running"):
            break
        time.sleep(10)
    
    # 3. Tải kết quả âm thanh
    if s["status"] in ("done", "partial"):
        with requests.get(f"{API}/v1/jobs/{job['id']}/result", headers=HEADERS, stream=True) as r, open("output.zip", "wb") as out:
            for chunk in r.iter_content(1024 * 1024):
                out.write(chunk)
        print("Tải kết quả hoàn tất!")

    6. Bảng mã phản hồi thường gặp

    Mã HTTP Ý nghĩa & Cách xử lý
    401 Unauthorized API key không hợp lệ hoặc đã bị thu hồi.
    402 insufficient_credit Số dư không đủ để thực hiện job này. Liên hệ quản trị viên để được cộng thêm ký tự.
    400 invalid_srt File SRT không đúng cấu trúc tiêu chuẩn (xem chi tiết trong details.reason).
    409 result_not_ready Job chưa hoàn tất hoặc server đang trong quá trình ghép file âm thanh.
    429 rate_limit Đã đạt giới hạn số job chạy song song hoặc vượt quá 60 request/phút (xem header Retry-After).