Image Captioner

Image Captioner

Playground

Try it on WavespeedAI!

High-accuracy Image Captioner for generating detailed, human-like descriptions from images. Ideal for content understanding, accessibility, dataset labeling, SEO, and multimodal AI workflows. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Features

Image Captioner API

Overview

The WaveSpeedAI Image Captioner converts images into rich, human-like textual descriptions. Designed for applications requiring vision understanding, accessibility, content moderation, dataset labeling, and SEO enhancement.

Compatible with all image formats and deployable in high-throughput production pipelines.

Key Features

  • Generates accurate and natural image descriptions
  • Supports detailed object recognition and scene understanding
  • Ideal for labeling, accessibility (alt-text), and visual search
  • Works in automated workflows and REST API pipelines

Why Use It?

The Image Captioner improves any workflow requiring:

  • Content understanding from images
  • Automatic alt-text generation for accessibility
  • Dataset or training data labeling
  • Multimodal pre-processing for LLMs or agents

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/image-captioner" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "detail_level": "medium",
    "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

ParameterTypeRequiredDefaultRangeDescription
imagestringNo-Image to caption
detail_levelstringNomediumlow, medium, highLevel of detail for the caption.
focusstringNo--Specific area or subject to focus on in the caption (optional).
enable_sync_modebooleanNofalse-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

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.has_nsfw_contentsarrayArray of boolean values indicating NSFW detection for each output
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

© 2025 WaveSpeedAI. All rights reserved.