LTX v1 video endpoints end Oct 26: what a Sume job client changes
LTX turns off five v1 video routes on 2026-10-26. Client habits that survive a cutoff like that on Sume: catalog ids, stored job ids, one submit function.

If your app calls a video vendor's versioned route, plan for the day that route stops answering. LTX's changelog says the five v1 video endpoints stop working after October 26, 2026 at 11:59 PM UTC, so a hard-coded /v1/text-to-video becomes an outage in 19 days. On Sume the equivalent defence is small: keep one submit function, read model ids from the catalog, and store the job id.
This post is about the client pattern, not about any one model. Which models Sume serves today is whatever GET /v1/videos/models returns for your key; check it instead of trusting a blog post (including this one). Sume's own docs also carry a retirement notice of this kind: Video 1.0 is a compatibility alias that Sume will retire, and new integrations should call POST /v1/videos.
What LTX actually announced
The LTX API changelog (read 2026-10-07) lists a staged move from synchronous v1 routes to async v2 routes. The dates below are copied from that page; nothing here is inferred.
The practical lesson is the gap between announcement and cutoff: the deprecation notice went out in September and the cutoff lands in late October. Teams that pin a route string in ten places need ten edits; teams with one function need one.
| Date | Change |
|---|---|
| 2026-04-23 | /v2/video-to-video-hdr ships with async support |
| 2026-05-03 | Async /v2/text-to-video, /v2/image-to-video, /v2/audio-to-video, /v2/retake, /v2/extend |
| 2026-09-07 | Deprecation of the five matching v1 routes announced |
| 2026-10-26 23:59 UTC | Those v1 routes stop working; /v1/upload stays |
What a Sume client keeps stable
Sume's job-first contract has the same shape that LTX moved to: submit, receive a job id, poll or take a webhook, then read the result. The jobs docs say to store the job id and status_url, because a process restart should not lose paid work.
Sume also separates canonical paths from compatibility aliases. The API overview recommends the canonical /v1/{family}-1.0/... and /v1/videos paths for new work, and says the /v1/models/sume/.../runs aliases keep working. Treat any alias as a path you will eventually migrate off.
- Keep the route string, the model id and the request mapping in one module.
- Never read a model id from a blog post at runtime; read it from
GET /v1/videos/modelsand fail the deploy if it is missing. - Store
job.idandstatus_urlbefore you do anything else with the submit response. - Pin the live OpenAPI document in CI and diff it on a schedule.
A deploy-time catalog check
This script exits non-zero when a model id you depend on is no longer listed. Run it in CI before every deploy. The two ids are examples from the video docs; replace them with yours.
import json, os, urllib.request
def main():
req = urllib.request.Request(
"https://api.sume.com/v1/videos/models",
headers={"Authorization": "Bearer " + os.environ["SUME_API_KEY"]},
)
with urllib.request.urlopen(req, timeout=30) as resp:
listed = {m["id"] for m in json.load(resp)["data"]}
wanted = ["seedance-2.5", "wan-3.0"]
missing = [m for m in wanted if m not in listed]
if missing:
raise SystemExit(f"model ids not in catalog: {missing}")
print("catalog ok:", wanted)
main()
What Sume does not do for you
Sume does not promise that a model id lives forever. The catalog is the source of truth and Video 1.0 is an example of an alias with a retirement notice. Your protection is a contract test plus the habit of reading the catalog, as in the OpenAPI diff in CI post. Sume also does not mirror LTX's route names: the request fields come from the video docs, not from LTX's.
Sources
Related posts
More in Developers
- Luma Ray3.2 API: the docs page still lists ray-2 and ray-flash-2
Luma says the Ray3.2 API is live. The docs page I read on Oct 7 lists only ray-flash-2 and ray-2. How to check before you code, and Sume's gap.
- lyria-3-pro-preview vs Sume lyria-3-pro: which model string?
Google lists lyria-3-pro-preview at $0.08 per song. On Sume the Music Router id is lyria-3-pro, and a Google string fails with model_not_found.
- Mandarin Chinese speech to text API: Sume STT language_code zh
Transcribe Mandarin audio with Sume STT using language_code zh, then check the result and timings. $0.01 per audio minute and no accuracy claim without a test.
- mask_url on ChatGPT Image 2: not listed, only the 2.5 rows take it
Sume lists mask_url only on ChatGPT Image 2.5 Flare and Sunburst. Sending it to ChatGPT Image 2 is rejected. What to do for a masked edit on the older row.
Written by Sume