Tình huống sử dụng
Clip sản phẩm từ một tấm ảnh
Người bán biến một ảnh sản phẩm thành clip dọc ngắn cho trang bán hàng.
Mục tiêu
Biến một ảnh sản phẩm thành clip dọc ngắn để người bán đăng lên trang sản phẩm hoặc kênh video ngắn.
Trước khi bắt đầu
- Một token ở chế độ
execute: báo giá và sản xuất là tool tính phí. Xem bắt đầu nhanh. - Một ảnh sản phẩm (JPEG, PNG hoặc WebP) mà người bán có quyền sử dụng.
Thứ tự gọi MCP
get_workspaceĐọc mã workspace, tên và vai trò của bạn. Server lấy workspace từ token.
Tham số của get_workspace {}list_video_modelsChọn một model đã sẵn sàng có thể biến ảnh thành video, giữ tên model để tạo dự án.
Tham số của list_video_models { "workspace_id": "<workspace_id from get_workspace>" }create_projectTạo dự án: một clip dọc khoảng 10 giây cho sản phẩm này. Giữ
project_id.Tham số của create_project { "workspace_id": "<workspace_id from get_workspace>", "title": "<product name> clip", "product": "<product name>", "brief": "<one sentence: who it is for and what to show>", "duration": 10, "ratio": "9:16", "video_model": "<image-to-video model from list_video_models>", "request_key": "<new UUIDv4>" }create_asset_upload_intentĐăng ký ảnh kèm kích thước và SHA-256. Giữ
asset_id.Tham số của create_asset_upload_intent { "project_id": "<project_id>", "filename": "product.jpg", "mime": "image/jpeg", "size": 482113, "sha256": "<sha256 of the file>", "request_key": "<new UUIDv4>" }upload_asset_contentGửi ảnh dạng base64, đúng kích thước đã đăng ký.
Tham số của upload_asset_content { "project_id": "<project_id>", "asset_id": "<asset_id>", "content_base64": "<file as base64>", "request_key": "<new UUIDv4>" }finalize_asset_uploadKiểm tra bản tải lên.
attach: truethêm ảnh vào danh sách ảnh tham chiếu của dự án.Tham số của finalize_asset_upload { "project_id": "<project_id>", "asset_id": "<asset_id>", "attach": true, "request_key": "<new UUIDv4>" }read_external_contextĐọc ngữ cảnh dự án: brief, ảnh đã gắn, schema của storyboard, cùng handle, hash và revision cần gửi lại.
Tham số của read_external_context { "project_id": "<project_id>" }submit_external_compositionGửi storyboard với mã ảnh trong
reference_asset_ids. Server kiểm tra miễn phí và trả vềcomposition_id.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>" }create_quoteTạo báo giá; giá được lưu trên báo giá. Dừng ở đây và cho người dùng xem tổng tiền.
Tham số của create_quote { "project_id": "<project_id>", "composition_id": "<composition_id>", "candidates": 1, "request_key": "<new UUIDv4>" }approve_productionChỉ sau khi người dùng đồng ýChỉ sau khi người dùng đồng ý với giá. Sản xuất bắt đầu ngay; không bao giờ gọi hai lần cho cùng một báo giá.
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>" }get_run_progressHỏi tiến độ, mỗi lần chờ lâu hơn, cho đến khi lượt chạy ở trạng thái
READY.Tham số của get_run_progress { "project_id": "<project_id>", "run_id": "<run_id from approve_production>" }list_available_mediaĐọc clip đã được xác minh. Clip dở dang không phải kết quả cuối.
Tham số của list_available_media { "project_id": "<project_id>", "run_id": "<run_id from approve_production>" }prepare_deliveryChuẩn bị gói bàn giao cho lượt chạy đã xong.
Tham số của prepare_delivery { "project_id": "<project_id>", "run_id": "<run_id from approve_production>", "request_key": "<new UUIDv4>" }issue_deliveryChỉ sau khi người dùng đồng ýChỉ sau khi người dùng đã xem clip và đồng ý.
confirmed: truelà 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>" }get_delivery_downloadĐọc thông tin tải xuống riêng tư của gói đã bàn giao.
Tham số của get_delivery_download { "project_id": "<project_id>", "delivery_id": "<delivery_id>", "request_key": "<new UUIDv4>" }
Người dùng duyệt gì
- Báo giá: agent cho xem tổng tiền và chờ người dùng đồng ý rồi mới gọi
approve_production. - Clip: người dùng xem clip, sau đó agent gọi
issue_deliveryvớiconfirmed: true.
Kết quả
- Một clip dọc (9:16) dài khoảng 10 giây làm từ ảnh, có trong
list_available_media. - Một gói bàn giao kèm thông tin tải xuống riêng tư.
Lưu ý
- Sản phẩm đứng yên trong khoảng giây đầu; mỗi cảnh chỉ một hành động.
agent_preflightliệt kê các điểm chặn trước khi báo giá. - Khi lời gọi lỗi, làm theo
next_actiontrong lỗi. SauWRITE_OUTCOME_UNKNOWN, đọc trạng thái trước và không thử lại. Xem mã lỗi.