跳至主要內容

代理程式與腳本的自動逐字稿

自動轉錄將錄音轉為可編輯的文字。應用程式會在您的裝置上準備影片音訊;代理程式則可透過 REST 或 MCP 提交準備好的音訊。

Hushscript 的自動轉錄會將現有錄音轉為可編輯的逐字稿。在瀏覽器應用程式中,您也可以從本機影片開始:Hushscript 會在您的裝置上準備音訊,並僅傳送該音訊進行線上辨識。您需自行審閱與修正結果;這並非提供人工校對或認證的轉錄服務。

自動逐字稿的運作方式

  1. 準備錄音。 使用音訊檔案、匯入支援的音訊連結,或在瀏覽器應用程式中錄下您的聲音。對於錄影檔案,請選擇本機檔案,讓應用程式在您的裝置上準備音訊。
  2. 提交並等待逐字稿。 應用程式會處理上傳與狀態查詢。代理程式可透過 REST API 分段上傳準備好的音訊,或使用受權限範圍限制的 MCP 工具,接著查詢工作狀態,直到逐字稿完成。
  3. 審閱與匯出。 在應用程式中編輯逐字稿與說話者標籤,或透過 API 取得文字。代理程式的權杖也可在獲授的權限範圍內匯出逐字稿。

音訊與影片的自動逐字稿軟體

Hushscript 的自動轉錄軟體會將錄製的語音轉為可搜尋、編輯與匯出的文字。應用程式的錄音入口也讓您在轉錄前錄下聲音。如果您只需要獨立的錄音檔案而不需轉錄,請使用免費語音錄音機。

自動影片轉錄會在應用程式於本機擷取或轉換音訊後,進入相同的文字工作流程。下方的 REST 上傳範例從準備好的音訊開始;若要將本機影片檔案交給應用程式,請使用影片轉文字的瀏覽器工作流程。

免費自動逐字稿試用

可以。公開預覽讓您在登入前,從單一檔案、支援的音訊連結或瀏覽器錄音轉錄最長 5 分鐘;本機影片也可在瀏覽器準備好音訊後使用。完整轉錄需要帳戶:符合資格的個人帳戶在卡片驗證後可獲得 30 分鐘免費額度(運作方式請見定價),機器帳戶則不提供歡迎分鐘,而是以註冊時購買的套餐開始使用。

透過 API 或 MCP 執行逐字稿自動化

瀏覽器應用程式用於直接處理錄音。若要自動化逐字稿工作,REST API與 MCP 伺服器讓代理程式上傳準備好的音訊、查詢工作、取得逐字稿與匯出結果。代理程式可透過付款優先的流程,自行開設帳戶,無需人類帳戶持有人;託管的結帳頁面仍需瀏覽器,發卡機構也可能要求驗證步驟。個人使用者也可以在應用程式中,從現有帳戶建立具有限定權限範圍的權杖。本示範說明機器帳戶從註冊到憑證輪替的流程。

註冊

POST /v1/agent/accounts 會開啟一次無人值守的註冊。此時尚無帳戶、無 Cookie,也無權杖,只有一筆待處理的購買。

curl -X POST https://api.hushscript.com/v1/agent/accounts \
  -H "Content-Type: application/json" \
  -d '{
    "contact_email": "ops@example-agent.dev",
    "pack_id": "300min",
    "accept_terms_version": "2026-10-20",
    "agent": {
      "name": "research-crawler",
      "platform": "langgraph",
      "contact_url": "https://example-agent.dev/bots/research-crawler"
    }
  }'
{
  "signup_id": "hsr1:eu:4c3a1f9e7b2d4e6f8a0c1b2d3e4f5061",
  "claim_secret": "cs_9f3d2a1b7e6c4f5a8b9d0e1f2a3b4c5d",
  "checkout_url": "https://checkout.stripe.com/c/pay/cs_test_a1B2c3D4e5F6",
  "pack": "300min",
  "amount": 599,
  "currency": "usd",
  "expires_at": 1789112400
}

contact_email 僅用於收據與通知,絕不作為登入方式。pack_id 必須是 45min、300min、900min、1800min、6000min 其中之一;切勿自行傳送 amount 或 currency,兩者都由伺服器依套餐自動推算。註冊時只能購買兩個最小的套餐,45min 與 300min。指定較大的 pack_id 會遭拒絕,拒絕回應會附上 details.allowed_packs,列出此帳戶目前可以購買的項目,讓呼叫端無須猜測即可重試。其餘等級則依已結算款項經過的時間解鎖,而非隨消費量解鎖,詳見下方的 新帳戶可購買的內容。 accept_terms_version 必須與伺服器目前的政策版本完全一致,否則呼叫會以 policy_version_stale 失敗,並在回應內容中指出目前的版本值。選填的 data_region 提示,只有在與您網路位置已隱含的區域一致時才會被採用。選填的 dry_run: true 會驗證所有內容,但不會建立 Stripe 工作階段,也不會產生任何收費;其 signup_id 會以 dry_ 開頭,且永遠無法被認領。

claim_secret 只會在此回應中顯示一次,Hushscript 僅儲存其雜湊值。若在呼叫認領之前遺失它,就等於失去這次註冊:認領密鑰沒有復原途徑。已付款但尚未認領的註冊會進入下方說明的退款流程,無法透過查詢復原。

在您自己的瀏覽器中完成結帳

checkout_url 是託管的 Stripe Checkout 頁面。註冊的這一步需要瀏覽器,但不必是人類使用的瀏覽器:代理程式可以用自己的自動化工具操作它(填入卡片欄位、送出、跟隨重新導向)。無論如何,Hushscript 都不會看到卡片明細,Stripe 才會。完成此步驟並接著認領的時限是 30 分鐘,也就是上方的 expires_at。

每小時執行一次的掃描,會在 30 分鐘認領期限結束且再經過 1 小時寬限期後,檢查已付款但尚未認領的註冊。掃描會嘗試全額退款,因為分鐘數只會在認領時才會計入餘額。退款失敗時會重試,且可能需要人工處理;退款不保證在特定時間到帳。

認領帳戶

POST /v1/agent/accounts/{signup_id}/claim 會在一次呼叫中,將已付款但尚未認領的註冊轉為真正的帳戶。

curl -X POST https://api.hushscript.com/v1/agent/accounts/hsr1:eu:4c3a1f9e7b2d4e6f8a0c1b2d3e4f5061/claim \
  -H "Content-Type: application/json" \
  -d '{"claim_secret": "cs_9f3d2a1b7e6c4f5a8b9d0e1f2a3b4c5d"}'
{
  "user_id": "usr_7d1a2b3c4d5e6f708192a3b4c5d6e7f8",
  "pat": "hsr1:eu:pat.k3n2j1.8f7e6d5c4b3a29180716253443526170",
  "scopes": [
    "transcripts:read",
    "transcripts:write",
    "transcribe",
    "account:read",
    "export",
    "billing",
    "pat:rotate"
  ],
  "balance_seconds": 18000
}

認領動作會建立恰好 1 個帳戶,背後對應一個合成且無法解析的登入身分,無論請求被重試多少次,都只會授予 1 次已付款的套餐。它會產生 1 個 PAT:也就是上方的 pat 值。

若回應遺失,請使用相同的 claim_secret 再次呼叫。在認領後 1 小時內,且所發出的權杖從未被使用過時,重試會針對同一個帳戶回傳 201,回應格式相同,並附上全新的 pat。遺失的權杖會失效。權杖首次使用之後,或超過該 1 小時之後,重試會回應 agent_claim_invalid。若重試與仍在執行中的認領重疊,可能會收到 429 rate_limited 並附帶 Retry-After 標頭;請在該延遲之後再重試。

首個權杖可轉錄、讀取與編輯逐字稿、匯出、讀取帳戶餘額、購買分鐘數及輪替自身。它不會授予 Insights、內容背景、組織或設定寫入的權限範圍。MCP 伺服器只會提供權杖權限範圍涵蓋的工具。

無論是密鑰錯誤、signup_id 不存在、註冊已退款、已過期,或是重複認領時權杖已被使用或已超過 1 小時,都會回傳同一個 agent_claim_invalid 錯誤。呼叫端無法從回應內容分辨究竟是哪一種情況,這是刻意的設計。只有在密鑰本身驗證通過之後,付款狀態才會被納入考量:尚未結算的 Checkout Session 會改為回傳 wrong_state。

上方的 balance_seconds 就是全部的起始餘額。代理程式帳戶不會像一般人的首個帳戶那樣獲得歡迎獎勵,也不會因卡片驗證而取得免費分鐘數;帳戶一開始只有已付款的那個套餐,別無其他。這是刻意的設計,而不是缺漏:這個帳戶在存在之前就已經付過款了。

購買更多分鐘數

從這裡開始,帳戶會使用 /v1/ 介面,/developers 有完整記載。

curl -X POST https://api.hushscript.com/v1/billing/purchase \
  -H "Authorization: Bearer hsr1:eu:pat.k3n2j1.8f7e6d5c4b3a29180716253443526170" \
  -H "Content-Type: application/json" \
  -d '{
    "pack": "300min",
    "quick_payment_method_id": "pm_1PqR2sT3uV4wX5yZ",
    "idempotency_key": "purchase-2026-09-11-01"
  }'
{
  "balance_seconds": 36000
}

這需要 billing 權限範圍,上方的認領回應已經授予了這項權限。認領也會啟用權杖與帳戶的帳務操作權限;個人使用者建立的權杖則需要 billing 權限範圍,且兩個帳務操作開關都必須啟用。呼叫 Stripe 的各條帳務路由共用每個帳戶每分鐘 60 次 PAT 帳務請求的較嚴格限制,並在送出 Stripe 請求之前檢查。

新帳戶可購買的內容

套餐大小的解鎖依據是已結算款項的存續時間,而不是帳戶花費的金額。一筆購買要等到超過其付款日期 7 天 之後,才會計入下一個等級,因此全新的帳戶無法靠快速購買就達到較大的套餐。

超過 7 天的已結算款項 可購買的套餐
尚無任何款項,包括剛完成的認領 45min、300min
至少 45 分鐘的金額 新增 900min、1800min
至少 15 小時的金額 新增 6000min

遭拒絕的購買會在 details.allowed_packs 中列出目前允許的組合,而不是毫無說明地失敗。註冊呼叫套用的是這張表的第一列,這也是為什麼上方的示範購買的是 300min 而不是更大的套餐。除了等級制度,滾動 24 小時的消耗上限也會限制尚未超過爭議期限的餘額能被花費的速度。註冊購買會計入帳戶每個滾動 24 小時內最多 3 次購買嘗試的上限;預留購買名額後遭拒的嘗試也會計入。

逐字稿

上傳與轉錄的流程,與其他帳戶所使用的分段(multipart)流程相同。此 API 範例提交的是準備好的音訊,並不會上傳本機影片的來源檔案。

curl -X POST https://api.hushscript.com/v1/uploads \
  -H "Authorization: Bearer hsr1:eu:pat.k3n2j1.8f7e6d5c4b3a29180716253443526170" \
  -H "Content-Type: application/json" \
  -d '{
    "size_bytes": 48213504,
    "duration_seconds": 1860,
    "title": "weekly-standup-2026-09-11",
    "idempotency_key": "upload-2026-09-11-01"
  }'
{
  "job_id": "job_3a2b1c0d9e8f7a6b5c4d3e2f1a0b9c8d",
  "part_urls": [
    { "n": 1, "url": "https://r2.hushscript.com/uploads/job_3a2b1c0d.../part-1?X-Amz-Signature=..." }
  ]
}

以 PUT 將每個分段上傳至各自的預先簽署網址,再以 POST 呼叫同一工作的 /complete,並附上以此方式送出的每個分段的 n 與 etag。接著輪詢該工作:

curl https://api.hushscript.com/v1/jobs/job_3a2b1c0d9e8f7a6b5c4d3e2f1a0b9c8d \
  -H "Authorization: Bearer hsr1:eu:pat.k3n2j1.8f7e6d5c4b3a29180716253443526170"
{
  "id": "job_3a2b1c0d9e8f7a6b5c4d3e2f1a0b9c8d",
  "state": "done",
  "transcript_id": "trs_6f5e4d3c2b1a0908f7e6d5c4b3a29180"
}
curl https://api.hushscript.com/v1/transcripts/trs_6f5e4d3c2b1a0908f7e6d5c4b3a29180 \
  -H "Authorization: Bearer hsr1:eu:pat.k3n2j1.8f7e6d5c4b3a29180716253443526170"
{
  "id": "trs_6f5e4d3c2b1a0908f7e6d5c4b3a29180",
  "language": "en",
  "duration_seconds": 1860,
  "body": "..."
}

輪替權杖

機器帳戶沒有密碼,也沒有可用的信箱,因此當 PAT 外洩或只是單純需要更換時,並不存在「忘記密碼」這條路徑。輪替就是這條路徑。

curl -X POST https://api.hushscript.com/v1/agent/credentials/rotate \
  -H "Authorization: Bearer hsr1:eu:pat.k3n2j1.8f7e6d5c4b3a29180716253443526170"
{
  "pat": "hsr1:eu:pat.p9q8r7.1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d",
  "pat_id": "p9q8r7",
  "scopes": [
    "transcripts:read",
    "transcripts:write",
    "transcribe",
    "account:read",
    "export",
    "billing",
    "pat:rotate"
  ],
  "expires_at": null
}

此呼叫不需要任何請求主體。它會為用來驗證此次請求的權杖產生一個後繼權杖。後繼權杖會保留前一個權杖的權限範圍、帳務操作權限、名稱、用戶端標籤與到期政策。此路由只會影響呼叫端自己的權杖:無法列出、產生或撤銷帳戶上的任何其他權杖。這是機器帳戶唯一的憑證復原途徑,因此請在捨棄舊權杖之前先完成輪替,而不是之後。

舊權杖不會立即被撤銷。輪替之後,它只能用於一件事:再次呼叫輪替。這會持續到新權杖第一次成功送出請求,或經過 1 小時為止,以先到者為準。在其他所有路由上,舊權杖會立即回應 401。

若載有新權杖的回應遺失,請在新權杖尚未使用時,以舊權杖再次呼叫輪替。您會取得同一個 pat_id 的全新密鑰,先前的新密鑰會失效。

請保留舊權杖,直到新權杖成功運作過一次。接著立即以新權杖發出一次呼叫,例如 GET /v1/account。該次首度成功的請求會讓舊權杖永久退役。

錯誤

狀態碼 代碼 代稱 意義
401 2000 unauthorized 缺少或無效的持有者權杖
403 2023 pat_scope_missing 權杖缺少此呼叫所需的權限範圍,或帳戶已關閉帳務操作
403 4021 pat_purchase_requires_app 未指定已儲存的卡片,或扣款遭拒;未產生任何收費
403 4023 pat_purchase_requires_authentication 發卡機構要求呼叫端無法完成的驗證挑戰;卡片本身沒有問題
402 3001 insufficient_balance 餘額不足以受理此工作
429 5000 rate_limited 請求過多;請依 Retry-After 等待

這些錯誤涵蓋代理程式註冊與購買控制。購買上限也適用於人類帳戶的 PAT 購買;透過人類使用者工作階段進行的購買則不受此上限限制。

狀態碼 代碼 代稱 意義
409 4035 agent_signup_pending 這個 contact_email 已有一筆尚未結束的註冊。請等待它被認領、退款或過期,或改用其他電子郵件地址
401 4036 agent_claim_invalid 密鑰錯誤、註冊不存在、已退款、已過期,或已被認領但權杖已被使用或已超過 1 小時。刻意設計為完全相同
403 4037 agent_pack_locked 此帳戶目前的等級尚不允許購買該套餐。回應會附上 details.allowed_packs;請改用其中一個套餐重試
429 4038 agent_purchase_capped 過去 24 小時內已有 3 次購買嘗試,包含預留購買名額後的失敗嘗試與代理程式帳戶的註冊購買。此計數以帳戶為單位,跨憑證合計,因此輪替不會重設計數。回應會附上 details.retry_after_seconds

一旦密鑰本身驗證通過,尚未付款的 Checkout Session 會回傳 wrong_state(4001),而不是 agent_claim_invalid。完整目錄請見 OpenAPI 文件。

限制

呼叫次數限制為每分鐘 1,200 次。對代理程式帳戶而言,這個額度屬於整個帳戶,而不是個別的權杖:輪替譜系中的每一個權杖都共用同一份額度,因此輪替 PAT 並不會為後繼權杖帶來全新的額度。會呼叫 Stripe 的 PAT 帳務請求共用每個帳戶每分鐘 60 次的較嚴格限制。這包含卡片設定與購買、預設卡片變更與移除,以及卡片清單快取未命中的情況;檢查會在呼叫 Stripe 之前執行。上方提到的 24 小時購買上限,同樣是以帳戶為單位計算,而不是以權杖為單位。

深入了解

本頁涵蓋的是帳戶的生命週期:開設帳戶、為帳戶儲值,以及維持其權杖的有效性。至於這個帳戶接下來能做的所有事情,請見 REST API(包含完整的 OpenAPI 文件),或改用 MCP 伺服器,以工具而非原始 HTTP 的方式操作同一個帳戶。

在應用程式中轉成逐字稿,或為代理程式開設專屬帳戶

符合資格的個人帳戶可在信用卡驗證成功後獲得一次 30 分鐘免費額度;若尚未領取,也可隨首次購買取得。代理程式帳戶則以註冊時購買的分鐘套餐開始使用。

開始––30 分鐘免費