ตรวจสอบสถานะงาน — GET /status

ตรวจสอบความคืบหน้าของงานถอดเสียงด้วย job_id — เมื่องานเสร็จสิ้น (state = READY) response จะมีลิงก์ดาวน์โหลดไฟล์ซับไตเติลให้ทันที

GET https://api.lomasub.ai/status?job_id=<job_id>

Headers

Header ค่า จำเป็น
Authorization Bearer <API_KEY>

Query Parameters

พารามิเตอร์ ชนิด จำเป็น คำอธิบาย
job_id string (UUID) รหัสงานที่ได้จาก POST /new-transcribe

ตัวอย่าง Request

curl "https://api.lomasub.ai/status?job_id=0b8a4f3e-6c1d-4a9b-9f2e-7d5c3b1a8e64" \
  -H "Authorization: Bearer $LOMA_API_SECRET_KEY"

Response — 200 OK

ฟิลด์ที่มีเสมอ

ฟิลด์ ชนิด คำอธิบาย
job_id string (UUID) รหัสงาน
state string สถานะปัจจุบันของงาน (ดูตารางสถานะด้านล่าง)
source_url string (URL) URL ไฟล์เสียงต้นทางของงานนี้
audio_duration_seconds float | null ความยาวไฟล์เสียง (วินาที) — เป็น null จนกว่าระบบวิเคราะห์ไฟล์เสร็จ
started_at string (timestamp) เวลาเริ่มประมวลผล (หรือเวลาเข้าคิวหากยังไม่เริ่ม)
config object ค่า config ทั้งหมดของงานนี้ (ค่าที่ส่งมารวมกับค่าเริ่มต้น)
s1_queued_tss9_ready_ts string | null เวลาเริ่มของแต่ละขั้นตอน — ขั้นตอนที่ยังไม่ถึงจะเป็น null ใช้ดูความคืบหน้าได้

สถานะของงาน (state)

งานจะไล่สถานะตามลำดับต่อไปนี้ (บางขั้นตอนมีเฉพาะเมื่อเปิดตัวเลือกที่เกี่ยวข้อง)

สถานะ คำอธิบาย
QUEUED เข้าคิว รอ worker รับงาน
SPLITTING กำลังแบ่งช่วงเสียง (VAD)
TRANSCRIBING กำลังถอดเสียงเป็นข้อความ
ALIGNING กำลังจัดตำแหน่งเวลาของแต่ละคำ
LLM_SPLITTING กำลังตัดประโยคด้วยโมเดลภาษา (เฉพาะเมื่อ forcealigner_level="llmsplitting")
FORCEDALIGN_2ND กำลังจัดตำแหน่งเวลารอบที่สอง (เฉพาะเมื่อ forcealigner_level="llmsplitting")
PREPARING_SRT กำลังเตรียมข้อมูลซับไตเติล
DIARIZING กำลังระบุผู้พูด (เฉพาะเมื่อ speaker_diarization=true)
BUILDING_SRT กำลังสร้างไฟล์ซับไตเติล
REVISING_SRT กำลังขัดเกลาข้อความ (เฉพาะเมื่อ revise_srt=true)
READY ✅ เสร็จสิ้น — ดาวน์โหลดผลลัพธ์ได้
FAILED ❌ งานล้มเหลว — ดูรายละเอียดใน failed_stage และ error

การ poll: เรียกซ้ำทุก ~1 วินาทีจนกว่า state จะเป็น READY หรือ FAILED ซึ่งเป็นสถานะสิ้นสุดทั้งคู่

ฟิลด์เพิ่มเติมเมื่อ state = READY

ฟิลด์ ชนิด คำอธิบาย
srt_url string (URL) ลิงก์ดาวน์โหลด result.srt (presigned URL มีอายุจำกัด)
vtt_url string (URL) ลิงก์ดาวน์โหลด result.vtt
compact_url string (URL) ลิงก์ดาวน์โหลด result.compact.txt (ข้อความล้วน)
srt_object_key, vtt_object_key, compact_object_key string ตำแหน่งไฟล์ในระบบจัดเก็บ เช่น jobs/<job_id>/result.srt

ลิงก์ดาวน์โหลดเป็น presigned URL ที่มีวันหมดอายุ — หากลิงก์หมดอายุ ให้เรียก GET /status อีกครั้งเพื่อรับลิงก์ใหม่

ฟิลด์เพิ่มเติมเมื่อ state = FAILED

ฟิลด์ ชนิด คำอธิบาย
failed_stage string ขั้นตอนที่งานล้มเหลว เช่น ALIGNING
error string ข้อความอธิบายสาเหตุ

ตัวอย่าง Response — งานกำลังประมวลผล

{
  "job_id": "0b8a4f3e-6c1d-4a9b-9f2e-7d5c3b1a8e64",
  "state": "TRANSCRIBING",
  "source_url": "https://lomafastsrt.sgp1.cdn.digitaloceanspaces.com/cancer.mp3",
  "audio_duration_seconds": 213.4,
  "started_at": "2026-07-10T09:15:24.102Z",
  "srt_object_key": null,
  "config": { "language": "th", "srt_target_chars": 40, "speaker_diarization": false },
  "s1_queued_ts": "2026-07-10T09:15:22.481Z",
  "s2_splitting_ts": "2026-07-10T09:15:24.102Z",
  "s3_transcribing_ts": "2026-07-10T09:15:41.877Z",
  "s4_aligning_ts": null,
  "s4a_llm_splitting_ts": null,
  "s4b_forcedalign_2nd_ts": null,
  "s5_preparing_srt_ts": null,
  "s6_diarizing_ts": null,
  "s7_building_srt_ts": null,
  "s8_revising_srt_ts": null,
  "s9_ready_ts": null
}

ตัวอย่าง Response — งานเสร็จสิ้น

{
  "job_id": "0b8a4f3e-6c1d-4a9b-9f2e-7d5c3b1a8e64",
  "state": "READY",
  "source_url": "https://lomafastsrt.sgp1.cdn.digitaloceanspaces.com/cancer.mp3",
  "audio_duration_seconds": 213.4,
  "srt_object_key": "jobs/0b8a4f3e-6c1d-4a9b-9f2e-7d5c3b1a8e64/result.srt",
  "srt_url": "https://...presigned.../result.srt?X-Amz-Expires=...",
  "vtt_object_key": "jobs/0b8a4f3e-6c1d-4a9b-9f2e-7d5c3b1a8e64/result.vtt",
  "vtt_url": "https://...presigned.../result.vtt?X-Amz-Expires=...",
  "compact_object_key": "jobs/0b8a4f3e-6c1d-4a9b-9f2e-7d5c3b1a8e64/result.compact.txt",
  "compact_url": "https://...presigned.../result.compact.txt?X-Amz-Expires=...",
  "s9_ready_ts": "2026-07-10T09:18:03.554Z"
}

ตัวอย่าง Response — งานล้มเหลว

{
  "job_id": "0b8a4f3e-6c1d-4a9b-9f2e-7d5c3b1a8e64",
  "state": "FAILED",
  "failed_stage": "ALIGNING",
  "error": "forcealigner request failed"
}

ข้อผิดพลาดที่อาจพบ

สถานะ สาเหตุ ตัวอย่างข้อความ
401 Unauthorized ไม่มีหรือ API key ไม่ถูกต้อง
404 Not Found ไม่พบ job_id ที่ระบุ "job not found"

results matching ""

    No results matching ""