← กลับหน้า Mainvoice8 · V3

PUBLIC API · VERSION 1

สถานะเครื่องและคิว
เรียกดูได้โดยไม่ต้องเข้าสู่ระบบ

API นี้ให้ข้อมูลรวมสำหรับเลือกเซิร์ฟเวอร์ ได้แก่ ความพร้อม คิวงาน คลิปสำเร็จวันนี้ และเวลาเฉลี่ยที่มีตัวอย่างรองรับ เป็นการอ่านข้อมูลเท่านั้น ไม่มีการส่งงานสร้างเสียง

ลองเรียกข้อมูลจริง

เลือก endpoint แล้วกดปุ่ม คำตอบด้านล่างมาจากคำขอนั้นโดยตรง หน้านี้ไม่ส่งคุกกี้หรือข้อมูลเข้าสู่ระบบ

ยังไม่ได้เรียก API

รหัสคำขอจะแสดงเมื่อได้รับคำตอบ

กด “ลองเรียก API” เพื่อดูข้อมูลปัจจุบัน

Endpoints

เส้นทางคำตอบ
GET /api/public/v1/servers?include=voice2,voice1ข้อมูลทั้งห้าเครื่อง: voice8, voice3, voice5, voice2 และ voice1 โดยเครื่องนี้เป็นรายการแรก
GET /api/public/v1/servers?include=voice2ข้อมูล voice8, voice3, voice5 และ voice2 ใน servers[] พร้อม schema_version, request_id, observed_at และ refresh_after_seconds
GET /api/public/v1/serversVoice8 คงรายการเดิมสามเครื่องเพื่อรองรับหน้าที่เปิดค้างอยู่; Voice2 คืนทั้งสี่เครื่องโดยมีเครื่องตัวเองเป็นรายการแรก
GET /api/public/v1/statusสถานะของเครื่องที่รับคำขอโดยตรง พร้อม schema_version, request_id และ observed_at

ใช้ origin ของหน้านี้เป็นฐาน รองรับ GET, HEAD และ OPTIONS โดยไม่ต้องส่ง token ส่วน HEAD ไม่มี response body

fetch('/api/public/v1/servers?include=voice2,voice1', {
  credentials: 'omit',
  headers: { Accept: 'application/json' }
}).then(async response => ({
  requestId: response.headers.get('X-Request-ID'),
  data: await response.json()
}));

X-Request-ID ใน response header ตรงกับ request_id ชั้นนอกของ JSON และเปลี่ยนทุกคำขอ แม้ข้อมูลต้นทางยังอยู่ในรอบแคช วัตถุแต่ละเครื่องใน servers[] ไม่มีรหัสคำขอซ้อน

อนุญาตการอ่านข้าม origin ด้วย Access-Control-Allow-Origin: * และเปิดให้อ่าน header X-Request-ID โดยไม่ใช้ credentials

ฟิลด์ของแต่ละเครื่อง

ฟิลด์ความหมาย
serverid, label, url ระบุเครื่องในรายการที่กำหนดไว้: voice8, voice3, voice5, voice2 และ voice1
availabilitystate เป็น ready, degraded, unavailable หรือ unknown; reachable หมายถึงเข้าถึงแหล่งข้อมูลได้ ส่วน engine_ready ต้องมีข้อมูลความพร้อมของเครื่องสร้างเสียงรองรับ ทั้งสองค่านี้อาจเป็น null การเข้าถึง endpoint ได้อย่างเดียวไม่ได้ยืนยันว่าเครื่องพร้อม
freshnesssource เป็น local ของเครื่องนี้, legacy_public สำหรับ voice3 หรือ versioned_public ของเครื่องอื่นที่รองรับ API นี้; age_seconds คืออายุข้อมูล, stale ระบุข้อมูลเก่า และ cache_seconds คือรอบแคชต้นทาง
queue.workflowจำนวนงานหรือชุดที่ queued / running พร้อม capacity แยก total, voiceonly, heavy และ policy หากเครื่องยังไม่ส่งข้อมูลชนิดนี้จะเป็น null
queue.computeจำนวนขั้นตอนประมวลผลที่ queued / running พร้อมรายละเอียด inference และ nvenc ซึ่งมี queued, running, capacity เป็นคนละหน่วยกับจำนวนงาน จึงใช้แทน queue.workflow ไม่ได้
todaydate ตาม timezone: Asia/Bangkok และ scope: all_modes; clips_completed นับคลิปผลงาน, media_seconds รวมความยาวสื่อ และ workflows นับ submitted, completed, failed, cancelled ของงานหรือชุด
today.averagesqueue_seconds, processing_seconds, total_seconds มีจำนวนตัวอย่างคู่กันคือ queue_samples, processing_samples, total_samples ส่วน process_seconds_per_media_minute ใช้ normalization_samples
coverageledger_updated_at, historical_timing_samples, issues[] และ notes[] ใช้ตรวจขอบเขตและข้อจำกัดของข้อมูล

ใช้ตัวเลขอย่างไรให้ตรงความหมาย

ความถี่และข้อมูลส่วนตัว

แนะนำเรียกตาม refresh_after_seconds ซึ่งปกติคือ 15 วินาที และหยุดรีเฟรชเมื่อหน้าไม่ได้แสดงอยู่ ข้อมูล local มีแคช 10 วินาที และเครื่องปลายทางมีแคช 15 วินาที คำตอบ HTTP ใช้ Cache-Control: no-store จึงควรตรวจ freshness ใน JSON ด้วย

API เปิดเผยเฉพาะข้อมูลรวม ไม่มีเจ้าของงาน IP หมายเลข process เส้นทางไฟล์ รหัสงาน URL สื่อส่วนตัว สคริปต์เสียง token หรือคุกกี้ ไม่รับ URL ปลายทางจากผู้เรียก และไม่สร้างงานประมวลผล

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

← เลือกเซิร์ฟเวอร์