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

Tình huống sử dụng

Video marketing do agent làm

Agent lên kế hoạch và sản xuất trọn vẹn một video marketing ngắn; một người duyệt giá và việc bàn giao.

Mục tiêu

Để agent lên kế hoạch và sản xuất một video marketing ngắn từ trang sản phẩm và vài thông tin, còn một người duyệt giá và kết quả.

Trước khi bắt đầu

  • Một token ở chế độ execute cho cả workspace, để agent tạo được dự án.
  • Đường dẫn trang sản phẩm và các thông tin video phải nói đúng, như ưu đãi và những điều thương hiệu cho phép nói.

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_workspace

    Đọc mã workspace và vai trò của bạn.

    Tham số của get_workspace
    {}
  2. create_project

    Tạo dự án, ghi mục tiêu, khán giả, ưu đãi và giọng điệu trong brief.

    Tham số của create_project
    {
      "workspace_id": "<workspace_id from get_workspace>",
      "title": "<campaign name>",
      "brief": "<goal, audience, offer, tone>",
      "duration": 20,
      "ratio": "9:16",
      "request_key": "<new UUIDv4>"
    }
  3. create_source

    Thêm trang sản phẩm làm nguồn; server đọc trang để lấy thông tin.

    Tham số của create_source
    {
      "project_id": "<project_id>",
      "kind": "web",
      "url": "<product page URL>",
      "request_key": "<new UUIDv4>"
    }
  4. create_source

    Thêm các thông tin video phải nói đúng dưới dạng nguồn văn bản.

    Tham số của create_source
    {
      "project_id": "<project_id>",
      "kind": "text",
      "text": "<facts the video must get right>",
      "request_key": "<new UUIDv4>"
    }
  5. agent_preflight

    Kiểm tra điểm chặn và đọc next_calls, đúng các lời gọi tiếp theo cho token này.

    Tham số của agent_preflight
    {
      "project_id": "<project_id>"
    }
  6. list_voices

    Chọn giọng đọc theo ngôn ngữ của video.

    Tham số của list_voices
    {
      "language": "<language code, e.g. en>",
      "use_case": "advertising"
    }
  7. read_external_context

    Đọc ngữ cảnh: brief, nguồn, schema của storyboard, handle, hash và revision.

    Tham số của read_external_context
    {
      "project_id": "<project_id>"
    }
  8. submit_external_composition

    Gửi storyboard: các cảnh, lời dẫn và chữ trên hình. Bước kiểm tra miễn phí.

    Tham số của submit_external_composition
    {
      "project_id": "<project_id>",
      "expected_project_revision": "<project revision from the context>",
      "expected_composition_revision": "<composition revision from the context>",
      "context_handle": "<context_handle>",
      "context_hash": "<context_hash>",
      "composition": {
        "shots": [
          {
            "reference_asset_ids": [
              "<asset_id>"
            ],
            "...": "<fields from the schema in the context>"
          }
        ]
      },
      "client_task_id": "<your task id>",
      "request_key": "<new UUIDv4>"
    }
  9. create_quote

    Báo giá với giọng đọc đã chọn và phụ đề. Dừng lại, cho người dùng xem storyboard và tổng tiền.

    Tham số của create_quote
    {
      "project_id": "<project_id>",
      "composition_id": "<composition_id>",
      "candidates": 1,
      "voice": "<voice id>",
      "subtitles": true,
      "request_key": "<new UUIDv4>"
    }
  10. approve_productionChỉ sau khi người dùng đồng ý

    Chỉ sau khi người dùng đồng ý. Sản xuất bắt đầu ngay.

    Tham số của approve_production
    {
      "project_id": "<project_id>",
      "quote_id": "<quote_id>",
      "expected_content_hash": "<content_hash from the quote>",
      "request_key": "<new UUIDv4>"
    }
  11. agent_continue

    Khi chưa rõ bước tiếp theo, hỏi server; server trả về lời gọi tiếp theo.

    Tham số của agent_continue
    {
      "project_id": "<project_id>"
    }
  12. get_run_progress

    Hỏi tiến độ cho đến khi lượt chạy ở trạng thái READY. Lượt chạy dừng ở NEEDS_ATTENTION không bao giờ được tự gửi lại; hãy báo người dùng.

    Tham số của get_run_progress
    {
      "project_id": "<project_id>",
      "run_id": "<run_id from approve_production>"
    }
  13. list_available_media

    Liệt kê các clip đã xác minh và video hoàn chỉnh.

    Tham số của list_available_media
    {
      "project_id": "<project_id>",
      "run_id": "<run_id from approve_production>"
    }
  14. get_media_asset

    Đọc một tệp để kiểm tra hoặc cho người dùng xem.

    Tham số của get_media_asset
    {
      "project_id": "<project_id>",
      "artifact_id": "<artifact_id>",
      "name": "<file name from list_available_media>"
    }
  15. prepare_delivery

    Chuẩn bị gói bàn giao: video, phụ đề và các tệp khác của lượt chạy.

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

    Chỉ sau khi người dùng duyệt kết quả. confirmed: true là quyết định của họ.

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

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

  • Storyboard và báo giá, trước approve_production.
  • Video hoàn chỉnh, trước issue_delivery.

Kết quả

  • Một video dọc khoảng 20 giây có lời dẫn và phụ đề.
  • Một gói bàn giao người dùng có thể tải về.

Lưu ý

  • Claude Code, Codex và các MCP client khác kết nối theo cùng một cách; xem hướng dẫn cài đặt agent.
  • Giới hạn của chính token (hạn mức chi, lượt gọi mỗi phút, việc có phí cùng lúc) là thứ duy nhất server áp dụng cho chi tiêu; xem tổng quan. Không gọi lại approve_production cho lượt chạy bị lỗi; đọc trạng thái rồi hỏi người dùng.