
Case Study
Outsyders runs GenAI-native VFX pipelines on Anyscale
Outsyders compresses a production timeline that once required hundreds of artists and months of manual work into a unified AI pipeline on Anyscale, delivering full stereoscopic depth previews of entire feature films within days of receiving footage.

30x
faster delivering full-show depth previews, down from months
100%
GPU saturation in GenAI training, up from significant idle time
Hybrid
deployment across GCP and on-premises Kubernetes
Outsyders is a technology company at the intersection of generative AI and high-end visual effects, building the infrastructure that powers spatial video and immersive content production. The company started with a focused mission: automate the visual effects (VFX) processing workflows that once required hundreds of workers and months into AI-powered workflows that do the work in a fraction of the time. This includes the full suite of VFX including stereoscopic conversion, the post-production process of transforming traditional, flat 2D film or imagery into 3D, clean plating, masking, volumetric reconstruction, and monoscopic depth estimation.
Professional VFX is uniquely demanding on infrastructure to process 4K and 8K images as part of memory-intensive batch inference pipelines for data curation for training runs and for client content processing. This processing also must satisfy strict security requirements that studios require to ensure their work is never compromised.
To deliver these workloads at scale on their hybrid compute state which includes Google Cloud for model training and a Kubernetes on-prem environment for batch inference, they went all in on Ray and Anyscale as their unifying AI platform.
LinkChallenges
Building a production-grade AI pipeline for stereoscopic (2D-to-3D) conversion and VFX generation at feature film quality means confronting compute, data, and security challenges that off-the-shelf infrastructure was not designed to handle. Josiah, Co-founder and CTO, had adopted Ray early on as the distributed compute backbone, but running it on self-managed Kubernetes and managing job orchestration with Prefect introduced a new layer of operational complexity that a small engineering team supporting a growing roster of studio clients could not sustain.
Three challenges stood in the way:
Naive open-source pipelines created severe GPU starvation and memory walls. Professional VFX workloads are architecturally demanding in ways that expose the limits of conventional distributed systems. A single shot in a feature film conversion can run over 1,600 frames at 4K resolution, and the standard inference pattern of loading everything into memory before touching the GPU, collapses completely at that scale. Teams hit out-of-memory errors before inference could even begin, and when jobs did run, GPUs sat idle waiting for data to arrive. Jobs that should have been completed in ten minutes were regularly taking more than an hour due to bottlenecks in their heterogeneous compute (CPU + GPU) pipelines processing MOV video, EXR image sequences, and raw NumPy arrays, all within a single pipeline.
Cluster management with KubeRay and Prefect was opaque, fragile, and unsustainable. Josiah had worked with Kubernetes-managed Ray clusters before building the company's stack, but found that KubeRay lacked critical observability in GPU memory usage or job-level resource allocation. An orchestration layer built on Prefect was inadvertently crashing Ray clusters because it had no awareness of Ray's internal resource model, submitting workloads that conflicted with ongoing tasks. Job submission was manually sequenced one at a time because running two jobs simultaneously carried a real risk of cluster failure. There was no queue, no priority system, and no reliable way to diagnose what was going wrong, meaning a small team was spending a disproportionate share of their time managing infrastructure and job queues rather than advancing their models.
On-premises storage was physically incapable of feeding large generative models, but sending studio footage to the cloud was a security non-starter. Outsyders runs two very different workloads. Artist batch inference on net-new productions uses unreleased studio footage, which carries real IP risk and has to stay on-prem as sending it to external infrastructure, even a company-controlled cloud account, is a security non-starter. Their own model development pulls the other way: as the team moved into training large video diffusion models, their on-premises SATA drives couldn't deliver the I/O throughput that multi-node runs demand, dropping GPU utilization and stalling iteration. They needed to burst training to the cloud while keeping production inference on-prem without fragmenting their codebase or doubling operational overhead.

Josiah Reeves | Co-founder & CTO, Outysders
LinkThe Solution
Having prior experience with Ray before founding Outsyders, the team knew it could scale the complex, multimodal data and AI pipelines their VFX work demanded. And by running it on the Anyscale Platform, the team would get to build and manage every phase of the video visual effects lifecycle with workloads including batch inference, distributed model training, and live online serving, all running on a single platform.
With Anyscale, Outsyders is able to:
Eliminate GPU starvation and handle mixed multimodal data with fine-grained resource control. On self-managed Ray, the team lacked the resource scheduling controls needed to interleave CPU-based data loading with GPU inference precisely enough to keep GPUs continuously fed. Anyscale gave them configurable actor pools that load the next batch from disk while the current batch processes on the GPU, eliminating the idle time that had been compounding across every shot in a run. Ray Data handles the heterogeneous mix of MOV video, EXR sequences, and raw NumPy arrays that make up Outsyders' training datasets, surfacing throughput metrics that their ML engineers use continuously to identify and eliminate bottlenecks. For their ML training runs on GCP, this architecture enabled near 100 percent GPU saturation, a result that had been unachievable on their prior setup.
Replace fragile cluster management with a reliable job queue and deep observability. The Anyscale job queue and workload management interface replaced a fragile, manual job submission process that had previously forced the team to run jobs sequentially out of fear of resource contention. Jobs are now submitted with priority values set via API, giving Outsyders a render-queue-style experience that maps naturally to the project-based prioritization frameworks their artists already understand from tools like Deadline. The Anyscale console surfaces job logs, GPU memory utilization, queue position, and retry history in one place, which has dramatically compressed the time it takes to debug a failing job and iterate on pipeline configuration, with the 30-plus active job submitters across the team able to operate concurrently without the platform becoming a coordination bottleneck.
Run a secure hybrid deployment spanning GCP and on-premises Kubernetes from a single control plane. Outsyders trains large generative models on Google Cloud, where NVMe storage and high-bandwidth networking eliminate the I/O wall that blocked their on-premises hardware. Artist batch inference runs on-premises on a Kubernetes cluster, where sensitive unreleased footage never leaves a controlled environment. A unified runtime environment, built on a shared dependency configuration across both deployments, means that a pipeline authored in the cloud can be shifted to on-premises for artist production without any code changes. That write-once, run-anywhere capability compressed what would have been a multi-month integration project into a deployment that was production-ready within weeks.

Josiah Reeves | Co-founder & CTO, Outysders
LinkGenAI-native production pipeline with full GPU utilization
The core technical problem Outsyders needed to solve was not just parallelism but the precise coordination of CPU and GPU work across wildly heterogeneous data. A single inference job might ingest a 1,600-frame 4K shot, run monoscopic depth estimation on each frame, and write the output EXR sequence back to disk, all while the next shot is already loading. The naive pattern of loading everything into memory before touching the GPU is not just inefficient at that scale, it is impossible. Out-of-memory errors appear before inference can begin, and GPUs sit idle waiting on data that disk I/O cannot deliver fast enough.
Anyscale gave the team the resource scheduling primitives to interleave CPU-based data loading with GPU inference in precise, configurable actor pools. While one batch processes through the GPU, the next batch loads from disk in parallel, keeping the GPU continuously fed across arbitrarily long shot sequences.
Ray Data handles the heterogeneous mix of MOV video, EXR sequences, and raw NumPy arrays that make up Outsyders' training datasets, surfacing throughput metrics that Tyler, one of their core MLEs, uses continuously to identify and eliminate bottlenecks. For large-scale video diffusion training runs on GCP, Ray Train manages multi-node coordination and fault tolerance automatically, removing the need to manually configure collective communication or checkpoint logic.
Ray Serve deploys trained models as live inference endpoints for artists, with model multiplexing allowing multiple variants to share a single GPU, reducing per-job compute cost across sessions where artists cycle through many endpoints. Migrating to Anyscale on GCP resulted in 100 percent GPU saturation during GenAI training, a number that had been unachievable on their prior on-premises setup due to storage I/O constraints.

Josiah Reeves | Co-founder & CTO, Outysders
LinkJob priority and observability for a 30-person production team
Before Anyscale, job management at Outsyders was built around caution rather than confidence. The team submitted jobs one at a time because running two concurrently risked triggering resource contention that could bring down the cluster. There was no queue, no priority system, and no reliable way to inspect what a job was doing mid-run. The open-source Ray Dashboard gave some visibility but offered no control actions: stopping a misbehaving job, requeuing a failed run, or reprioritizing when a high-value client project arrived all required manual intervention. Jobs that should have been completed in ten minutes were regularly spiking to over an hour due to resource contention, a 6x slowdown that compounded across every shot in a production run.
Anyscale's job queue and workload scheduler resolved this directly. Jobs are now submitted with priority values set via API, and the scheduler manages resource allocation across all concurrent submissions without the team having to sequence them manually. For artists, the experience maps naturally onto the render queue paradigms they already know from tools like Deadline: jobs enter a queue, priorities are visible, and status is accessible without escalating to an engineer. The Anyscale console surfaces job logs, GPU memory utilization, queue position, and retry history in a single view, giving both MLEs and the platform team a shared diagnostic layer that has dramatically reduced the time it takes to identify a failing pipeline stage and validate a fix. With around 30 active job submitters across artists and MLEs operating concurrently, the platform no longer requires the team to coordinate around it.

Josiah Reeves | Co-founder & CTO, Outysders
LinkHybrid cloud flexibility and on-premises security
The security requirements of working with unreleased studio content placed a hard constraint on Outsyders' infrastructure from the beginning. Outsyders runs two distinct types of workloads: model training on their own data, and artist-facing batch inference on net-new productions using unreleased client footage. First-run feature films carry significant IP and commercial risk, and studios including Disney have strict protocols around where and how their footage can be processed, meaning all artist-facing inference must run on-premises where footage never touches external networks. At the same time, training large generative models on-premises was physically impossible: Outsyders' on-premises SATA drives could not provide the I/O bandwidth required to keep multi-node GPU training from bottlenecking on storage, a problem that no amount of cluster tuning could resolve at that hardware tier.
Anyscale's support for hybrid deployment architecture allowed Outsyders to operate both environments under a single control plane without fragmenting their codebase or their operational processes. The team maintains a unified runtime environment across both GCP and on-premises contexts, meaning the same pipeline code is executable in either environment without modification. An MLE can develop and validate a new inference pipeline in the cloud using a model trained on GCP, then deploy that same pipeline code to the on-premises cluster for artist production without any changes. That write-once, run-anywhere capability compressed what would have been a multi-month integration project into a deployment that was production-ready within weeks.
The hybrid setup also carried a practical performance advantage. Studios deliver footage in rounds as plates become available, with each batch adding up to terabytes of data across five or six processing passes per shot. Processing on-premises keeps that iteration cycle fast without the upload and download overhead that would accumulate at that volume. Outsyders can now receive a full show from a client, process thousands of shots through depth estimation and conversion, and deliver a stereoscopic preview within days, compared to the months that process historically required.

Josiah Reeves | Co-founder & CTO, Outysders
LinkWhat's Next
Outsyders is expanding its use of Anyscale across both training and inference, with near-term plans to grow the scale and frequency of generative model training runs as the team develops the next generation of depth estimation and in-painting capabilities, while also exploring role-based access controls to give artists more self-service access to the platform without compromising the project-level job prioritization that studio work demands. Anyscale is expected to scale with them through all of it, carrying increasingly large training workloads in the cloud while the on-premises cluster continues to serve as the secure environment for active production.

Josiah Reeves | Co-founder & CTO, Outysders
