Releases: livepeer/ai-runner
v0.14.1
What's Changed
This release mainly wraps up the support for custom pipelines with docs and final fixes on metadata routes used by the Orchestrator.
The scope pipeline has been fully moved to the daydreamlive/scope-runner repository and can be developed without docker, using only local dev environments if preferred.
Commits
- .github: Add proper tags to base image by @victorges in #891
- live: Remove scope project by @victorges in #892
- docs: Create guide on writing custom pipelines by @victorges in #895
- routes: Fix version and hardware metadata routes by @victorges in #896
Full Changelog: v0.14.0...v0.14.1
v0.14.0
What's Changed
🎬 StreamDiffusion Pipeline — Complete Overhaul
- Prompt & Seed Blending: Smooth interpolation between values
- ControlNet Support: Depth, canny, and other controlnets with dynamic scale adjustment
- IPAdapter: Style transfer from reference images. FaceID version for face-preserving generation
- SD1.5 + SDXL: Expanded model architecture support
- NSFW Detection: Freepik-based safety checker
- Dynamic Parameters: In-place updates for most parameters without requiring pipeline restart (eg t_index_list, controlnets, etc)
- Dynamic Resolution TensorRT: Single engine with support for different resolutions (still requires a reload)
- TemporalNet ControlNet: Optical flow-based conditioning for frame-to-frame temporal consistency
- Multi-stage pipeline: Configurable image or latent, pre and post-processing in the pipeline (e.g.: latent feedback, upscaling, skip diffusion altogether)
- StreamV2V: Cached attention for even further temporal consistency
🔧 Realtime Runtime
- Extensible runner — Modular pipeline architecture with plugin pattern (#866)
- Loading screen — Visual feedback during pipeline reloads (#739)
- Removed Conda and moved to
uv(except ComfyUI) (#854) - Higher performance and lower latency
- Improve error handling and monitoring
📦 Batch Pipelines
New Contributors
- @vcashwin made their first contribution in #819
- @corey-livepeer made their first contribution in #837
Full Changelog: v0.13.8...v0.14.0
0.13.8
New features & improvements
- Support for audio passthrough and Opus encoding (real-time)
- Faster and more reliable startup & teardown (real-time)
- Improved logging, metrics, and debugging (real-time)
- Zero-copy GPU tensor transfer for lower latency (real-time)
- Streamdiffusion pipeline improvements and re-introduction (real-time)
Performance & stability
- Many encoder and decoder fixes (real-time)
- Better pipeline cleanup and failover handling (real-time)
- Robust support for multi-stream and resolution changes (real-time)
- Docker image optimizations and workflow improvements
Developer & maintenance updates
- Moved ai-worker package to go-livepeer
- Updated LLM pipeline dependencies to improve performance and fix bugs (batch)
- Improved CI workflows and build caching
- Enhanced checkpoint and model management
New contributors
- @Radovenchyk — first contribution [#417](#417)
- @livepeer-robot — first contribution [#611](#611)
Full Changelog: v0.13.3...v0.13.8
v0.13.3
What's Changed
- Support for JSON string in defaultImage field for overriding pipeline specific images in the mappings by @RUFFY-369 in #293
Full Changelog: v0.13.2...v0.13.3
v0.13.2
What's Changed
- examples: Add test run for lv2v by @victorges in #283
- dl_checkpoints.sh - docker run as a user not the root by @pwilczynskiclearcode in #397
- dl_checkpoints.sh run as root but chown to current user by @pwilczynskiclearcode in #399
- refactor(runner): update LLM 'tokens_used' to usage by @rickstaa in #402
Full Changelog: v0.13.1...v0.13.2
v0.13.1
What's Changed
- feat: update A2T audio conversion by @ad-astra-video in #389
- Remove liveportrait by @leszko in #393
- feat: better LLM response format by @kyriediculous in #387
- Fix codegen and some small updates by @ad-astra-video in #395
Full Changelog: v0.13.0...v0.13.1
v0.13.0
This release introduces several new ComfyUI pipelines, including Florence 2, LivePortrait, and Sam2, alongside significant performance optimizations and bug fixes for both the realtime AI stack and non-realtime pipelines like A2T and LLM. These updates enhance processing efficiency, stability, and functionality across the platform.
What's Changed
- Add nvidia-ml-py to requirements by @eliteprox in #305
- runner/live: Refactor pipeline streamer and add some docs by @victorges in #306
- Fix missing nvidia-ml-py by @leszko in #310
- runner/lv2v: Always exit main process when infer.py finishes by @victorges in #312
- (chore) fix startup with asyncio.create_task by @eliteprox in #314
- change github build action to run on oxford for live-pipeline builds by @pschroedl in #318
- runner/live: Ignore keepalive messages from control subscriber by @j0sh in #313
- Live video to video/comfyui sam2 by @pschroedl in #316
- ci(runner): add runner test ci by @rickstaa in #295
- ci(runner): add runner test ci by @rickstaa in #296
- ci(runner): change live pipelines docker runner by @rickstaa in #320
- feat: add flash_attention_2 to audio_to_text pipeline's attn_implementation by @RUFFY-369 in #308
- ci(worker): update go version by @rickstaa in #321
- ci(worker): fix worker test ci go version error by @rickstaa in #322
- runner/req: Add pynvml dependency by @victorges in #323
- Revert "(chore) fix startup with asyncio.create_task" by @eliteprox in #317
- fix: slow resize by @varshith15 in #315
- runner/live/trickle: Fix publisher/subscribe lifecycle by @victorges in #324
- (chore) remove cleanup-runner for self-hosted runners by @eliteprox in #328
- ci(runner): temporarily disable pipeline concurrency cancellation by @rickstaa in #329
- worker: Fix typo breaking build by @victorges in #332
- Init prompt from params by @pschroedl in #327
- ci(runner): remove cancel in context comment by @rickstaa in #333
- ci(runner): prevent pipeline docker CI from running on mac by @rickstaa in #331
- ci(runner): add amd64 runner label to pipeline docker ci by @rickstaa in #336
- ci(runner): disable fail fast for batch docker ci by @rickstaa in #337
- runner/docker: Fix streamdiffusion base image by @victorges in #340
- runner/docker: Install pynvml on noop by @victorges in #341
- Fix dl_checkpoints.sh: don use
-itflag when running docker containers by @pwilczynskiclearcode in #339 - bump commit hash for streamdiffusion node, update dl_checkpoints.sh by @pschroedl in #344
- feat: Add florence 2 to comfyui container by @ad-astra-video in #343
- runner/live: Report pipeline status on trickle channel by @victorges in #309
- Update dl_checkpoints.sh for ComfyUI pipeline by @leszko in #346
- runner/docker: add cv2 to noop by @victorges in #348
- runner: Fix Awaitable import by @victorges in #350
- streamer: Fix remaining typos by @victorges in #351
- Update Sam2 ComfyUI Node by @pschroedl in #335
- feat: update florence 2 to add run mode by @ad-astra-video in #347
- ci(runner): enable docker build cancel-in-progress on feature branches by @rickstaa in #338
- dl_checkpoints.sh --tensorrt - exit if previous build is still running by @pwilczynskiclearcode in #357
- dl_checkpoints.sh new --batch flag to install only sam2-hiera-large model by @pwilczynskiclearcode in #358
- hotfix/resize_bug by @varshith15 in #360
- runner/pipelines: Accept ComfyUI prompt as a string by @victorges in #353
- streamer: Improve timestamp logic on status reporting by @victorges in #354
- runner/streamer: Fix nested process restart by @victorges in #361
- Fix model cache directory by @leszko in #365
- chore: update CODEOWNERS by @rickstaa in #366
- runner/docker: integrate ComfyUI LivePortrait by @emranemran in #342
- runner/live: Improve pipeline status schema by @victorges in #362
- update: Florence 2 commit for optimizations by @ad-astra-video in #363
- update: florence 2 node commit hash for bug fixes by @ad-astra-video in #369
- update comfui_stablediffusion, add checkpoints and lora by @pschroedl in #364
- streamer: Fix timestamp serialization as int ms by @victorges in #370
- Pull runner images by @leszko in #372
- dl_checkpoints.sh run correct docker image based on envs or default by @pwilczynskiclearcode in #374
- dl_checkpoints.sh - restore docker pull for mutable docker tags by @pwilczynskiclearcode in #375
- trickle: Add reconnects in subscriber. by @j0sh in #376
- Add a notification step after docker build succeeds for
ai-runner:latestby @hjpotter92 in #377 - runner: Improve live video-to-video runner stability by @victorges in #371
- update florence2 models download by @ad-astra-video in #379
- live/streamer: Fix streamer shutdown logic by @victorges in #380
- docs: Add general documentation on realtime architecture by @victorges in #381
- Use vLLM to load LLMs by @kyriediculous in #230
- runner: fix openapi gen, add llm to workflows and container list by @ad-astra-video in #384
New Contributors
- @RUFFY-369 made their first contribution in #308
- @varshith15 made their first contribution in #315
- @pwilczynskiclearcode made their first contribution in #339
Full Changelog: v0.12.6...v0.13.0
v0.12.6
What's Changed
- live/runner: Increase liveportrait restart threshold by @victorges in #294
- Allow running worker on non-GPU machine by @leszko in #291
- fix: prevents nvml runtime error by @rickstaa in #292
- api: Fix startup of control API by @victorges in #300
- Add error handling to control message handler task by @eliteprox in #302
- runner: add events url to live video to video by @gioelecerati in #303
- runner: Make control_url and events_url optional by @victorges in #304
- SAM2 video-to-video real-time pipeline by @eliteprox in #280
- fix: managed containers return after inference completed by @ad-astra-video in #301
New Contributors
- @gioelecerati made their first contribution in #303
Full Changelog: v0.12.5...v0.12.6
v0.12.5
What's Changed
- feat: add hardware info reporting by @ad-astra-video in #273
- feat(worker): auto pull images if not found by @rickstaa in #200
Full Changelog: v0.12.4...v0.12.5
v0.12.4
What's Changed
- docker: ComfyUI model downloading/caching by @victorges in #284
- worker,runner: Fix lifecycle management of realtime containers by @victorges in #288
- test: add b64 functions tests by @rickstaa in #285
- worker: Add noop image to map by @victorges in #289
- Fix control_url task runner by @eliteprox in #290
Full Changelog: v0.12.3...v0.12.4