How to automate tagging images and video with Moondream's vision AI
The /query skill allows you to easily generate tags for your images or video frames. You could tag approximately 3,370 images or frames of video for just $1 with our cloud API or run for free with Moondream Station.
With this you can build powerful visual search and smart organization of huge media libraries more efficiently than ever before.

Generate tags in a structured JSON format, perfect for databases and APIs that need consistent, parseable data.

Prompt
provide 10 tags for this image using this format: { "tags": [] }
Response
{
"tags": [
"Golden Gate Bridge",
"suspension bridge",
"orange",
"water",
"sky",
"mountains",
"sunrise",
"fog",
"towers",
"cables"
]
}Code Example
import moondream as md
from PIL import Image
# Initialize with API key
model = md.vl(api_key="your-api-key")
# Load an image
image = Image.open("path/to/image.jpg")
# Ask a question with reasoning enabled
result = model.query(image, "provide 10 tags for this image using this format: { \"tags\": [] }", reasoning=True)
answer = result["answer"]
request_id = result["request_id"]
print(f"Answer: {answer}")
print(f"Request ID: {request_id}")Simple, universal format that works anywhere—from search engines to spreadsheets to human-readable displays.

Prompt
return comma separated list of tags
Response
black and white, woman, blonde hair, black dress, black gloves, handgun, round table, decanter, short glass, short tumbler, round ashtray, pen, dark background, fireplace
Code Example
import moondream as md
from PIL import Image
# Initialize with API key
model = md.vl(api_key="your-api-key")
# Load an image
image = Image.open("path/to/image.jpg")
# Ask a question with reasoning enabled
result = model.query(image, "return comma separated list of tags", reasoning=True)
answer = result["answer"]
request_id = result["request_id"]
print(f"Answer: {answer}")
print(f"Request ID: {request_id}")Classify images into predefined categories for organizing and routing media at scale.

Prompt
return a category tag of dining out or groceries
Response
dining out
Code Example
import moondream as md
from PIL import Image
# Initialize with API key
model = md.vl(api_key="your-api-key")
# Load an image
image = Image.open("path/to/image.jpg")
# Ask a question with reasoning enabled
result = model.query(image, "return a category tag of dining out or groceries", reasoning=True)
answer = result["answer"]
request_id = result["request_id"]
print(f"Answer: {answer}")
print(f"Request ID: {request_id}")Get Running in Minutes.
Moondream is open source and you can install and run it anywhere, for free. You can have it running on your computer or in our cloud in a matter of minutes.
- Moondream Station is free
- Works with our Python and Node clients
- Works offline, fully under your control
- CPU or GPU compatible
- Spin up instantly—no downloads or DevOps
- $5 in free monthly credits, no card required
- Predictable pay-as-you-go pricing
- 2 RPS on free tier, scales to 10 RPS or more with paid credits
