Computer Vision Model Deployment | Beam
Deploy computer vision models at scale
Serve detection, segmentation, and classification models behind managed API endpoints. Send images as URLs, base64, or file payloads — Beam scales the GPUs underneath.
frame 0348 · 30fpsperson 0.44vehicle 0.24pallet 0.6
Serve any computer vision model
Image ingestion, warm weights, burst scaling, and batch backfills — handled by the platform, not your team.
Send images any way
Endpoints accept URLs, base64 payloads, or file uploads — whatever fits your client.
Explore docs
Warm weights per container
on_start loads the model once per container so requests skip straight to inference.
Explore docs
Scale with request volume
Autoscaling adds containers as traffic grows and drops to zero when it stops — no capacity planning.
Explore docs
Batch over image archives
Backfill millions of images by fanning the same function out across containers with .map().
Explore docs
CPU or GPU per model
Run small detectors on fractional CPUs and reserve GPUs for heavy segmentation — priced per second either way.
Explore docs
Per-second billing
Pay for compute while frames are being processed — never for idle capacity between bursts.
Explore docs
“We would not have been able to get our API running and win our first enterprise contract without Beam.”
Daniel Heinen
Co-founder, GeoSpy
Read the case study
3Minference requests in one month
99.9%production uptime
100sof requests per minute at peak
Run computer vision models at scale
01
Wrap your model
YOLO, DETR, SAM, or a custom classifier — load it in on_start and declare the hardware inline.
02
Deploy the endpoint
beam deploy returns an authenticated HTTPS URL with autoscaling already wired up.
03
POST images, get predictions
Send a URL or file payload and get structured detections back as JSON.
terminal
$ beam deploy app.py:detect
=> Deployed 🎉
=> https://object-detection-abc123.app.beam.cloud
$ curl -X POST https://object-detection-abc123.app.beam.cloud
-H 'Authorization: Bearer YOUR_TOKEN'
-d '{"image_url": "https://example.com/warehouse.jpg"}'
{"detections": [
{"label": "forklift", "confidence": 0.94, "box": [102, 44, 380, 291]}
]}
Frequently asked questions
How do I send images to the endpoint?+
Three ways: pass a URL for the container to fetch, base64-encode the image into the JSON body, or send the file directly using Beam's file payload support.
Which vision models work?+
Anything that runs in Python — YOLO and ultralytics models, DETR, SAM, CLIP, or vision-language models via transformers.
Can I process video?+
Yes. For long videos, deploy the job as a task queue: split into frames or segments inside the container, process on GPU, and get a webhook when results are ready.
What about latency-sensitive applications?+
Use keep_warm_seconds to hold containers hot, and pick a GPU close to your model's size. Cold boots take seconds and you're never billed for them.
Do small models need a GPU at all?+
Often not. Beam lets you request fractional CPUs for lightweight models and attach a GPU only where it pays for itself.
How do I run several vision models side by side?+
Deploy each model as its own endpoint with its own dependencies, hardware, and scaling settings — Beam scales them independently. Deployments are versioned, so rolling back a misbehaving model takes one click. GeoSpy manages multiple production vision models this way.