Bỏ qua, đến nội dung chính
RPT AI Video Studio

Tình huống sử dụng

Dịch một video đã hoàn thành

Tạo bản ngôn ngữ mới cho video đã xong, với lời dẫn, phụ đề đã dịch và giọng đọc mới.

Mục tiêu

Làm bản ngôn ngữ mới cho một video đã hoàn thành: lời dẫn và phụ đề đã dịch, giọng đọc mới, giữ nguyên hình ảnh.

Trước khi bắt đầu

  • Một video đã hoàn thành trong workspace (lượt chạy ở trạng thái READY).
  • Bản dịch của mọi cảnh có lời dẫn. Cảnh không lời giữ nguyên.

Thứ tự gọi MCP

Giá trị trong ngoặc nhọn là chỗ cần điền. Mỗi thao tác ghi dùng một request_key mới (UUIDv4); chỉ dùng lại key khi thử lại đúng lời gọi đó.

  1. get_production_state

    Tìm lượt chạy đã xong (READY) của video cần dịch.

    Tham số của get_production_state
    {
      "project_id": "<project_id of the finished video>"
    }
  2. get_run_script

    Đọc kịch bản của lượt chạy đó: lời dẫn và phụ đề từng cảnh, cùng content_hash.

    Tham số của get_run_script
    {
      "project_id": "<project_id of the finished video>",
      "run_id": "<READY run_id>"
    }
  3. list_voices

    Chọn giọng đọc cho ngôn ngữ mới.

    Tham số của list_voices
    {
      "language": "en"
    }
  4. create_locale

    Tạo bản ngôn ngữ mới thành một dự án mới, mỗi cảnh một lời dẫn và một phụ đề đã dịch. Video gốc không thay đổi.

    Tham số của create_locale
    {
      "project_id": "<project_id of the finished video>",
      "parent_run_id": "<READY run_id>",
      "expected_content_hash": "<content_hash from get_run_script>",
      "name": "<video name> (English)",
      "language": "en",
      "voice": "<voice id>",
      "shots": [
        {
          "shot": 1,
          "narration": "<translated narration>",
          "subtitle": "<translated subtitle>"
        }
      ],
      "request_key": "<new UUIDv4>"
    }
  5. agent_preflight

    Trên dự án mới: kiểm tra điểm chặn và đọc tham số của create_quote trong next_calls.

    Tham số của agent_preflight
    {
      "project_id": "<project_id of the new language version>"
    }
  6. create_quote

    Báo giá bản mới. Dừng lại và cho người dùng xem tổng tiền.

    Tham số của create_quote
    {
      "project_id": "<project_id of the new language version>",
      "composition_id": "<composition_id from next_calls>",
      "candidates": 1,
      "request_key": "<new UUIDv4>"
    }
  7. approve_productionChỉ sau khi người dùng đồng ý

    Chỉ sau khi người dùng đồng ý.

    Tham số của approve_production
    {
      "project_id": "<project_id of the new language version>",
      "quote_id": "<quote_id>",
      "expected_content_hash": "<content_hash from the quote>",
      "request_key": "<new UUIDv4>"
    }
  8. get_run_progress

    Hỏi tiến độ cho đến khi lượt chạy mới ở trạng thái READY.

    Tham số của get_run_progress
    {
      "project_id": "<project_id of the new language version>",
      "run_id": "<run_id from approve_production>"
    }
  9. prepare_delivery

    Chuẩn bị gói bàn giao của bản mới.

    Tham số của prepare_delivery
    {
      "project_id": "<project_id of the new language version>",
      "run_id": "<run_id from approve_production>",
      "request_key": "<new UUIDv4>"
    }
  10. issue_deliveryChỉ sau khi người dùng đồng ý

    Chỉ sau khi người dùng đã kiểm tra video đã dịch.

    Tham số của issue_delivery
    {
      "project_id": "<project_id of the new language version>",
      "run_id": "<run_id from approve_production>",
      "confirmed": true,
      "request_key": "<new UUIDv4>"
    }

Người dùng duyệt gì

  • Bản dịch, agent cho xem trước khi gọi create_locale.
  • Báo giá, trước approve_production.
  • Video đã dịch, trước issue_delivery.

Kết quả

  • Một dự án mới chứa video đã dịch: lời dẫn mới, phụ đề mới, hình ảnh giữ nguyên.
  • Mười ngôn ngữ đích: tiếng Việt, Anh, Nhật, Hàn, Trung, Pháp, Đức, Tây Ban Nha, Thái và Indonesia.

Lưu ý

  • Chưa hỗ trợ video có người nói trước máy quay. Server dừng lại và báo lỗi, agent hỏi người dùng cách xử lý.
  • Mỗi cảnh có lời dẫn cần đúng một bản dịch và một phụ đề; nếu thiếu, server chỉ ra cảnh còn thiếu.