ข้ามไปยังเนื้อหาหลัก

การใช้งานอัตโนมัติ

เอเจนต์สามารถเปิดบัญชี Hushscript ชำระเงินให้บัญชีนั้น ถอดเสียงบันทึก และกู้คืนข้อมูลรับรองของตัวเองได้ตั้งแต่ต้นจนจบ โดยไม่ต้องมีบุคคลเข้าสู่ระบบเลย

การเปิดบัญชี Hushscript เคยต้องมีบุคคลเข้ามาเกี่ยวข้องอย่างน้อยหนึ่งครั้ง แต่ นั่นไม่ใช่เรื่องทั้งหมดอีกต่อไป ขั้นตอนที่ให้ชำระเงินก่อนทำให้เอเจนต์เปิด บัญชีของตัวเอง เติมเงิน และใช้งานบัญชีนั้นได้ โดยไม่มีเจ้าของบัญชีที่เป็น มนุษย์อยู่ในกระบวนการเลย /developers และ /mcp เป็นเอกสารของสองอินเทอร์เฟซ ที่บัญชีนี้ใช้งานต่อจากนั้น ส่วนหน้านี้คือขั้นตอนทั้งหมดสำหรับการเปิดบัญชี หนึ่งบัญชี

สมัคร

POST /v1/agent/accounts เปิดการสมัครแบบไม่มีหน้าจอ ยังไม่มีบัญชี ไม่มีคุกกี้ และไม่มีโทเคน มีเพียงการซื้อที่รอดำเนินการเท่านั้น

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-08-01",
    "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 นาทีนั้น ปิดลง การคืนเงินเป็นแบบเต็มจำนวน เพราะนาทีจะถูกเติมเข้ายอดคงเหลือก็ต่อเมื่อ เคลมแล้วเท่านั้น การสมัครที่ไม่ถูกเคลมจึงไม่เคยมีนาทีให้ใช้เลยตั้งแต่แรก

เคลมบัญชี

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
}

การเคลมใช้ได้เพียงครั้งเดียว มันสร้างบัญชีขึ้นมาหนึ่งบัญชีเท่านั้น พร้อมตัว ตนสำหรับเข้าสู่ระบบแบบสังเคราะห์ที่ไม่สามารถสืบย้อนกลับได้ ให้สิทธิ์แพ็กเกจ ที่ชำระเงินแล้วเพียงครั้งเดียวแม้คำขอจะถูกลองซ้ำ และออก PAT เพียงตัวเดียว เท่านั้น คือค่า pat ด้านบน ซึ่งจะแสดงเพียงครั้งเดียวเช่นกัน

รหัสลับที่ผิด signup_id ที่ไม่รู้จัก การสมัครที่ถูกเคลมไปแล้ว การสมัครที่ ถูกคืนเงิน และการสมัครที่หมดอายุ ล้วนได้รับข้อผิดพลาด 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 ซึ่งคำตอบการเคลมด้านบนให้ไว้แล้ว และใช้ขีด จำกัดที่เข้มกว่าคือ 60 คำขอต่อนาทีต่อบัญชีร่วมกับเส้นทางการบันทึกบัตร ก่อนที่ จะเรียก Stripe ไม่ว่าจะเป็นเส้นทางใดก็ตาม

บัญชีใหม่ซื้ออะไรได้บ้าง

ขนาดแพ็กเกจจะปลดล็อกตามอายุของการชำระเงินที่เสร็จสมบูรณ์แล้ว ไม่ใช่ตามยอด ที่บัญชีใช้จ่ายไป การซื้อจะนับเข้าขั้นถัดไปก็ต่อเมื่อผ่านไปแล้ว 7 วัน นับจากวันที่ชำระเงินของมันเองเท่านั้น บัญชีที่เพิ่งเปิดใหม่จึงไม่สามารถซื้อ รัวๆ เพื่อไปถึงแพ็กเกจใหญ่ได้

การชำระเงินที่ผ่านไปแล้ว 7 วัน แพ็กเกจที่ซื้อได้
ยังไม่มีเลย รวมถึงบัญชีที่เพิ่งเคลม 45min, 300min
อย่างน้อยมูลค่า 45 นาที เพิ่ม 900min, 1800min
อย่างน้อยมูลค่า 15 ชั่วโมง เพิ่ม 6000min

การซื้อที่ถูกปฏิเสธจะระบุชุดปัจจุบันไว้ใน details.allowed_packs แทนที่จะ ล้มเหลวแบบไม่มีคำอธิบาย คำขอสมัครจะใช้แถวแรกของตารางนี้เสมอ ซึ่งเป็นเหตุผล ที่ขั้นตอนตัวอย่างด้านบนซื้อ 300min ไม่ใช่แพ็กเกจที่ใหญ่กว่า แยกต่างหาก จากบันไดนี้ เพดานการใช้แบบหมุนเวียน 24 ชั่วโมงจะจำกัดความเร็วในการใช้ยอด คงเหลือที่ยังไม่ผ่านหน้าต่างข้อพิพาทได้

ถอดเสียง

การอัปโหลดและถอดเสียงเป็นขั้นตอนแบบหลายส่วน (multipart) เดียวกับบัญชีอื่น ทุกประการ

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 แต่ละส่วนไปยัง URL ที่มีลายเซ็นล่วงหน้าของมัน จากนั้น POST ไปยัง /complete ของงานเดียวกันพร้อม n และ etag ของทุกส่วนที่ส่งไปแบบนั้น จากนั้น poll งานนั้น:

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
}

คำขอนี้ไม่ต้องมีเนื้อหา มันจะออกโทเคนตัวต่อไปและเพิกถอนโทเคนที่ใช้ยืนยัน ตัวตนของคำขอนี้แบบอะตอมมิก ดังนั้น PAT เก่าจะใช้งานไม่ได้ตั้งแต่คำขอถัดไป ที่ใช้มัน โทเคนตัวต่อไปจะคงขอบเขต สิทธิ์การเรียกเก็บเงิน ชื่อ ป้ายไคลเอนต์ และนโยบายวันหมดอายุของตัวก่อนหน้าไว้ทั้งหมด เส้นทางนี้แตะต้องแค่โทเคนของ ผู้เรียกเองเท่านั้น: มันไม่สามารถแสดงรายการ ออก หรือเพิกถอนข้อมูลรับรองอื่น ใดในบัญชีได้ นี่คือเส้นทางกู้คืนข้อมูลรับรองเพียงเส้นทางเดียวที่บัญชีของ เครื่องจักรมี ดังนั้นให้หมุนเวียนก่อนที่โทเคนเก่าจะถูกทิ้ง ไม่ใช่หลังจากนั้น

ข้อผิดพลาด

สถานะ รหัส Slug ความหมาย
401 2000 unauthorized ไม่มีโทเคนแบบ bearer หรือโทเคนไม่ถูกต้อง
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

ข้อผิดพลาดทั้งสี่รายการนี้เฉพาะเจาะจงกับบัญชีของเอเจนต์ และบัญชีของบุคคล ทั่วไปจะไม่มีวันได้รับมัน:

สถานะ รหัส Slug ความหมาย
409 4035 agent_signup_pending การสมัครสำหรับ contact_email นี้ยังเปิดอยู่ รอให้ถูกเคลม คืนเงิน หรือหมดอายุ หรือใช้ที่อยู่อีเมลอื่น
401 4036 agent_claim_invalid รหัสลับผิด การสมัครที่ไม่รู้จัก ถูกเคลมไปแล้ว ถูกคืนเงินแล้ว หรือหมดอายุแล้ว ตั้งใจให้เหมือนกันทั้งหมด
403 4037 agent_pack_locked ขั้นของบัญชีนี้ยังไม่อนุญาตแพ็กเกจนั้น มีข้อมูล details.allowed_packs แนบมาด้วย ลองใหม่ด้วยรายการในนั้น
429 4038 agent_purchase_capped ซื้อไป 3 ครั้ง ไม่ว่าสำเร็จหรือถูกปฏิเสธ ภายใน 24 ชั่วโมงที่ผ่านมา นับต่อบัญชีในทุกข้อมูลรับรองที่บัญชีนั้นเคยถืออยู่ ดังนั้นการหมุนเวียนจะไม่รีเซ็ตตัวนับ มีข้อมูล details.retry_after_seconds แนบมาด้วย

เมื่อรหัสลับสำหรับเคลมถูกต้องแล้ว Checkout Session ที่ยังไม่ชำระเงินจะได้ รับ wrong_state (4001) แทนที่จะเป็น agent_claim_invalid แคตตาล็อกฉบับ เต็มอยู่ในเอกสาร OpenAPI

ขีดจำกัด

คำขอถูกจำกัดไว้ที่ 1,200 ครั้งต่อนาที สำหรับบัญชีของเอเจนต์ โควตานี้เป็น ของบัญชี ไม่ใช่ของโทเคนแต่ละตัว: ข้อมูลรับรองทุกตัวในสายการหมุนเวียนใช้ โควตาเดียวกัน ดังนั้นการหมุนเวียน PAT จึงไม่ได้มอบโควตาใหม่ให้กับตัวต่อไป การเขียนข้อมูลการเรียกเก็บเงินสองอย่างคือการบันทึกบัตรและการซื้อแพ็กเกจ ใช้ขีดจำกัดที่เข้มกว่าคือ 60 ครั้งต่อนาทีต่อบัญชีร่วมกัน ก่อนที่จะเรียก Stripe ไม่ว่าจะเป็นฝั่งใดก็ตาม เพดานการซื้อ 24 ชั่วโมงด้านบนก็นับแบบเดียวกัน คือต่อบัญชี ไม่ใช่ต่อข้อมูลรับรอง

ดูเพิ่มเติม

หน้านี้ครอบคลุมวงจรชีวิตของบัญชี: การเปิดบัญชี การเติมเงิน และการรักษา ข้อมูลรับรองให้ใช้งานได้ สำหรับทุกสิ่งที่บัญชีทำได้หลังจากนั้น ดูที่ REST API รวมถึงเอกสาร OpenAPI ฉบับเต็ม หรือเซิร์ฟเวอร์ MCP สำหรับบัญชีเดียวกันผ่านเครื่องมือแทนที่ จะเป็น HTTP ดิบๆ

เริ่มถอดเสียง – 30 นาทีสำหรับทดลองใช้

การยืนยัน $1 ชั่วคราวใช้ตรวจสอบบัตรของคุณและจะคืนทันที — ไม่มีการเรียกเก็บเงินใด ๆ และนาทีฟรี 30 นาทีของคุณจะเพิ่มทันที

เริ่มต้น – 30 นาทีฟรี