You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 64d255d
Browse filesBrowse the repository at this point in the historyBrowse files
Batch audio fallback: mode param, processing entries, drop cached
The batch endpoint now transcribes captionless entries from audio by
default. Type that end to end:
- transcripts.batch() (sync + async) gains mode="auto" | "captions";
omitted means the server default (auto). "audio" is not accepted on
batch.
- BatchResult gains job_id and status for entries that came back as
outcome "processing" (free on that call, billed on delivery at the
audio rate; re-send the batch or poll transcripts.job()).
- BatchResult.cached deprecated: the API omits the key entirely now, so
a defaulted bool silently misreported. Optional[bool] = None keeps
1.x import/attribute compatibility without inventing False.
- Segment gains optional speaker (int), the best-effort diarization
label podcast transcriptions carry.
- Map wire code "upstream_error" (503 upstream platform block) to
UpstreamUnavailableError by code as well as status; retries already
covered 503 and are unchanged. Per-key limits remain 429.
Version 1.0.2.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Podcast transcriptions include best-effort speaker diarization: each segment may carry a `speaker` integer (0, 1, …) identifying who is talking. The ids are hints from voice separation, not named identification, and non-podcast sources never carry them.
68
+
69
+
Batch works the same way by default (`mode="auto"`): entries with no caption track are transcribed from audio, come back with `outcome == "processing"` and a `job_id`, cost nothing on that call, and are charged on delivery at the audio rate. Re-send the same batch once the jobs have had time to finish and the text comes back normally — or poll each `job_id` with `tf.transcripts.job()`. Pass `mode="captions"` to read existing caption tracks only, in which case a captionless video fails as `no_transcript` (the old behaviour):
70
+
71
+
```python
72
+
res = tf.transcripts.batch(ids) # captionless entries -> "processing" + job_id
73
+
pending = [r.job_id for r in res.results if r.outcome =="processing"]
74
+
75
+
res = tf.transcripts.batch(ids, mode="captions") # captions only, no audio fallback
76
+
```
77
+
67
78
## Pagination
68
79
69
80
List endpoints are cursor-paginated. Iterate every result without managing cursors:
0 commit comments