Molmo2 Image Qa
Playground
Try it on WavespeedAI!Molmo2-4B Image QA: Answer questions about images with support for multi-image comparison (1-2 images). Open-source vision-language model. Ready-to-use REST API, no cold starts, affordable pricing.
Features
Molmo2 Image QA
Ask questions about images and get intelligent answers with Molmo2 Image QA. This vision-language model analyzes single or multiple images and responds to natural language queries — perfect for image understanding, visual analysis, and automated image-based workflows.
Why It Works Great
- Multi-image support: Analyze and compare multiple images at once.
- Natural language: Ask questions in plain English.
- Visual understanding: Comprehends objects, scenes, text, and relationships.
- Instant answers: Fast processing for real-time applications.
- Ultra-affordable: Just $0.002 per query — 500 queries for $1.
- Versatile analysis: From simple identification to complex reasoning.
Parameters
| Parameter | Required | Description |
|---|---|---|
| images | Yes | One or more images to analyze (upload or public URLs). |
| text | Yes | Your question or prompt about the image(s). |
How to Use
- Upload image(s) — drag and drop or paste public URLs.
- Click ”+ Add Item” — to add additional images for comparison.
- Enter your question — describe what you want to know.
- Run — click the button to get your answer.
Pricing
Flat rate per query.
| Output | Cost |
|---|---|
| Per query | $0.002 |
| 100 queries | $0.20 |
| 1,000 queries | $2.00 |
Best Use Cases
- Image Analysis — Describe what’s in an image in detail.
- Object Identification — Identify objects, people, or elements.
- Text Extraction — Read and transcribe text visible in images.
- Comparison — Compare multiple images for differences or similarities.
- Quality Assessment — Evaluate image quality or content.
- Data Extraction — Pull structured information from visual content.
Example Questions
- “What objects are in this image?”
- “Describe the scene in detail.”
- “What text is visible in this image?”
- “How do these two images differ?”
- “What is the dominant color in this photo?”
- “Is there a person in this image? What are they doing?”
- “What brand logo is shown?”
- “Count the number of items on the table.”
Pro Tips for Best Results
- Be specific with your questions for more precise answers.
- Upload multiple images to compare or analyze together.
- Use for OCR tasks — the model can read text in images.
- At $0.002 per query, batch processing is extremely cost-effective.
- Combine with other Molmo2 tools for comprehensive image workflows.
- Ask follow-up questions about the same images for deeper analysis.
Notes
- Supports multiple images in a single query.
- If using URLs, ensure they are publicly accessible.
- Processing is near-instant for most queries.
- Works with photos, screenshots, diagrams, and more.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/molmo2/image-qa" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"enable_sync_mode": false
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| images | array | Yes | [] | 1 ~ 2 items | Array of image URLs for question answering (1-2 images). Supports common image formats (JPEG, PNG, WebP). |
| text | string | Yes | - | - | Your question about the image(s). |
| enable_sync_mode | boolean | No | false | - | If set to true, the function will wait for the result to be generated and uploaded before returning the response. It allows you to get the result directly in the response. This property is only available through the API. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
Result Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Yes | - | Task ID |
Result Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | string | Array of URLs to the generated content (empty when status is not completed). |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |