get_job_status
Check the status of a transcribe or summarize job. Returns the current state and, when completed, an outputs array. Each output has either content (returned inline) or a presigned, time-limited (1 hour) download_url. Small text outputs (e.g. transcript SRT, clip-candidates, summary) come inline as content; larger outputs — transcript-words JSON for any non-trivial recording, plus video outputs like clip-video / clip-vertical-video — come as a download_url to fetch when needed. Optionally pass format (srt, txt, vtt, json, words, edit) to get the transcript content inline in the top-level transcript field — txt and vtt are derived from the stored SRT; json is v1 (segments only); words is v2 (segments + per-word timestamps matching /.well-known/weftly-transcript-v2.schema.json); edit is a plain-text "[NNNN] words..." paragraph list, one line per paragraph, for editing by hand — send the edited text to edit_from_transcript to cut a re-timed video from it. Poll this periodically after calling complete_upload — wait at least 60 seconds between checks. For files under 10 minutes, jobs usually complete within 1-2 minutes. For long files (1hr+), expect 10-30 minutes. Derivative jobs (extract_clip, extract_vertical_clip, publish_youtube, clips_vertical, clips_horizontal, edit_from_transcript) have no upload step and no awaiting_upload/awaiting_complete_upload states — a paid derivative job reports processing once its parent source is confirmed still in storage, or a terminal source_expired if the parent source has expired: stop polling, and re-run the parent job named in source_job_id to get a fresh source before retrying. publish_youtube is the one exception: its upload starts by itself as soon as payment settles, so a paid job goes straight to publishing. If it reports awaiting_trigger instead, the upload did not start — almost always because the YouTube account is not connected yet; connect it and the publish can be resumed. A completed publish_youtube job's outputs array carries a youtube_url-roled entry with a url field pointing straight at the published video, instead of a download_url.
Also use this to recover from lost state: if the original challenge was lost, call get_job_status(job_id) to retrieve a fresh challenge (status "awaiting_payment") or the upload URL (status "awaiting_upload").
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | When the job is completed, return the transcript inline in this format instead of only a download URL. Options: "srt" (SubRip with timestamps), "txt" (plain text — no timestamps), "vtt" (WebVTT), "json" (v1, segments only), "words" (v2, segments + per-word timestamps matching /.well-known/weftly-transcript-v2.schema.json), "edit" (plain text, one "[NNNN] words..." line per paragraph — edit it and send it to edit_from_transcript to cut a re-timed video from it). Omit for download URLs only. | |
| job_id | Yes | The job_id returned from a previous transcribe or summarize call. |