Releases: livepeer/ai-runner
Releases · livepeer/ai-runner
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
v0.12.3
What's Changed
- runner: Create liveportrait pipeline container by @victorges in #278
- worker+runner: Dynamically start live inference runners by @victorges in #275
- .github: Create CI for live pipelines docker images by @victorges in #282
Full Changelog: v0.12.2...v0.12.3