Minicpm V Image
Playground
Try it on WavespeedAI!MiniCPM-V 4.5 is the latest, most capable MiniCPM-V image model for accurate AI image understanding and analysis across visual tasks. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
MiniCPM-V Image
MiniCPM-V Image is an efficient AI-powered image understanding model that analyzes and describes images based on your prompts. Upload an image, choose a preset or write a custom prompt, and get detailed descriptions, analysis, or answers about the visual content.
Why It Stands Out
- Image understanding: Analyzes visual content and provides detailed descriptions.
- Preset prompts: Quick access to common tasks like “describe” for instant use.
- Custom prompts: Ask specific questions or request particular analysis.
- Ultra-affordable: High-quality image understanding at just $0.005 per image.
- Reproducibility: Use the seed parameter to recreate exact results.
Parameters
| Parameter | Required | Description |
|---|---|---|
| image | Yes | Image to analyze (upload or public URL). |
| preset_prompt | No | Preset task: describe, etc. (default: describe). |
| custom_prompt | No | Custom question or instruction about the image. |
| seed | No | Set for reproducibility; -1 for random. |
How to Use
- Upload your image — drag and drop a file or paste a public URL.
- Select a preset prompt — choose “describe” or other presets for quick analysis.
- Or write a custom prompt — ask specific questions about the image.
- Click Run and receive the analysis.
Example Use Cases
Using preset “describe”:
- Get a detailed description of the image content, subjects, and scene.
Using custom prompts:
- “What objects are in this image?”
- “Describe the mood and atmosphere of this photo.”
- “What text is visible in this image?”
- “Count the number of people in this photo.”
- “What is the main subject doing?”
Best Use Cases
- Image Captioning — Generate descriptions for images in your content.
- Content Analysis — Understand and categorize visual content at scale.
- Accessibility — Create alt text and descriptions for visually impaired users.
- Data Extraction — Extract information from images like text, objects, or scenes.
- Quality Control — Analyze images for specific attributes or content.
Pricing
| Output | Price |
|---|---|
| Per image | $0.005 |
Pro Tips for Best Quality
- Use preset prompts for common tasks like general description.
- Write specific custom prompts when you need particular information.
- For OCR-style tasks, ask directly: “What text is in this image?”
- Combine with other models for workflows like image-to-text-to-video.
Notes
- Ensure uploaded image URLs are publicly accessible.
- Processing time varies based on current queue load.
- Please ensure your content complies with usage guidelines.
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/minicpm-v/image" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"preset_prompt": "describe",
"seed": -1,
"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 |
|---|---|---|---|---|---|
| image | string | Yes | - | Image to be analyzed. | |
| preset_prompt | string | No | describe | describe, caption | Preset prompt for image analysis. |
| custom_prompt | string | No | - | - | Custom prompt for image analysis. |
| seed | integer | No | -1 | -1 ~ 2147483647 | The random seed to use for the generation. |
| 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 | object | Array of objects containing the moderation outputs (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 |