Nexscope

Product Description Generator

Generate product descriptions from writing instructions and product images. Call the Product Description Generator API via REST or MCP with a Nexscope API key.

CostRecent 10 credits / call
Try online
POST · https://api.nexscope.ai/ai/productDescriptionGeneratorMCP · nexscope_product_description_generator

What this API does

Generate product descriptions from writing instructions and product images. The request accepts operation, prompt, imageUrls, thinkingLevel, model. Its documented result includes completionTokens, content, dataSnapshotMonth, page, pageItemCount, pageSize, promptTokens, sourceTool.

Product Description Generator API use cases

Inspect a candidate product

To inspect a candidate product, a marketplace analyst submits operation and prompt to Product Description Generator. The returned completionTokens, content, dataSnapshotMonth help inspect the documented attributes of the candidate product.

Compare listing details

A marketplace analyst uses Product Description Generator with operation and prompt to compare listing details. The returned completionTokens, content, dataSnapshotMonth help compare product details with another shortlisted listing.

Prepare product evidence for a sourcing review

For this workflow, a marketplace analyst calls Product Description Generator with operation and prompt to prepare product evidence for a sourcing review. The result helps record product facts before a sourcing discussion.

Product Description Generator API FAQ

What does the Product Description Generator API return?

Generate product descriptions from writing instructions and product images. The documented output includes completionTokens, content, dataSnapshotMonth, page, pageItemCount, pageSize, promptTokens, sourceTool. It corresponds to the supplied operation, prompt, imageUrls, thinkingLevel, model. Optional fields can be absent; a missing value should not be interpreted as a measured zero. Example values illustrate the response shape, rather than live account results.

How many credits does the Product Description Generator API cost?

The current documented cost is Recent 10 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 Product Description Generator API from my app or an MCP client?

Send a POST request to https://api.nexscope.ai/ai/productDescriptionGenerator 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_product_description_generator. 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/productDescriptionGenerator
MCP method
nexscope_product_description_generator

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/productDescriptionGenerator

Run an API

Use operation=query with the provider taskId returned by create. Query is sent to the API's /aigc/textTaskQuery endpoint; the system task-result endpoint is not used.

Example request

Replace YOUR_API_KEY, then run this command in your terminal.

curl -X POST 'https://api.nexscope.ai/ai/productDescriptionGenerator' \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "imageUrls": [],
  "model": "GEM_3_FLASH",
  "operation": "create",
  "prompt": "Write a product description for a wireless speaker.",
  "thinkingLevel": "minimal"
}'

Code example

{
  "imageUrls": [],
  "model": "GEM_3_FLASH",
  "operation": "create",
  "prompt": "Write a product description for a wireless speaker.",
  "thinkingLevel": "minimal"
}

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/ AI Content Generation
POSThttps://api.nexscope.ai/ai/productDescriptionGenerator

Run this API

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

Endpoint

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

Request parameters

NameTypeRequiredDescription
operationstringoptional
create (default) or query.
Example: create
promptstringconditional
Product-copy generation instruction; required by create.
Example: Write a product description for a wireless speaker.
imageUrlsarrayoptional
Media URLs used as context. Pass an empty array for text-only generation; use up to 10 images or typically one video.
Example: []
thinkingLevelstringconditional
Reasoning level required by create. GEM_3_1_PRO does not support minimal.
Example: minimal
modelstringoptional
Text-generation model. GEM_3_FLASH is the default.
Example: GEM_3_FLASH
memberIdstringoptional
Optional provider member identifier used by create and query.
Example:
taskIdstringconditional
Provider task ID returned by create; required by operation=query.
Example: 123456789

Response example

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

{
  "code": 0,
  "cost": "-1",
  "data": {
    "completionTokens": 350,
    "content": "Example product description.",
    "costToken": 1,
    "promptTokens": 120,
    "status": "PROCESSING",
    "taskId": "123456789",
    "totalTokens": 470
  },
  "msg": "Generation failed.",
  "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

NameTypeRequiredDescription
dataobjectrequired
Data value used by this API operation.
data.completionTokensintegeroptional
Output token count when the task succeeds.
Example: 350
data.contentstringoptional
Generated product copy when the task succeeds.
Example: Example product description.
data.costTimeintegeroptional
Execution time reported by the upstream provider.
Example: null
data.costTokenintegeroptional
Provider-reported token cost.
Example: 1
data.dataSnapshotMonthstringoptional
Data snapshot month returned by the upstream provider.
Example: null
data.pageintegeroptional
Current page returned by the upstream provider.
Example: null
data.pageItemCountintegeroptional
Item count on the current page returned by the upstream provider.
Example: null
data.pageSizeintegeroptional
Page size returned by the upstream provider.
Example: null
data.promptTokensintegeroptional
Input token count when the task succeeds.
Example: 120
data.sourceToolstringoptional
Provider-specific source tool name.
Example: null
data.sourceTypestringoptional
Provider-specific source platform type.
Example: null
data.statusstringoptional
Task status such as PROCESSING, SUCCESS, or FAILED.
Example: PROCESSING
data.taskIdstringoptional
Asynchronous generation task ID.
Example: 123456789
data.titlestringoptional
Provider-specific response title.
Example: null
data.totalPageintegeroptional
Total page count returned by the upstream provider.
Example: null
data.totalTokensintegeroptional
Total token count when the task succeeds.
Example: 470
data.typestringoptional
Provider-specific render or payload type.
Example: null

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.

Data source, freshness, and limitations

Source, freshness, coverage, rate limits, and estimation notes are not specified in this API definition unless they appear in the request or response field documentation above. Do not assume official marketplace data or real-time freshness when it is not explicitly documented.

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_product_description_generator",
    "arguments": {
      "imageUrls": [],
      "model": "GEM_3_FLASH",
      "operation": "create",
      "prompt": "Write a product description for a wireless speaker.",
      "thinkingLevel": "minimal"
    }
  }
}

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 can Product Description Generator produce, and how might I use it?

AI answer

Product Description Generator creates product-copy text from a writing prompt, with optional image or video context. Use operation=create to start generation and operation=query with the returned task ID to check it. The example combines status: PROCESSING, sample content, and a failure message, so treat it as a shape illustration and rely on the actual task status and result before using the copy. API documentation.

Data categoryDocumented fieldsWhat the values mean
Generated copydata.contentProduct-description text when generation succeeds; this is the usable writing output.
Generation statedata.statusIndicates whether the task has finished successfully before the copy is used.
Input usagedata.promptTokensTokens used for the prompt and supplied context, when reported.
Output usagedata.completionTokens, data.totalTokensTokens in the generated completion and total token usage, when reported.
  • Draft a wireless-speaker description from a prompt listing its verified features.
    • Prompt example: “I am researching products for an online store. Could you draft a wireless-speaker description from a prompt listing its verified features? Show the relevant returned evidence and tell me what input you need from me.”
  • Supply product photos as context and review the completed copy against those photos before adding it to a listing.
    • Prompt example: “I am researching products for an online store. Could you supply product photos as context and review the completed copy against those photos before adding it to a listing? Show the relevant returned evidence and tell me what input you need from me.”
  • Generate alternative copy by changing the prompt's audience or tone, then compare the completed drafts.
    • Prompt example: “I am researching products for an online store. Could you generate alternative copy by changing the prompt's audience or tone, then compare the completed drafts? Show the returned values behind the comparison, and mark missing data.”
  • Use reported token counts to understand how much input and output a generation used.
    • Prompt example: “I am researching products for an online store. Could you use reported token counts to understand how much input and output a generation used? Show the relevant returned evidence and tell me what input you need from me.”

Data Example

Sample request and response

Request parameters

{
  "operation": "query",
  "taskId": "2549906"
}

Response

{
  "code": 0,
  "msg": null,
  "data": {
    "promptTokens": 441,
    "taskId": "2549906",
    "content": "```json\n{\n  \"sufficient\": false,\n  \"steps\": [],\n  \"missingInstructions\": \"Ürün açıklamasında ürünün özellikleri, faydaları ve hangi köpek türleri için uygun olduğu belirtilmiş; ancak ürünün nasıl kullanılacağına dair (örneğin: kullanım sıklığı, temizleme talimatı veya gözetim altında tutulması gibi) herhangi bir uygulama adımı veya kullanım talimatı bulunmamaktadır.\"\n}\n```",
    "completionTokens": 97,
    "status": "SUCCESS",
    "points": 0
  }
}