Ana içeriğe geç
moondream avatarı

Moondream 3 Preview (Query) API

moondream/moondream3-preview/query

Bir görsel hakkında doğal dilde soru sorun, metin olarak yanıt alın; frontier düzeyinde görsel muhakeme, OCR ve nesne anlama yetenekleriyle.

caption
1M token başına $0.4 girdi · $3.5 çıktı

Model girdisi

Input

URL of the image to ask about.

Question to ask about the image.

Include the model's detailed reasoning in the response.

Min: 0 - Max: 1

Sampling temperature. 0 is deterministic; higher values (up to 1) increase variety.

Min: 0 - Max: 1

Nucleus sampling probability mass.

You need to be logged in to run this model and view results.
Log in

Model çıktısı

Output

A man wearing a red hard hat and safety glasses operates a blue industrial machine.

Generated in 2.816 seconds
Logs (1 lines)

Örnek istekler

Örnekler

Model fiyatlandırması

Fiyatlandırma

Bu model token başına faturalandırılır; gönderdiğiniz ve ürettiği içerik için ayrı oranlar uygulanır.

Girdi token’ları
$0.4
1M token başına
Çıktı token’ları
$3.5
1M token başına

Bir çalıştırma token kullanımı bildirmezse sabit $0.01 faturalandırılır.

Moondream 3 Preview (Query) API

Moondream 3 Preview (Query) is a image-to-text AI model by moondream. On ModelRunner it runs through a REST API or via MCP from any AI assistant with pay-per-use pricing.

POST https://queue.modelrunner.run/moondream/moondream3-preview/query

cURL

# Submit a request to the queue. Input fields go at the top level of the
# body. The optional reserved "metadata" object holds your own flat string
# tags — stored on the request, never sent to the model; filter later with
# GET https://queue.modelrunner.run/requests?metadata=<url-encoded JSON>.
curl -X POST https://queue.modelrunner.run/moondream/moondream3-preview/query \
  -H "Authorization: Key $MRUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "What is in this image? Answer in one short sentence.",
    "image_url": "https://media.modelrunner.ai/unuFWBxAAKhBbmC8-moondream3_query_demo.jpg",
    "reasoning": false,
    "temperature": 0,
    "metadata": {
      "project": "my-project"
    }
  }'
# → { "request_id": "...", "status_url": "...", "response_url": "..." }

# Poll status_url until "COMPLETED", then fetch the result
curl "https://queue.modelrunner.run/moondream/moondream3-preview/query/requests/$REQUEST_ID/status" \
  -H "Authorization: Key $MRUN_API_KEY"
curl "https://queue.modelrunner.run/moondream/moondream3-preview/query/requests/$REQUEST_ID" \
  -H "Authorization: Key $MRUN_API_KEY"

JavaScript

import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("moondream/moondream3-preview/query", {
  input: {
    "prompt": "What is in this image? Answer in one short sentence.",
    "image_url": "https://media.modelrunner.ai/unuFWBxAAKhBbmC8-moondream3_query_demo.jpg",
    "reasoning": false,
    "temperature": 0
  },
});
console.log(result);

Python

import os
import requests

headers = {"Authorization": f"Key {os.environ['MRUN_API_KEY']}"}

submitted = requests.post(
    "https://queue.modelrunner.run/moondream/moondream3-preview/query",
    headers=headers,
    json={
      "prompt": "What is in this image? Answer in one short sentence.",
      "image_url": "https://media.modelrunner.ai/unuFWBxAAKhBbmC8-moondream3_query_demo.jpg",
      "reasoning": false,
      "temperature": 0
    },
).json()

# Poll submitted["status_url"] until "COMPLETED", then:
result = requests.get(submitted["response_url"], headers=headers).json()

Input parameters

Input parameters of Moondream 3 Preview (Query)
NameTypeRequiredDescription
image_urlstring (uri)yesURL of the image to ask about.
promptstringyesQuestion to ask about the image.
reasoningbooleannoInclude the model's detailed reasoning in the response. Default: true.
temperaturenumbernoSampling temperature. 0 is deterministic; higher values (up to 1) increase variety. Default: 0.
top_pnumbernoNucleus sampling probability mass.

Machine-readable: OpenAPI schema · llms.txt

Use Moondream 3 Preview (Query) from Claude & Cursor (MCP)

Point Claude Code, Claude Desktop, Cursor, or any MCP client at the ModelRunner MCP server and Moondream 3 Preview (Query) becomes a tool your assistant can call directly — it authorizes via OAuth (no API key in config) and runs this model with the run_model tool using the endpoint moondream/moondream3-preview/query.

MCP client config (Claude Desktop, Cursor)

{
  "mcpServers": {
    "modelrunner": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.modelrunner.run/mcp"]
    }
  }
}

Claude Code

claude mcp add --transport http modelrunner https://mcp.modelrunner.run/mcp

Then ask your assistant, for example: “Run moondream/moondream3-preview/query on ModelRunner to generate text”. MCP setup guide.

Model Detayları

Model Detayları

Moondream 3 Preview, bir görsel hakkında doğal dilde sorulan soruları yanıtlar. Bir görsel URL’si ve bir soru verin ("Kişi ne yapıyor?", "Otoparkta kaç araba var?", "Tabelada ne yazıyor?"); model kısa ve öz bir metin yanıtı döndürür. Frontier düzeyinde görsel muhakeme için geliştirilmiş kompakt ve verimli bir vision-language modelidir — sahnedeki metni okur (OCR), nesneleri sayar ve tanımlar, olup biteni anlatır ve yanıtlarını görseldeki ince ayrıntılara dayandırır — üstelik ölçekli kullanımda da hızlı ve düşük maliyetli kalır.

## En uygun olduğu işler - Görsel soru-cevap: bir fotoğraf, ekran görüntüsü, grafik ya da belge görseli hakkında serbest biçimli sorular sormak - Görsellerin içindeki metni (tabelalar, etiketler, fişler, el yazısı) okuyup onunla ilgili soruları yanıtlamak - Bir sahnedeki nesneleri ya da insanları saymak, tanımlamak ve yerini bulmak - Erişilebilirlik, moderasyon ön elemesi ya da içerik etiketleme için görsellerin içeriğini tarif etmek - Çağrı başına maliyetin ve latency’nin önemli olduğu yüksek hacimli görsel anlama işleri

## Şu durumlarda başka bir model seçin - Bir görseli tarif etmek yerine görsel üretmek ya da düzenlemek istiyorsanız — bir text-to-image ya da görsel düzenleme modeli kullanın - Görseliniz yoksa ve yalnızca metin bir yanıt gerekiyorsa — yalnızca metinle çalışan bir dil modeli kullanın - Yazılı bir yanıt yerine yapılandırılmış çıktı olarak piksel hassasiyetinde bounding box’lar ya da segmentasyon maskeleri gerekiyorsa — bir tespit ya da segmentasyon modeli kullanın

## İpuçları - Her çağrıda tek, net ve belirli bir soru sorun; istediğiniz yanıt biçimini belirtmek ("tek kısa bir cümleyle yanıtla", "yalnızca sayıyı yaz") çıktıyı daha derli toplu kılar. - Deterministik ve olgusal yanıtlar için `temperature` değerini varsayılan 0’da bırakın; yalnızca daha çeşitli ifadeler istediğinizde yükseltin (en fazla 1). - Yanıtla birlikte modelin adım adım muhakemesini de almak için `reasoning` alanını etkin bırakın (varsayılan); yalnızca nihai yanıt ve daha düşük latency için `false` yapın.

## Gelişmiş Yapılandırma - `reasoning` (boolean, varsayılan `true`): `true` olduğunda çıktı, modelin yanıta nasıl ulaştığını anlatan ayrıntılı muhakemesini de içerir; `false` olduğunda muhakeme kısmı çıkarılır ve yalnızca yanıt döndürülür. - `temperature` (number 0–1, varsayılan `0`): yanıt için sampling temperature. `0` deterministiktir; yüksek değerler çeşitliliği artırır. - `top_p` (number 0–1): nucleus sampling olasılık kütlesi; yanıt çeşitliliğini kontrol etmenin alternatif bir yolu.

ModelRunner JavaScript client ile çalıştırmak için: ```js import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("moondream/moondream3-preview/query", { input: { image_url: "https://storage.googleapis.com/falserverless/example_inputs/moondream-3-preview/query_in.jpg", prompt: "What is in this image? Answer in one short sentence.", reasoning: false, }, }); ```