跳至內容
Clevera Help Center

使用 Clevera REST API

透過您自己的指令碼呼叫 Clevera:包含基礎 URL、Bearer Token 驗證、端點及其所需的權限、付費工作的「報價後啟動」流程、冪等性、錯誤格式與速率限制。

更新於 閱讀時間 5 分鐘

Clevera 的 REST API 讓您的指令碼與服務能執行代理人透過 MCP 所能做的事:讀取您的媒體庫、請求影片與文章、匯出影片、處理文件網站以及追蹤工作狀態。本文涵蓋基礎 URL、驗證、付費工作的請求流程、錯誤與速率限制。

基礎知識

基礎 URL https://app.clevera.ai/api/v1
驗證 Authorization: Bearer <token> 使用 API Token (以 clv_agent_ 開頭)
格式 JSON 輸入與輸出。傳送 Accept: application/json,若包含主體則傳送 Content-Type: application/json。
ID 公開 ID,例如工作使用的 job_…。請使用 API 回傳的 ID。

使用 GET /docs/me 檢查 Token:

Terminal
curl -H "Authorization: Bearer $CLEVERA_TOKEN" \
     -H "Accept: application/json" \
     https://app.clevera.ai/api/v1/docs/me

回應會說明該 Token 的身分:Token 名稱與過期時間、使用者及其目前角色、工作區、範圍內的網站,以及目前有效的權限(Token 權限會縮減為該使用者的目前角色權限)。當呼叫被拒絕時,請先呼叫此端點。

端點

每個端點都需要顯示的權限。若在沒有權限的情況下呼叫,將會回傳 403 forbidden_ability。請參閱 代理人權限。

媒體庫與素材

方法與路徑 權限 功能
GET /create/types 任何 您可以請求的影片與社群短片類型。
GET /library library:read Token 持有者可見的影片、錄影與文章。
GET /recordings library:read 僅限錄影。
GET /library/{item} library:read 單一項目。
GET /library/{item}/transcript library:read 其逐字稿。
GET /library/{item}/article library:read 其文章。
GET /library/{item}/embed library:read 其嵌入程式碼。
GET /materials library:read 已上傳的圖片、影片與 PDF。
POST /materials, POST /materials/import, POST /materials/uploads, POST /materials/uploads/{upload_id}/complete materials:write 新增圖片、影片或 PDF(直接新增、從 URL 新增或作為大型檔案上傳)。

影片與文章

方法與路徑 權限 功能
POST /videos/quotes videos:create 從錄影引用影片(type:how_to、product_demo、cleanup、styled_video)、從錄影引用文章(article)或引用翻譯(translation)。
POST /videos videos:create + credits:spend 製作引用的影片(quote_id)。
POST /articles/from-recording videos:create + credits:spend 製作引用的文章。
POST /videos/translations videos:create + credits:spend 製作引用的翻譯。
POST /clips/quotes videos:create 引用社群短片(類型來自 GET /create/types)。
POST /clips videos:create + credits:spend 製作引用的社群短片。
POST /videos/{video_id}/exports videos:export 渲染 MP4:resolution 1080p(預設)、2k 或 4k;固定為 60 fps。免費。

工作與點數

方法與路徑 權限 功能
POST /quotes 該工作的權限 任何工作類型的報價。
POST /jobs 該工作的權限(付費時需 + credits:spend) 啟動已報價的工作。
GET /jobs jobs:read 列出工作。
GET /jobs/{job} jobs:read 單一工作的狀態與結果。
GET /jobs/{job}/wait jobs:read 等待變更,而非輪詢。
GET /jobs/{job}/events jobs:read 工作的進度事件。
POST /jobs/{job}/cancel jobs:read 取消工作。若太晚執行:「此工作已無法取消。」
GET /credits credits:spend 或 jobs:read 工作區的點數餘額。

文件網站

方法與路徑 權限 功能
GET /docs/sites, GET /docs/sites/{site}, GET /docs/sites/{site}/tree, GET /docs/sites/{site}/pages content:read Token 範圍內的網站及其頁面。
GET /docs/sites/{site}/search, GET /docs/pages/{page}, GET /docs/pages/{page}/revisions content:read 搜尋並閱讀頁面(包含草稿)。
POST /docs/sites/{site}/articles, PATCH /docs/pages/{page}/article, POST /docs/pages/{page}/review articles:write 建立並編輯草稿文章,提交審核。發布文章也需要 site:publish。
PATCH /docs/pages/{page}, DELETE /docs/pages/{page}, POST /docs/sites/{site}/sections, PATCH /docs/sections/{section} structure:write 移動、重新命名、隱藏與移除頁面;區段。
GET/POST /docs/sites/{site}/site-pages, PUT /docs/site-pages/{page}/body content:read / site-pages:write 首頁、聯絡頁面與法律頁面。
GET/POST /docs/sites/{site}/changelog, PATCH /docs/changelog/{entry} content:read / changelog:write 更新日誌條目(草稿)。
POST /docs/media, POST /docs/media/uploads media:write 上傳圖片。
POST /docs/sites/{site}/publish, POST /docs/pages/{page}/ready, POST /docs/changelog/{entry}/publish site:publish 發布讀者可見的內容。
GET /insights/sites/{site}, …/gaps, …/feedback insights:read 搜尋缺漏、未回答的問題、頁面回饋。
PATCH /docs/sites/{site}/settings, …/appearance, PUT …/navigation, POST …/redirects site:configure 網站設定。
POST /docs/sites sites:create 建立文件網站。

關於代理人與文件網站的更多資訊:將 AI 代理人連接到您的文件網站。

需要消耗點數的工作一律採取「先報價,後啟動」流程:

  1. 報價。 POST /videos/quotes(或 /clips/quotes)並說明您的需求。回應會包含 quote_id 與點數範圍。報價有效期為 15 分鐘,且僅能使用一次。
  2. 選擇性執行乾跑 (Dry-run)。 傳送啟動請求並附帶 "dry_run": true,以了解該工作是否會啟動、需要核准或被封鎖。此過程不會寫入任何資料。
  3. 啟動。 POST /videos 並附帶 quote_id 與 Idempotency-Key 標頭。回應為 202 並包含工作 ID。
  4. 追蹤。 GET /jobs/{job}/wait 直到工作的 status 變更,或監聽 Webhook。
Quote, then start a how-to video
curl -X POST https://app.clevera.ai/api/v1/videos/quotes \
  -H "Authorization: Bearer $CLEVERA_TOKEN" -H "Content-Type: application/json" \
  -d '{"type": "how_to", "recording_id": "<recording id>", "language": "en-US"}'

curl -X POST https://app.clevera.ai/api/v1/videos \
  -H "Authorization: Bearer $CLEVERA_TOKEN" -H "Content-Type: application/json" \
  -H "Idempotency-Key: 3f6c1a2e-8d4b-4f7a-9c1e-2b5d7e9f0a13" \
  -d '{"quote_id": "<quote id>"}'

工作狀態:

狀態 含義
queued 已接受,即將執行。
running 執行中。
needs_input 等待人員處理,通常是在 代理人請求 中等待核准。該工作包含連結與過期時間。
succeeded 已完成。該工作會連結至新的影片或文章。
failed 失敗;該工作包含 error_code。
canceled 已取消,或核准被拒絕。
expired 24 小時內無人核准。

啟動後是立即執行還是等待人員處理,取決於 Token 的消費上限及其 自動核准下方內容 設定。請參閱 控制代理人消費與核准。

重試與冪等性

在每次建立與啟動請求時,請傳送 Idempotency-Key 標頭(每個動作使用一個新的 UUID)。如果網路中斷,您可以使用相同的金鑰與主體重試,系統會回傳第一次的結果,而不會產生第二部影片。金鑰會保留 24 小時。

代碼 含義
idempotency_key_reused 使用相同金鑰但主體不同。請為新請求使用新金鑰。
idempotency_in_progress 使用此金鑰的第一個請求仍在執行中。請稍候並重試。
idempotency_conflict 「此冪等性金鑰已用於其他請求。」

錯誤

每個錯誤的格式皆相同,並附帶說明後續處理方式的訊息:

{
  "error": {
    "code": "forbidden_ability",
    "message": "This token lacks the videos:create ability. Ask the workspace member who owns it for a token that has it.",
    "details": { "ability": "videos:create" }
  },
  "request_id": "req_example"
}

聯絡支援團隊時,請提供 request_id。

HTTP 代碼 常見原因
401 unauthenticated, token_expired, token_revoked 無 Token、Token 錯誤、已過期或已撤銷。
402 insufficient_credits 工作區點數不足以支付報價。
403 forbidden_ability, forbidden_role, forbidden_item, ip_not_allowed, live_content_needs_publish, site_paused, forbidden 缺少權限、擁有者角色、集合存取權或 IP 白名單問題。
403 plan_locked 「代理人 API 不在該工作區的方案中。此功能僅適用於 Pro 及以上方案。」
404 not_found, unknown_kind 「Token 範圍內無此 ID 的項目。請先列出或搜尋,並使用回傳的 ID。」
409 revision_conflict, quote_used, not_cancelable, idempotency_* 內容已變更、報價已使用或重試衝突。
410 quote_expired 「此報價已過期。請重新請求報價。」
413 unsupported_media 檔案過大或類型不支援。
422 validation_failed, invalid_input, quote_mismatch, limit_reached 欄位錯誤;details 會標示該欄位。
429 rate_limited, cap_exceeded, busy 請求過多、達到消費上限或同時啟動兩次。

每個訊息及其修正方式:修正代理人與 API 錯誤。

速率限制

限制 數值 訊息
每個 Token 的請求數 每分鐘 300 次 「此 Token 已超過請求速率。請稍候並重試。」
每個工作區的請求數 每分鐘 1,200 次(所有 Token 合計) 「此工作區已超過代理人請求速率。請稍候並重試。」
每個 Token 的寫入數 每分鐘 60 次 「此 Token 寫入次數過多。請稍候並重試。」
每個 Token 每日寫入數 2,000 次 「此 Token 已達每日寫入限制。請明天再試。」
每個 Token 的發布數 每小時 10 次 「此 Token 已達每小時發布限制。請稍後再試。」
付費啟動 每個 Token 每小時 20 次,每個工作區每日 100 次 rate_limited 附帶 retry_after
上傳 每分鐘 30 次;每個 Token 每日 500 MB;每個檔案 25 MB 「此 Token 上傳次數過多。請稍候並重試。」 / 「此 Token 已達每日上傳容量。請明天再試。」
無效 Token 的呼叫 每個 IP 位址每分鐘 60 次 「請求過多。請稍候並重試。」

429 回應會包含 Retry-After 標頭,主體中包含 retry_after(秒)。請等待該時間後再重試。讀取、報價與狀態檢查不消耗點數。