Skip to content

Remove the Hosted Video Inference API helpers - #574

Open
balthazur wants to merge 2 commits into
mainfrom
remove-hosted-video-inference
Open

balthazur wants to merge 2 commits into
mainfrom
remove-hosted-video-inference

Conversation

@balthazur

Copy link
Copy Markdown
Contributor

Summary

Removes the SDK side of the legacy Hosted Video Inference API (VFA), the async service behind predict_video. The service stopped working on 2026-07-29 when its token expired, and since roboflow/roboflow#18737 shipped (US and EU, 2026-10-29) its endpoints answer 410 Gone with a pointer to Batch Processing. Nothing in this code can succeed anymore.

What was broken:

  • predict_video, the poll helpers and roboflow video infer / video status fail on every call (401 since July, 410 now).
  • CLIPModel and GazeModel are empty InferenceModel subclasses whose only working feature was predict_video. Their inherited predict() already raises (api_url is never set), and CLIPModel.download() fails on its BASE_MODEL id.
  • VideoInferenceModel is unused and crashes with a KeyError on any error response.

Changes

  1. Models - removed predict_video, poll_for_video_results and poll_until_video_results from InferenceModel and TrainedModel (plus TrainedModel's cached video model), and the SUPPORTED_ROBOFLOW_MODELS / SUPPORTED_ADDITIONAL_MODELS constants.
  2. Classes - deleted roboflow/models/video.py, clip.py and gaze.py, and the CLIPModel / GazeModel exports from roboflow and roboflow.models.
  3. API and CLI - removed rfapi.get_video_job_status, the video infer and video status commands and the hidden run_video_inference_api alias. video upload, upload-status and annotate are unchanged.
  4. Tests and docs - removed the tests for the deleted code and tests/manual/video_inference.sh, updated CLI-COMMANDS.md, and added a "Removed" entry to CHANGELOG.md.

Note: this is a breaking change for anyone importing CLIPModel, GazeModel or VideoInferenceModel, or calling the removed methods. Those calls cannot succeed today, so the changelog entry points users to Batch Processing. The repo normally keeps legacy CLI names as hidden aliases; run_video_inference_api is removed because the command it forwards to no longer exists.

Closes #221.

Type of change

  • Removal of a retired feature (breaking for its imports)

Test plan

  • python -m unittest: 1260 tests pass.
  • ruff format --check, ruff check and mypy roboflow are clean.
  • roboflow video --help lists only upload, upload-status and annotate.

Deployment considerations

Ships with the next SDK release. The full command reference in roboflow-product-docs still lists video infer / video status; that cleanup goes with the docs PR for the legacy video inference pages.

🤖 Generated with Claude Code

balthazur and others added 2 commits October 29, 2026 15:02
The Hosted Video Inference API (VFA) stopped working on 2026-07-29 and its
endpoints now return 410 Gone (roboflow/roboflow#18737). Remove the SDK code
that only talked to it: predict_video and the poll helpers on InferenceModel
and TrainedModel, VideoInferenceModel, CLIPModel and GazeModel (whose only
working feature was predict_video), rfapi.get_video_job_status, the
`roboflow video infer` and `roboflow video status` commands, the hidden
run_video_inference_api alias, and their tests and docs. Native video upload,
upload-status and annotate stay.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Predict video returns bad request

1 participant