tts_source_not_found 404 on Sume TTS: revision, sentence or job
A 404 tts_source_not_found from the Sume script-source API means the revision, a sentence id or a selected job is not visible to this key or thread.

tts_source_not_found is a 404 from Sume's script-source API with the message "TTS source not found." or, for the spine check, "Selected TTS job not found." It does not distinguish a typo from a permission boundary, which is deliberate: an id you cannot see looks the same as an id that does not exist. These come back in Sume's standard error envelope with an HTTP status and a stable code.
Where it comes from
| Call | Trigger |
|---|---|
| GET /v1/tts-1.0/source?script_revision_id=... | No such revision for this thread, or a revision from another thread. |
| POST /v1/tts-1.0/generate with transcript_source | script_revision_id unknown, or a sentence id that is not in that revision. |
| POST /v1/tts-1.0/source/verify-spine | script_revision_id unknown, or a job_id that is missing, belongs to another workspace, or is not owned by this key. |
Checklist
- Ids are case-sensitive and match
^[A-Za-z0-9_-]{1,128}$; copy them verbatim from the accept response. - A sentence id like
sent_000012exists only in the revision that produced it. After you accept an edit, read the new manifest instead of reusing old ids. - A thread-bound credential can cite its workspace's jobs; a bare key stays on its owner's jobs. A job made by a teammate with a bare key is not found.
- Make sure the job finished first. An unfinished job is a different error: 422
tts_sentence_selection_invalid.
Read the manifest
The manifest read is the cheapest probe: it is free and names every valid sentence id. Source resolution is thread-scoped, so a bare key with no thread behind it cannot use transcript_source.
curl -s "https://api.sume.com/v1/tts-1.0/source?script_revision_id=$REV" \
-H "x-api-key: $SUME_API_KEY"Sources
Related posts
More in Developers
- tts_source_revision_mismatch 409: stale expected_script_revision_id
Sume returns 409 tts_source_revision_mismatch when the accepted script changed under you or a run is frozen. How to re-read the revision and retry.
- tts_source_too_large 422: Sume TTS 20,000-character cap on a selection
A transcript_source selection that resolves past 20,000 characters returns 422 tts_source_too_large. Split it by sentence ids and price each job.
- tts_text_source_conflict 400: transcript or transcript_source
Sume TTS wants exactly one of transcript and transcript_source. Sending both, neither or a malformed source returns 400. Which code, and how to fix.
- Sume TypeScript SDK createImage: a retired model id fails tsc
Sume's @sume-com/sdk lists accepted image model ids as a string union, so gpt-image-1 fails to compile. Use tsc as the migration checklist.
Written by Sume