Nexscope

Image Captioning

Extract descriptive prompts or selling-point text from one or more images. Call it via REST API or MCP, or try it in the online playground.

CostEst. 47–57 credits / call
Try online
POST · https://api.nexscope.ai/ai/imageCaptioningMCP · nexscope_image_captioning
Subscription required. Creative AI APIs are available only to users with an active subscription. Trial credits do not enable API key access. View subscription plans.

What this API does

Extract descriptive prompts or selling-point text from one or more images. The request accepts type, imageUrlList, keyword, provider, refVideoUrl. Generation runs as a task: retain the task ID and retrieve the completed result before using the output.

Image Captioning API use cases

Prepare listing image assets

To prepare listing image assets, a content editor submits type and imageUrlList to Image Captioning. The returned completed generation results help prepare product visuals for a listing review.

Compare a product visual treatment

A content editor uses Image Captioning with type and imageUrlList to compare a product visual treatment. The returned completed generation results help compare the edited treatment with the source asset.

Review edited assets for a campaign

For this workflow, a content editor calls Image Captioning with type and imageUrlList to review edited assets for a campaign. The result helps select an approved asset for the campaign.

Image Captioning API FAQ

What does the Image Captioning API return?

Extract descriptive prompts or selling-point text from one or more images. It corresponds to the supplied type, imageUrlList, keyword, provider, refVideoUrl. The initial response can contain a task ID and status; the completed task result contains the generated output. Example values illustrate the response shape, rather than live account results.

How many credits does the Image Captioning API cost?

The current documented cost is Est. 47–57 credits / call. This is the same cost shown at the top of this page. If a range or estimate is displayed, the final charge depends on the request. Review your available credits and the pricing page before calling the API, and check API usage records for the actual charge.

How do I call the Image Captioning API from my app or an MCP client?

Send a POST request to https://api.nexscope.ai/ai/imageCaptioning with your API key as a Bearer token and the JSON inputs shown in API integration. In a compatible MCP client such as Claude or Cursor, connect Nexscope and call nexscope_image_captioning. Use the MCP arguments shown in the MCP guide, or switch Online test to MCP to review its request before adding it to your app.

View plans and creditsConnect this API with MCP

Try this API
Endpoint
https://api.nexscope.ai/ai/imageCaptioning
MCP method
nexscope_image_captioning

Step 1 of 3 · Authenticate

Authentication

All run endpoints require a user API key. Send it as a bearer token in the Authorization header.

Authorization: Bearer nk-xxxxxxxxxxxxxxxxx
Missing or invalid API keys return an authentication error. Manage keys from .

Step 2 of 3 · Send a request

POSThttps://api.nexscope.ai/ai/imageCaptioning

Run an API

Extract descriptive prompts or selling-point text from one or more images.

Example request

Replace YOUR_API_KEY, then run this command in your terminal.

curl -X POST 'https://api.nexscope.ai/ai/imageCaptioning' \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "imageUrlList": [
    "https://example.com/product.jpg"
  ],
  "keyword": "phone case",
  "provider": "API_PRE_POINT",
  "type": 71
}'

Code example

{
  "imageUrlList": [
    "https://example.com/product.jpg"
  ],
  "keyword": "phone case",
  "provider": "API_PRE_POINT",
  "type": 71
}

Step 3 of 3 · Inspect the result

Check the response

Read code for the request status and data for the result. Open the parameter and response reference for the full field definitions.

HTTP status codes

CodeDescription
200Default HTTP response for both success and many business errors. Only outer JSON code 0 indicates success or asynchronous acceptance; inspect data for the result.
429Execution admission rate limit; honor Retry-After when present.
503Execution admission is temporarily unavailable; honor Retry-After when present.
Opt-inX-Nexscope-Http-Status: semantic maps controller-handled business errors to HTTP status on run and task routes. Pre-authentication failures, such as a missing or invalid API key (code 11209, including an incomplete or corrupted copy) or an expired website login session (code 12001), may still return HTTP 200 before this mapping. Always check the outer JSON code; malformed requests and infrastructure failures may also return non-200 HTTP responses.
All categories/ Multimodal AI
POSThttps://api.nexscope.ai/ai/imageCaptioning

Run this API

Send a JSON request to execute this API and receive the documented response payload.

Endpoint

MethodPOST
Pathhttps://api.nexscope.ai/ai/imageCaptioning
AuthBearer API key
Content-Typeapplication/json

Request parameters

NameTypeRequiredDescription
typeintegerrequired
Analysis type.
Available options
  • 5 (similar-image prompt)
  • 13 (scene prompt)
  • 30 (image-to-video analysis)
  • 69 (apparel selling points)
  • 71 (product selling points)
  • 73 (sales-video script)
  • 89 (video-reclone prompt)
Example: 71
imageUrlListarrayrequired
Public image URLs used for analysis. Provide no more than 6 images for modes that accept multiple images.
Example: [ "https://example.com/product.jpg" ]
keywordstringoptional
Optional keyword context.
Example: phone case
providerstringoptional
Analysis provider.
Available options
  • API_PRE_POINT (default)
  • API_LAYOUT_DESC
Example: API_PRE_POINT
refVideoUrlstringconditional
Reference video URL. Required when type is 89.
Example: https://example.com/reference-video.mp4
saleCountrystringoptional
Target sale country code.
Example: US
targetLanguagestringoptional
Target language for generated text. Used by video-reclone analysis.
Example: English
durationintegeroptional
Target duration in seconds. Used by video-reclone analysis.
Example: 15

Response example

Platform response envelope. code 0 indicates success or acceptance; data contains the business result.

{
  "code": 0,
  "cost": "-1",
  "data": {
    "result": null,
    "status": "PENDING",
    "taskId": "example-task"
  },
  "msg": null,
  "time": "2026-01-01 00:00:00",
  "traceId": null,
  "ts": "0"
}

Response fields

NameTypeRequiredDescription
codeintegerrequired
0 means accepted or successful; nonzero is a platform error.
coststringrequired
Elapsed milliseconds, never credits; -1 outside web requests.
dataanyrequired
Data value used by this API operation.
msgstring | nullrequired
Msg value used by this API operation.
timestringrequired
Server local time: yyyy-MM-dd HH:mm:ss.
traceIdstring | nullrequired
Trace id value used by this API operation.
tsstringrequired
Epoch milliseconds.

Any of option 1 — requires taskId, status, result

NameTypeRequiredDescription
dataobjectrequired
Data value used by this API operation.
data.resultanyrequired
Result value used by this API operation.
data.statusstringrequired
Status value used by this API operation.
Allowed: PENDING, RUNNING, SUCCEEDED, FAILED, TIMEOUT
data.taskIdstringrequired
Task id value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.resultobjectrequired
Completed generation output retained from the task result. Fields vary by capability; generated resources use Nexscope-hosted URLs and any count represents charged Nexscope credits. This is the business output, not a task creation receipt.

Any of option 2

NameTypeRequiredDescription
data.resultnullrequired
Result value used by this API operation.

Any of option 2

NameTypeRequiredDescription
datanullrequired
Data value used by this API operation.

Responses

CodeDescription
200Default HTTP response for both success and many business errors. Only outer JSON code 0 indicates success or asynchronous acceptance; inspect data for the result.
429Execution admission rate limit; honor Retry-After when present.
503Execution admission is temporarily unavailable; honor Retry-After when present.
Opt-inX-Nexscope-Http-Status: semantic maps controller-handled business errors to HTTP status on run and task routes. Pre-authentication failures, such as a missing or invalid API key (code 11209, including an incomplete or corrupted copy) or an expired website login session (code 12001), may still return HTTP 200 before this mapping. Always check the outer JSON code; malformed requests and infrastructure failures may also return non-200 HTTP responses.

Step 1 of 2 · Connect your MCP client

MCP

V2 recommended

Connect remote agents through the standard MCP 2025-11-25 Streamable HTTP endpoint. Use OAuth 2.1 Authorization Code with PKCE, or an API key for compatibility.

POST https://api.nexscope.ai/mcp
MCP-Protocol-Version: 2025-11-25
Content-Type: application/json
Authentication

OAuth clients request the mcp:tools scope. The endpoint's 401 response advertises protected-resource metadata for authorization discovery.

Step 2 of 2 · Call the tool

Call a tool

{
  "jsonrpc": "2.0",
  "id": "tool-call-1",
  "method": "tools/call",
  "params": {
    "name": "nexscope_image_captioning",
    "arguments": {
      "imageUrlList": [
        "https://example.com/product.jpg"
      ],
      "keyword": "phone case",
      "provider": "API_PRE_POINT",
      "type": 71
    }
  }
}

Legacy MCP v1

Existing API-key clients can continue using the compatibility endpoint. New integrations should use MCP v2.

GET / POST /mcp/legacy

What can you do with this API?

Data explained and practical use cases

AI Guide

Question

What useful text can Image Captioning generate from images, and how might I use it?

AI answer

This API starts an image analysis task whose text output depends on type. Documented modes include scene prompts, similar-image prompts, apparel or product selling points, and sales-video scripts. The supplied response shows only a pending task, so the structure and wording of the completed text are not evidenced.

Data categoryDocumented fieldWhat it means
Task referencedata.taskIdIdentifies the analysis task to check later.
Progressdata.statusShows the task state; the example shows PENDING.
Analysis resultdata.resultIs null in the example. No completed caption, selling-point, or script fields are documented.
  • Use type: 13 to seek a scene prompt based on a reference image for a later creative brief.
    • Prompt example: “I will provide the required reference-image URL. Use type 13 to request a scene prompt for a kitchenware creative brief. Show the task ID and current status first, then show the text only if the task finishes with a result.”
  • Use type: 69 to draft apparel selling points from garment images for editorial review.
    • Prompt example: “I will provide the required garment-image URLs. Use type 69 to draft selling points for a jacket listing; show the task ID while pending and the returned text after completion for editorial review.”
  • Use type: 71 with a product image and optional keyword to draft product selling points.
    • Prompt example: “I will provide the required water-bottle image URL. Use type 71 with the keyword “leakproof” to request selling points. When the task completes, show its returned text and do not present draft claims as verified facts.”
  • Use type: 73 to develop a sales-video script concept from supplied images.
    • Prompt example: “I will provide the required product-image URLs. Use type 73 to request a sales-video script concept for a travel mug; report the task status and show the script only if a completed result is returned.”
  • Use type: 89 with refVideoUrl to request a video-reclone prompt informed by a reference video.
    • Prompt example: “I will provide a reference-video URL. Use type 89 with refVideoUrl to request a video-reclone prompt; report the task ID, wait for completion, and show only the text actually returned.”

Related APIs