Skip to content
Catalog

cn8/studio-caption

Send an image URL and get back a written description. Add an optional prompt to steer

Learn more about Image Captioning
ImagesyncInstant previewimageanalysisvision

Try it

Image
What do you want to know?

Result

The result shows up here

Upload your image on the left and hit Run.

Overview

Send an image URL and get back a written description. Add an optional prompt to steer what you get — a general description, alt text, a list of objects, or the mood of a scene. Responses are synchronous: one request, one caption, no polling. Along with the caption you get the image dimensions. Captions are plain text, ready for alt text, search indexing, or feeding into moderation.

Key capabilities

Image + prompt in, caption out

Send one image URL and an optional prompt. The default prompt gives a general description; override it for alt text, object lists, or scene mood.

Synchronous

No job to poll — the caption comes back in the same response, typically within a few seconds.

Image dimensions included

Each result reports the width and height of the image you sent.

Control the length

max_new_tokens caps how long the caption can get (default 512). Raise it when you need longer descriptions.

When to use it

Alt text

Generate accessibility alt text with a prompt like "Write a brief alt text for this image."

Content indexing

Turn images into text you can search and retrieve.

Moderation support

Get a text description of image content to review or run through downstream checks.

Video frames

Pull key frames as images, then caption each one for scene descriptions.

Input & output

input

An image URL (from upload-media or a public URL), an optional prompt, and an optional max_new_tokens.

JSON body

output

The caption (at data.response) and image dimensions (images_meta).

JSON

Guides & tips

Getting images to caption

  • If you already have a public URL (e.g. a CDN or S3 link), pass it as imageUrl.
  • To caption a local file, upload it with upload-media (media_type "image"), then use the returned public URL as imageUrl.

Custom prompts

  • General description: "Describe this image in detail."
  • Alt text: "Write a brief alt text for this image."
  • Object list: "List all objects visible in this image."
  • Scene/mood: "Describe the mood and setting of this scene."

Reading the response

  • The caption is at data.response — note it's response, not caption.
  • Image dimensions are in images_meta, which is always an array (one entry per image).
  • To caption several images at once, send imageUrls instead of imageUrl; you'll get a single caption describing them together.

Specs

Latency
Typically a few seconds; depends on image size and prompt
Async
false
Rate Limit
Per API key
Max Input
JPEG and PNG recommended; large images are resized automatically

Schema

Request body

imageUrlstring

Public URL of one image. Send imageUrl OR imageUrls (one of the two is required).

imageUrlsarray<string>

Public URLs for multi-image captioning. You get one caption that describes all the images together.

promptstring · default: Describe the image(s) in detail.

Instruction for the caption. Default: "Describe the image(s) in detail."

max_new_tokensinteger · default: 512

Maximum length of the caption, in tokens. Default 512.

Response

responsestring

The generated caption. The field name is response, NOT caption.

images_metaarray<object>

One entry per input image, each {width, height}. The field is plural (images_meta).

Pricing

Pay per image captioned.

ServiceUnitPrice
Image Captioningitem2 credits/image

Synchronous — no separate async job cost.

FAQ

Related models