Clipwright

chính thức

Tạo video quảng cáo kiểu UGC mà không cần quay phim. Hãy cho trợ lý AI của bạn biết video nên nói gì, và Clipwright trả về một clip dọc của một diễn viên thực tế nói điều đó, sẵn sàng cho TikTok, Reels hoặc Shorts. Thử mười câu mở đầu cho sản phẩm của bạn trong một buổi chiều thay vì thuê người sáng tạo và đặt lịch quay. Chọn một diễn viên có sẵn hoặc mô tả diễn viên của riêng bạn, chọn giọng nói bằng cách nghe mẫu, và xem giá trước khi bất cứ thứ gì được kết xuất. Hoạt động từ Claude, Cursor hoặc bất kỳ máy khách MCP nào. Bạn nhận được tệp video và quyết định nơi nó sẽ được sử dụng.

Bạn có thể làm gì với Clipwright MCP?

  • Tạo video khớp khẩu hình từ kịch bản — Yêu cầu AI của bạn biến một kịch bản viết thành video phong cách UGC với diễn viên, giọng nói và định dạng đã chọn.
  • Tạo diễn viên AI tùy chỉnh — Mô tả ngoại hình của một người trưởng thành hư cấu và tạo ra một diễn viên có thể tái sử dụng cho các video trong tương lai.
  • Kiểm tra giá trước khi tạo — Yêu cầu báo giá miễn phí cho một video hoặc diễn viên trước khi cam kết sử dụng tín dụng.
  • Quản lý diễn viên đã lưu — Liệt kê các diễn viên hiện có, xem lại chính sách mặc định của họ hoặc xóa những diễn viên không còn cần thiết.
  • Theo dõi các lần chạy video và diễn viên — Kiểm tra trạng thái của một công việc tạo cho đến khi nó thành công hoặc thất bại, và lấy URL video cuối cùng.

Tài liệu

API Clipwright

Một HTTP API duy nhất biến kịch bản thành video UGC khớp khẩu hình. API được xây dựng để điều khiển bởi agent: mỗi lần gọi là một yêu cầu JSON duy nhất, mỗi lần từ chối đều nói rõ bước tiếp theo cần làm, và không có gì được xuất bản ở bất kỳ đâu. Mọi từ trên trang này cũng là một tệp markdown tại https://clipwright.io/docs.md, và một hợp đồng ngắn cho agent tại https://clipwright.io/llms.txt.

Xác thực

Mọi lần gọi đều đến https://api.clipwright.io và mang khóa trong một header:

Authorization: Bearer cw_your_key_here
  • Khóa bắt đầu bằng cw_ và chỉ hiển thị một lần, khi được cấp. Chúng tôi chỉ giữ một bản tóm tắt (digest), vì vậy khóa bị mất sẽ được thay thế, không bao giờ khôi phục.
  • Cấp và thu hồi khóa trong bảng điều khiển tại https://app.clipwright.io/api-keys. Việc thu hồi có hiệu lực từ yêu cầu tiếp theo.
  • @clipwright/cli và @clipwright/mcp-server đọc khóa từ biến môi trường CLIPWRIGHT_API_KEY; @clipwright/sdk nhận khóa như một đối số.
  • Một lần gọi không có khóa, hoặc có khóa đã bị thu hồi, sẽ bị từ chối với mã 401 trước khi bất kỳ khoản phí nào được tính.

03

Chi phí

  • make_ugc từ kịch bản thường: 30 tín dụng cho mỗi giây video hoàn thành, làm tròn lên đến giây nguyên.
  • make_ugc với phân đoạn (segments) hoặc chèn (inserts): 10 tín dụng cho mỗi giây khuôn mặt xuất hiện trên màn hình, và tối thiểu 400 tín dụng cho một video chúng tôi đã giao. Giây không có khuôn mặt không tính phí, và một lần chạy không tạo ra tệp nào thì không tính phí gì cả, ngay cả khi nhà cung cấp đã được thanh toán. Thời gian khuôn mặt được cộng dồn trên toàn bộ video và làm tròn lên một lần, không phải theo từng phân đoạn. Các trường này cần đủ điều kiện dài hạn (long-form qualification) trên hệ thống triển khai; nơi tính năng này tắt, chúng bị từ chối theo tên trước khi tính phí.
  • create_actor ở chất lượng trung bình (medium): 10 tín dụng cho ảnh chân dung và 10 cho mỗi định dạng bổ sung.
  • create_actor ở chất lượng cao (high): 20 tín dụng cho ảnh chân dung và 20 cho mỗi định dạng bổ sung.
  • Tín dụng được mua theo gói: 1000 tín dụng với $10.00, một lần thanh toán, không đăng ký định kỳ.

Hãy hỏi trước khi chi tiêu: điểm cuối báo giá (quote) của cả hai kỹ năng không tính phí. Giá trị câu trả lời của nó khác nhau theo từng kỹ năng.

  • make_ugc: báo giá là ước tính đọc từ nội dung kịch bản. Khoản phí tuân theo những gì được đo trong video hoàn thành — thời lượng theo thang đo kịch bản thường, số giây khuôn mặt theo thang đo khuôn mặt — vì vậy hóa đơn có thể cao hơn hoặc thấp hơn báo giá.
  • create_actor: báo giá định giá mọi định dạng bạn yêu cầu, đây là mức tối đa bạn có thể trả. Bạn bị tính phí cho ảnh chân dung và cho các biến thể thực sự được xuất bản; một định dạng không tạo ra được sẽ được nêu tên trong warnings[] và không tính phí.

Chi phí của một lần chạy thất bại cũng khác nhau theo kỹ năng:

  • make_ugc từ kịch bản thường: một lần chạy thất bại sau khi công việc giao hàng đã đến nhà cung cấp sẽ bị tính phí. Một lần chạy thất bại trước đó không tính phí, và một lần chạy chúng tôi dừng, làm mất hoặc tự từ chối cũng không tính phí, ngay cả khi nhà cung cấp đã được thanh toán. Trên thang đo khuôn mặt, không có lần thất bại nào bị tính phí.
  • create_actor: một lần chạy thất bại không tính phí gì cả, ngay cả khi nhà cung cấp đã được thanh toán, vì không có actor nào đến được với bạn.

04

Điểm cuối

Điểm cuốiTốn tín dụngChức năng
GET /healthkhôngKiểm tra tính khả dụng của chính API. Trả lời mà không cần khóa.
GET /v1/voiceskhôngCác giọng đọc bạn có thể đặt tên trong voice hoặc voice_id.
GET /v1/accountkhôngSố dư, nợ và khoản giữ của tài khoản đứng sau khóa.
POST /v1/skills/make_ugc/quotekhôngĐịnh giá một lần gọi make_ugc với đầu vào này. Không tính phí.
GET /v1/runs/{id}khôngTrạng thái của một lần chạy của bất kỳ kỹ năng nào, cảnh báo của nó và url video.
POST /v1/skills/make_ugc/runcóBắt đầu một lần chạy video và trả lời ngay lập tức với run_id. Thăm dò lần chạy để lấy kết quả.
GET /v1/public/skillskhôngDanh mục các kỹ năng và đầu vào của chúng, không cần khóa.
GET /v1/actorskhôngCác actor đã lưu trên tài khoản, với id mà make_ugc chấp nhận.
DELETE /v1/actors/{id}khôngQuên một actor đã lưu. Một actor đang được lần chạy trực tiếp sử dụng sẽ được giữ lại.
GET /v1/actors/{id}/defaultskhôngĐọc chính sách mặc định của actor đã lưu cho người trong các phần chèn.
POST /v1/actors/{id}/defaultskhôngĐặt chính sách mặc định của actor đã lưu cho người trong các phần chèn. Một lần chạy có thể ghi đè nó.
POST /v1/skills/create_actor/quotekhôngĐịnh giá một lần gọi create_actor với đầu vào này. Không tính phí.
POST /v1/skills/create_actor/runcóBắt đầu một lần chạy actor và trả lời ngay lập tức với run_id. Thăm dò lần chạy để lấy kết quả.
POST /v1/uploadskhôngNhận byte hình ảnh và trả về url https mà make_ugc và create_actor chấp nhận.

Một lần chạy của một trong hai kỹ năng được đọc lại từ cùng một nơi, GET /v1/runs/{id}, và di chuyển qua các trạng thái: queued, generating, scripting, tts, avatar, compositing, uploading, succeeded, failed.

05

Kỹ năng và đầu vào của chúng

make_ugc. Bắt đầu tạo video UGC khớp khẩu hình. Cung cấp một kịch bản trong giới hạn văn bản của mô hình giọng nói đã chọn; actor đến từ actor_id (một actor đã lưu từ list_actors) hoặc image, nếu không thì actor mặc định được sử dụng. Định dạng và độ phân giải tuân theo yêu cầu và nguồn, mặc định là 1080x1920. Phụ đề là TÙY CHỌN: hãy hỏi người dùng trước. Các trường mà trình kết xuất chưa hỗ trợ sẽ mang ghi chú NOT HONORED YET trong mô tả của chính chúng — hãy đọc thay vì đoán.

Gọi quote_ugc trước khi tạo và hiển thị chi phí. Điều này KHÔNG chờ video: nó bắt đầu lần chạy và trả về run_id NGAY LẬP TỨC. Sau đó bạn PHẢI thăm dò get_run với run_id đó cho đến khi trạng thái là 'succeeded' (video_url) hoặc 'failed'. Một lần chạy 'failed' mà công việc nhà cung cấp đã trả tiền vẫn được chúng tôi giữ có thể quay lại 'queued' và đạt 'succeeded' sau đó; bất cứ khi nào điều đó xảy ra, nó được nêu tên trong warnings[]. Truyền attempt=2,3,… để cố ý bắt đầu một lần chạy MỚI cho cùng đầu vào (thử lại sau lỗi).

TrườngBắt buộcÝ nghĩa
scripttùy chọnLời thoại actor nói; bắt buộc trừ khi segments cung cấp văn bản nói. Segments và các phần chèn gắn văn bản yêu cầu đủ điều kiện dài hạn trên máy chủ. Giới hạn kịch bản theo mô hình giọng nói: eleven_v3: 5000 ký tự; eleven_flash_v2_5: 10000 ký tự; eleven_turbo_v2_5: 10000 ký tự. Số đếm bao gồm khoảng trắng, thẻ âm thanh và dấu nhấn trọng âm; biểu tượng cảm xúc có thể tính là hai ký tự. Không có giới hạn số từ. Thời lượng và giá là ước tính cho đến khi được đo. Trọng âm tiếng Nga: viết nguyên âm được nhấn bằng chữ in hoa bên trong một từ viết thường ("потОм", "зАмок") và eleven_v3 nhận nó như dấu nhấn U+0301 ("пото́м"); một dấu gõ trực tiếp được giữ nguyên. Một chữ in hoa ở đầu từ vẫn là chữ in hoa, và một từ có chữ in hoa thứ hai hoặc phụ âm in hoa bên trong (viết hoa toàn bộ, "ВУЗы") được giữ nguyên. Một nguyên âm in hoa duy nhất bên trong một từ luôn được đọc là trọng âm, vì vậy hãy viết "Яндекс Еда", không phải "ЯндексЕда". Hãy nói với người dùng viết tiếng Nga rằng họ có thể đánh dấu trọng âm theo cách này. eleven_flash_v2_5 và eleven_turbo_v2_5 rẻ hơn nhưng đọc sai dấu nhấn trọng âm: chữ in hoa đến với chúng không thay đổi.
segmentstùy chọnCác phân đoạn actor và hình ảnh có thứ tự; yêu cầu đủ điều kiện dài hạn trên máy chủ, captions=false và 1080p. Phương tiện hình ảnh yêu cầu broll_policy=anyone một cách tường minh.
insertstùy chọnCác phần chèn hình ảnh gắn văn bản trên toàn bộ lời tường thuật, mỗi phần bao phủ cover_words từ neo của nó; yêu cầu đủ điều kiện dài hạn trên máy chủ, captions=false, 1080p và broll_policy=anyone một cách tường minh.
persontùy chọnNOT HONORED YET: person chưa được hỗ trợ: yêu cầu này sử dụng actor mặc định; chọn actor_id từ list_actors hoặc cung cấp image để chọn khuôn mặt khác
actor_idtùy chọnID actor Clipwright đã lưu từ list_actors. Chọn actor_id, image hoặc person; không kết hợp chúng. Không có voice hoặc voice_id thì giọng đọc theo giới tính của actor. Không kết hợp với actor_gender.
imagetùy chọnUrl https công khai của ảnh actor (PNG, JPEG hoặc WebP, tối đa 10 MB). Một tệp trên đĩa đi qua upload_image (POST /v1/uploads) trước — truyền url mà nó trả về. Một nguồn chúng tôi không thể sử dụng — máy chủ riêng hoặc loopback, http, không truy cập được, chuyển hướng, trên 10 MB, hoặc không phải một trong các loại hình ảnh đó — bị từ chối (unusable_source) trước khi tính phí. Chúng tôi không phát hiện giới tính của khuôn mặt: truyền actor_gender hoặc voice, hoặc giọng nam mặc định được sử dụng kèm cảnh báo.
actor_gendertùy chọnGiới tính của khuôn mặt trong image: female | male. Chỉ với image: chọn giọng mặc định của giới tính đó (female: sarah, male: george). Bị từ chối với actor_id (giới tính của nó đã biết) và không có image. Một voice hoặc voice_id tường minh thắng và phản hồi cảnh báo rằng actor_gender không thay đổi gì.
nametùy chọnNOT HONORED YET: name chưa được hỗ trợ: nó không đến được trình kết xuất
broll_policytùy chọnCHỈ LƯU TRỮ: Chính sách đã lưu cho B-roll: anyone cho phép người bao gồm cả actor; no_actor loại trừ actor; no_people loại trừ tất cả mọi người, bao gồm cả bàn tay. Tạo phương tiện phân đoạn đã đóng. Cài đặt này chỉ được lưu trữ và không có hiệu lực trên video chỉ có actor. Ghi đè lần chạy thắng mặc định actor tài khoản; nếu không thì no_people.
captionstùy chọnNOT HONORED YET: captions được yêu cầu nhưng không được kết xuất trong nguyên mẫu này (giai đoạn-B)
caption_styletùy chọnNOT HONORED YET: caption_style không được hỗ trợ: captions không được kết xuất trong nguyên mẫu này (giai đoạn-B)
looktùy chọnNOT HONORED YET: look chưa được hỗ trợ: nó không đến được trình kết xuất
aspect_ratiotùy chọnĐịnh dạng đầu ra: 9:16 | 1:1 | 16:9. Bỏ qua nghĩa là 9:16, và một nguồn có hình dạng khác được điều chỉnh về 9:16 kèm cảnh báo — hãy truyền nó một cách tường minh bất cứ khi nào bạn truyền image. Sự chênh lệch trên 15% giữa yêu cầu và nguồn bị từ chối (aspect_conflict) trước khi tính phí.
resolutiontùy chọnĐộ phân giải đầu ra: 720p | 1080p | 4k (cạnh ngắn 720 / 1080 / 2160 px). Bỏ qua nghĩa là 1080p.
voicetùy chọnTên giọng đọc từ list_voices. Các cài đặt sẵn được tuyển chọn: owner_ru_clone | sarah | george | eric | daria_ru_female (owner_ru_clone là giọng đọc tiếng Nga nhân bản). API từ chối một tên mà list_voices không trả về, trước khi tính phí. Bỏ qua nghĩa là giọng mặc định cho giới tính của actor: giới tính của actor_id, actor_gender với image, hoặc george cho actor mặc định và cho image không có actor_gender. Loại trừ lẫn nhau với voice_id.
voice_idtùy chọnID giọng đọc nhà cung cấp thô (16–32 chữ cái và chữ số) cho một giọng ngoài danh mục. Được kiểm tra một cách lười biếng: một id không xác định làm lần chạy thất bại, không phải yêu cầu. Loại trừ lẫn nhau với voice.
tts_modeltùy chọnMô hình giọng nói: eleven_v3 | eleven_flash_v2_5 | eleven_turbo_v2_5. Bỏ qua nghĩa là mô hình của cài đặt sẵn đã chọn (list_voices hiển thị nó; mọi cài đặt sẵn đều dùng eleven_v3) hoặc eleven_v3 cho voice_id thô. eleven_v3 là mô hình biểu cảm nhất và là mô hình duy nhất đọc dấu nhấn trọng âm (một nguyên âm in hoa bên trong từ tiếng Nga, "потОм", trở thành một dấu; xem script); eleven_flash_v2_5 và eleven_turbo_v2_5 là các lựa chọn thay thế rẻ hơn cho các ngôn ngữ khác tiếng Nga. Giới hạn kịch bản theo mô hình giọng nói: eleven_v3: 5000 ký tự; eleven_flash_v2_5: 10000 ký tự; eleven_turbo_v2_5: 10000 ký tự. Số đếm bao gồm khoảng trắng, thẻ âm thanh và dấu nhấn trọng âm; biểu tượng cảm xúc có thể tính là hai ký tự. Không có giới hạn số từ. Thời lượng và giá là ước tính cho đến khi được đo.
disclosure_overlaytùy chọnGiá trị chấp nhận: true | false.
backgroundtùy chọnGiá trị chấp nhận: white | blur | contain.

create_actor. Tạo một actor cá nhân cho tài khoản này từ các từ mô tả một người lớn hư cấu: một ảnh chân dung 9:16 với đúng một khuôn mặt, cộng với các định dạng khác được yêu cầu chỉnh sửa từ nó. Trả về run_id ngay lập tức; thăm dò get_run cho đến khi 'succeeded' (created_actor.actor_id, sau đó truyền nó như actor_id cho make_ugc) hoặc 'failed'. Mỗi hình ảnh được xuất bản bị tính phí theo giá báo giá hiển thị; mô tả bị từ chối và ảnh chân dung không sử dụng được không tính phí. Khi tính năng tạo bị tắt, lần gọi thất bại với actor_generation_disabled.

TrườngBắt buộcÝ nghĩa
descriptionbắt buộcTừ mô tả một người trưởng thành hư cấu: ngoại hình, trang phục, bối cảnh. Việc nêu tên một người thật hoặc sự giống với người thật sẽ bị từ chối trước khi tính phí (actor_prompt_refused).
genderbắt buộcfemale | male. Xác định giới tính của diễn viên và giọng nói mặc định của video sử dụng diễn viên này.
approximate_agebắt buộcĐộ tuổi gần đúng tính theo năm, từ 18 đến 90: diễn viên đều là người trưởng thành.
namebắt buộcTên hiển thị trong list_actors.
aspect_ratiostùy chọnCác định dạng để tạo: 9:16 | 1:1 | 16:9, luôn bao gồm 9:16. Nếu bỏ trống nghĩa là cả ba định dạng. Các định dạng không vượt qua kiểm tra danh tính sẽ không bị tính phí và được nêu trong cảnh báo.
qualitytùy chọnChất lượng hình ảnh: medium | high. Nếu bỏ trống nghĩa là medium. Giá mỗi hình ảnh phụ thuộc vào điều này; báo giá hiển thị trước khi tính phí.

Định dạng đầu ra tuân theo yêu cầu và nguồn. Các định dạng được hỗ trợ là 9:16, 1:1, 16:9 và độ phân giải 720p, 1080p, 4k; nếu không chỉ định nghĩa là 1080p ở định dạng 9:16.

06

Bắt đầu một lần chạy

Một lệnh gọi trả phí mang một header ngoài khóa: Idempotency-Key. POST /v1/skills/make_ugc/run và POST /v1/skills/create_actor/run yêu cầu header này, và lệnh gọi không có nó sẽ bị từ chối với mã 400 idempotency_key_required trước khi bất cứ điều gì bị tính phí.

  • Bạn chọn khóa, và đó là thứ duy nhất phân biệt một lần thử lại với một đơn hàng thứ hai. Bất kỳ chuỗi duy nhất nào cũng được; hãy giữ nó miễn là bạn có thể gửi lại lệnh gọi.
  • Cùng một khóa với cùng một nội dung sẽ trả về lần chạy đã bắt đầu và không tính phí lần thứ hai. Đó là điều làm cho việc thử lại thông thường trở nên an toàn.
  • Cùng một khóa với nội dung khác sẽ bị từ chối với mã 409 idempotency_key_reused. Hãy dùng khóa mới cho yêu cầu mới thay vì sửa yêu cầu dưới một khóa đã được sử dụng.
  • Để bắt đầu một lần chạy mới có chủ đích trên cùng đầu vào — thử lại sau lỗi — hãy gửi một khóa mới. Lần chạy bạn đã trả phí vẫn nằm nguyên tại chỗ.
  • @clipwright/sdk và @clipwright/mcp-server tự xây dựng khóa cho bạn từ client và đầu vào, và biến attempt=2, 3 … thành khóa mới. Qua HTTP thông thường, khóa là do bạn chọn.

07

Khi một lệnh gọi thất bại

Mọi lần từ chối đều kèm một đối tượng lỗi với mã và thông điệp. Cách xử lý phụ thuộc vào loại từ chối, không phải văn bản:

Từ chốiHTTPLặp lại cùng lệnh gọi?Việc cần làm
rate_limited429có, sau khi chờÁp lực ngược, không phải lỗi: phản hồi nêu số giây cần chờ, trong Retry-After và trong phần thân.
server_error500, 502, 503có, sau khi chờLỗi nằm ở phía máy chủ. Đừng bắt đầu lần chạy thứ hai với khóa idempotency mới: cùng lệnh gọi chính là lần thử lại.
insufficient_credits402không, nó trả cùng câu trả lờiDừng lại và báo cho người dùng số dư và giá; cả hai đều có trong phần thân. Lặp lại không thể thay đổi điều nào.
debt_outstanding402không, nó trả cùng câu trả lờiDừng lại. Mua tín dụng sẽ xóa nợ trước khi bất cứ điều gì đến số dư, và điều đó gỡ bỏ khóa.
not_admitted403không, nó trả cùng câu trả lờiDừng lại. Tài khoản không có quyền truy cập beta; cả thử lại lẫn mua đều không thay đổi điều đó. Hãy hỏi người vận hành.
client_error400, 401, 404, 409, 413, 415không, nó trả cùng câu trả lờiDừng lại. Bản thân yêu cầu đã bị từ chối: đọc thông điệp, sửa lệnh gọi, rồi gửi lại.

Đây là tất cả các mã mà API đặt trong error.code. Một mã bạn chưa từng thấy vẫn tuân theo hàng tương ứng ở trên, vì hàng được chọn theo trạng thái:

  • account_not_admitted
  • actor_creation_limited
  • actor_format_unavailable
  • actor_generation_disabled
  • actor_in_use
  • actor_storage_unavailable
  • actor_unavailable
  • aspect_conflict
  • debt_outstanding
  • idempotency_key_required
  • idempotency_key_reused
  • insufficient_credits
  • internal_error
  • invalid_image
  • invalid_request
  • malformed_body
  • not_found
  • paid_render_disabled
  • payload_too_large
  • rate_limited
  • rejected_field
  • script_encoding_lost
  • unauthorized
  • unknown_field
  • unsupported_media_type
  • unusable_source
  • upload_cap_exceeded
  • upstream_error

08

Giới hạn

  • 60 yêu cầu trả phí và 300 yêu cầu miễn phí mỗi 60 giây. Cửa sổ được tính theo tài khoản, không theo khóa, nên thêm khóa không mua thêm thông lượng.
  • 3 lần kết xuất chạy cùng lúc mỗi tài khoản; phần còn lại xếp hàng và không bị từ chối.
  • Một lần từ chối do giới hạn tốc độ nêu số giây cần chờ trong Retry-After và trong phần thân. Hãy tôn trọng giá trị lớn hơn trong hai giá trị.
  • 49 lần chèn mỗi clip, và tối đa 6 lần xuất hiện của diễn viên giữa chúng. Cả hai đều được đếm từ chỉ số từ bạn gửi, nên đầu vào yêu cầu nhiều hơn sẽ bị từ chối trước khi bất cứ điều gì được trả phí.
  • cover_words cho biết một lần chèn bao phủ bao nhiêu từ được nói, đếm từ từ đầu tiên của điểm neo của nó. Lần chèn kết thúc nơi từ chưa được bao phủ đầu tiên bắt đầu, nên hai lần chèn có vùng bao phủ chạm nhau sẽ liền kề và không để lại cảnh diễn viên nào giữa chúng.
  • Tỷ lệ từ bạn để trống quyết định tỷ lệ clip hiển thị khuôn mặt, và nó không thay đổi theo tốc độ giọng nói. Độ dài từ có thay đổi: với kịch bản 560 từ, yêu cầu 19% cho kết quả từ 16 đến 22 trong chín trăm chín mươi bảy trên một nghìn lần mô phỏng, và nằm trong khoảng 15 đến 24 trong năm mươi nghìn lần. Những con số đó được đo trên giọng nói của hồ sơ này và ở độ dài đó; kịch bản ngắn hơn phân tán rộng hơn, và giọng nói khác làm chúng dịch chuyển.
  • Hai lựa chọn một từ thay đổi giá, không chỉ diện mạo. Một lần chèn neo tại từ 0 sở hữu khoảng lặng trước từ đầu tiên; neo tại từ 1 để lại một lần xuất hiện thêm của diễn viên, và mỗi lần xuất hiện là một công việc trả phí riêng. Vùng bao phủ chạm đến từ cuối cùng đưa clip đến hết và loại bỏ lần xuất hiện kết thúc theo cách tương tự.
  • Một báo giá báo cáo tỷ lệ là estimatedFaceWordShare. Hãy đọc trường đó; đừng chia estimatedFaceSeconds cho estimatedTotalDurationSec. Hai giá trị đó trả lời các câu hỏi khác nhau — cái đầu là khoản dự trữ chúng tôi giữ ở đầu chậm của dải nói, cái thứ hai là thời lượng clip dự kiến chạy — và tỷ lệ của chúng không phải là tỷ lệ của bất cứ điều gì.

09

Điều API này sẽ không bao giờ làm

  • Xuất bản bất cứ điều gì. Chúng tôi trả về một tệp và một liên kết đã ký; nơi nó đến là do bạn quyết định.
  • Hủy một lần chạy đã bắt đầu. Không có endpoint cho việc đó: một khi nhà cung cấp đã nhận công việc, dừng nó ở phía chúng tôi sẽ không hoàn lại tiền.
  • Chấp nhận các trường này: character, broll_url, webhook_url. Chúng bị từ chối theo tên trước khi tính phí, không được chấp nhận và âm thầm bỏ qua.
  • Thay đổi định dạng hoặc độ phân giải bạn yêu cầu mà không nói rõ. Sự không khớp hoặc được điều chỉnh với cảnh báo hoặc bị từ chối trước lệnh gọi trả phí.
  • Gọi lại cho bạn. Không có webhook: hãy đọc lần chạy bằng GET /v1/runs/{id}.
  • Hiển thị khóa lần thứ hai, hoặc khôi phục một khóa từ bản sao lưu.

10

Cũng đáng biết

  • Cảnh báo, không im lặng. Bất cứ điều gì chúng tôi không thể tôn trọng sẽ trở lại trong warnings[] trên cùng lần chạy, được nêu tên. Một tham số không bao giờ biến mất mà không có dòng về nó.
  • Một máy chủ MCP. @clipwright/mcp-server phơi bày cùng hợp đồng dưới dạng công cụ, và tools/list của nó là dạng máy đọc được của trang này.