State-of-the-art vision for your task.

Build, fine-tune, and deploy visual AI that works on your real-world edge cases.

$pip install moondream

5M+ monthly downloads · open weights · commercial use

Misoriented box
manufacturing / logistics
>model.detect(image, "Misoriented box")
{ "x_min": 0.70, "y_min": 0.39, "x_max": 0.98, "y_max": 0.61 }
Moondream 3.1 on Photon, fine-tuned with Lens
01
Step 1 · Try it

Try the open models. You might already be done.

Moondream might already nail your use case out of the box. The open models are commercially friendly and can run anywhere. Use our playground to try it out or download it and run it yourself.

No credit card required. $5 in credits added monthly.

python
# Caption an image in four lines
import moondream as md
from PIL import Image

model = md.vl(api_key="YOUR_API_KEY")
image = Image.open("shelf.jpg")
print(model.caption(image).caption)
# → 'A warehouse shelf with six cardboard cartons…'
02
Step 2 · Fine-tune it

Need more? Lens gets you to production-grade accuracy.

Your data is specific, so the model has to be. Lens is a fine-tuning platform with a simple API. No dataset uploads, no infrastructure, no ML team required.

Self-serve API

A simple hosted API — no hardware to rent or manage. Supports SFT and RL. Vibe-code your fine-tune script in minutes.

Tune and go

Your fine-tuned model is instantly ready to run on Moondream Cloud or locally with Photon. No cumbersome download or install step.

White-glove option

Our team handles the labeling protocol, loss design, and evaluation. You keep the weights, the training code, and the data. Unlike ML consulting, you walk away self-sufficient.

No massive dataset required

Our reinforcement-learning fine-tune API can dramatically improve accuracy with as few as 20 labeled images — not thousands.

03
Step 3 · Run it anywhere

Fast, efficient, and runs anywhere you need it.

Once your model is accurate, performance and cost become the next wall. Photon is the inference engine we built to run Moondream in production. Moondream Cloud and partner clouds give you a hosted path if you want one.

Speed

Under 500 ms is the difference between a useful answer and a late one. Photon answers a direct query in under 60 ms on an H100, and stays real-time all the way down to Jetson.

59 msP50 · H100 · batch 1
Cost

A VLM running across a fleet of cameras at the wrong efficiency costs thousands a day. Moondream is the lowest-cost VLM we have measured across the inference providers we tested.

$0.06per 1K images, cloud
Flexibility

Your deployment story will change. Start in the cloud, move to the edge, or run air-gapped. You pick the hardware. The model and APIs stay the same.

9benchmarked hardware tiers
Internal benchmark
Time per request
median of 200 runs · lower is better
Moondream 3.1 + PhotonH100 · batch 1
59 msbaseline
Qwen 3.5 4B + vLLMH100 · batch 1
73 ms1.2× slower
GPT-5.4 MiniOpenAI API
2.78 s47× slower
Gemini 2.5 FlashGoogle API
3.79 s64× slower
direct-answer query · batch 1 · NVIDIA H100 80GB · 2026-02 build
Photon · hardware
Same model, every tier.

Moondream 3.1 on Photon, benchmarked from datacenter to Jetson. Latency is the median for a single direct-answer query; throughput is peak sustained requests per second.

NVIDIA B200Datacenter49 ms77.7 req/s
NVIDIA H100Datacenter59 ms58.0 req/s
RTX PRO 6000Workstation68 ms38.8 req/s
NVIDIA L40SServer99 ms24.7 req/s
NVIDIA A100 80GBCloud136 ms16.7 req/s
Jetson AGX ThorEdge246 ms12.6 req/s
NVIDIA A10Cloud280 ms7.2 req/s
NVIDIA L4Cloud317 ms6.9 req/s
Jetson AGX OrinEdge · Moondream 2514 ms4.6 req/s
ChartQA test split · prefix caching enabled · Jetson AGX Orin runs Moondream 2 · full data on GitHub
Available on
FAL
Self-hosted
Moondream Cloud
Photon
Same code. Edge, workstation, server.
Read the Photon docs
python
import moondream as md
from PIL import Image

# Initialize with local GPU inference
model = md.vl(api_key="YOUR_API_KEY", local=True)

# Load an image
image = Image.open("path/to/image.jpg")

# Generate a caption
caption = model.caption(image)["caption"]
print("Caption:", caption)
04
Step 4 · Keep it running

Launch is just the start.

One vendor for the full stack. Models drift. Engineers leave. New use cases appear. With stitched-together vendors, nobody owns the outage. On Moondream, we do.

Competitor stack
  • Model vendor (weights only)
  • Fine-tuning vendor (your data goes elsewhere)
  • Inference provider (different SLA)
  • Your on-call engineer (owns everything)
Moondream
  • Model, weights, and roadmap
  • Lens fine-tuning and evals
  • Photon and Moondream Cloud
  • One team on call, 24/7 on enterprise plans
See Plans

Moondream is trusted by

CalPoly
CalPoly

Every machine will see.

Build with Moondream 3.1 today.