# 查询语音妙记任务状态

轮询妙记任务。建议间隔 ≥30 秒。不要高频 GET：`xrtoken-minutes` 的总结由服务端 poller 完成，过密轮询不会更快出结果。

- **processing**：计算中，继续轮询。
- **succeeded**：`xrtoken-minutes` 含 `report` / `transcription` / `summary` / `chapters` / `extraction`。`report.quality.status` 为 complete 或 partial（需核对）。旧任务没有 report 时按旧字段读取；`doubao-minutes` 另可能有 `extraction` / `translation`。
- **failed**：`error` 含原因。若转写成功但摘要失败，仍返回 `report` / `transcription` / `usage`，且 `transcription_status=succeeded`、`summary_status=failed`、`report.quality.status=unavailable`；只按已完成识别和已观测总结用量结算，释放剩余预冻。识别失败则释放预冻。

`xrtoken-minutes` 摘要模型独立最多等待 30 分钟，超时在 `report.quality.issues` 中标记 `summary_timeout`。查询及列表也会将历史 unavailable 摘要结果呈现为 failed，保留原文、账务及原时间，不自动重跑。可主动用 `POST /v1/summaries` 和该 `task_id` 单独重新生成摘要。

## GET /v1/audio/minutes/{taskId}

> Query meeting-minutes task status

Poll a minutes task. Recommended interval ≥ 30 seconds. Do not poll faster than that: `xrtoken-minutes` summary is finished by the server poller, not by GET.

- **processing**: still running
- **succeeded**: `xrtoken-minutes` includes `report` / `transcription` / `summary` / `chapters` / `extraction`. Report quality is complete or partial (needs review). Historical tasks may omit report; use legacy fields. `doubao-minutes` may also include `extraction` / `translation`.
- **failed**: inspect `error`. When only the summary failed, `report` / `transcription` / `usage` remain available, with `transcription_status=succeeded`, `summary_status=failed`, and `report.quality.status=unavailable`. Completed ASR and observed summary usage are settled; the remaining reservation is released. ASR failure releases the reservation.

`xrtoken-minutes` summary generation has an independent 30-minute limit; timeout adds `summary_timeout` to `report.quality.issues`. GET and list also present historical unavailable-summary results as failed without rewriting source data, billing, or timestamps. No automatic retry occurs. Submit this `task_id` to `POST /v1/summaries` to explicitly generate a new summary.

### Authentication

`Authorization: Bearer tr-xxx`

### Path Parameters

- **taskId** `string` **(required)**  
  Task ID returned by `POST /v1/audio/minutes`

### Response

- **id** `string` **(required)**  
  
- **model** `string` **(required)**  
  
- **status** ``processing` | `succeeded` | `failed` | `cancelled`` **(required)**  
  
- **transcription_status** ``succeeded``  
  Present when a structured report retains completed transcription, including summary failure.
- **summary_status** ``succeeded` | `failed``  
  Independent summary outcome. Failed summaries retain source transcription and observed usage.
- **report** `object`  
  Structured report for new xrtoken-minutes results. Check quality.status before displaying. Source text and speaker IDs are authoritative; generated content still requires semantic review.
- **report.version** ``2`` **(required)**  
  
- **report.metadata** `object` **(required)**  
  
- **report.overview** `object` **(required)**  
  Content with source references. sourced means references passed structural validation, not independent factual verification. Resolve speaker runs using report.speakers at display time.
- **report.keyPoints** `object[]` **(required)**  
  
- **report.sections** `object[]` **(required)**  
  
- **report.chapters** `object[]` **(required)**  
  
- **report.todos** `object[]` **(required)**  
  
- **report.decisions** `object[]` **(required)**  
  
- **report.quotes** `object[]` **(required)**  
  
- **report.reviewItems** `object[]` **(required)**  
  
- **report.visuals** `object[]` **(required)**  
  
- **report.speakers** `object[]` **(required)**  
  
- **report.segments** `object[]` **(required)**  
  
- **report.quality** `object` **(required)**  
  complete: required content parsed and validation passed; partial: content needs review or validation removed invalid items; unavailable: summary generation/format failed, transcript remains available. Minutes tasks with unavailable summary quality are presented as failed while retaining completed transcription.
- **transcription** `object`  
  Sentence-level transcript. Each item has content, millisecond start_time/end_time, and speaker.id/speaker.name
- **summary** `object`  
  Legacy summary. xrtoken-minutes returns {title, paragraph, quality} rendered from report. Native clients should use report
- **chapters** `object`  
  Chapter tree. For xrtoken-minutes this is {chapter_summary: [...]} with optional children_paras
- **extraction** `object`  
  xrtoken-minutes: {todos, decisions, quotes}; doubao-minutes: requested extraction features
- **translation** `object`  
  Translated transcript (doubao-minutes only)
- **usage** `object`  
  
- **usage.duration_ms** `integer`  
  
- **usage.features** `string[]`  
  
- **usage.all_activate** `boolean`  
  
- **usage.engine** `string`  
  auc_flash for xrtoken-minutes
- **usage.rate_per_hour** `integer`  
  ASR unit rate per hour. See the model marketplace for prices.
- **usage.amount** `integer`  
  Total settled amount (minor units)
- **usage.asr_amount** `integer`  
  ASR charge (`xrtoken-minutes` only)
- **usage.flash_amount** `integer`  
  Flash summary charge (`xrtoken-minutes` only)
- **usage.flash_input_tokens** `integer`  
  
- **usage.flash_output_tokens** `integer`  
  
- **error** `string`  
  
- **created_at** `string` **(required)**  
  
- **updated_at** `string` **(required)**  
  

### Error Codes

- `401`: 
- `404`: Task not found or does not belong to the current user
