IMPORTANT ASYNCHRONOUS TASK WORKFLOW

  1. Call this MCP generation tool once and read taskId from structuredContent.
  2. Do not call the generation tool again while the task is PENDING or RUNNING.
  3. Wait at least 5 seconds, then call nexscope_media_task_result with skillSlug set to ai-product-marketing-image-set-api-v4, the exact taskId, and the same bearer API key. While the task remains PENDING or RUNNING, use 5, 10, 20, and 30-second progressive backoff. Never query more often than once every 5 seconds.
  4. Stop querying when the task succeeds or fails. On success, return the final Nexscope resource URLs and the returned count as the actual charged credits.
  5. Never invent a taskId and never expose internal provider names or provider resource URLs.

Multimodal AI

AI Product Marketing Image Set API v4 MCP Tool

Create ecommerce product marketing materials such as selling-point images and A+ style visuals from product images and brief inputs.

MCP tool name
nexscope_ai_product_marketing_image_set_api_v4
Equivalent REST API path
https://claw-callback.nexscope.ai/api/skill-api/v1/skills/ai-product-marketing-image-set-api-v4/run
JSON-RPC method
tools/call

Authentication

Send the user API key as a bearer token on every MCP JSON-RPC request.

Authorization: Bearer nk_xxxxxxxxxxxxxxxxx

If authentication is missing or invalid, ask the user to open API Access and copy a valid key before calling this tool.

Call this MCP tool

Use tools/call with the MCP tool name below. The arguments object should match the table on this page.

{
  "jsonrpc": "2.0",
  "id": "ai-product-marketing-image-set-api-v4-1",
  "method": "tools/call",
  "params": {
    "name": "nexscope_ai_product_marketing_image_set_api_v4",
    "arguments": {
      "imageList": [
        "https://example.com/product.jpg"
      ],
      "provider": "default",
      "sellerPoint": "Shockproof, slim, clear phone case",
      "isExtractPrePoint": true,
      "resolution": "1K",
      "aspectRatio": "1:1",
      "noText": false,
      "brandKey": "brand",
      "quality": "standard",
      "aPlusNum": 1,
      "aPlusProNum": 0,
      "aPlusHasPhone": false,
      "aPlusAspectRatio": "1:1",
      "sellerTypeNum": 1,
      "sceneTypeNum": 1,
      "closeUpTypeNum": 1,
      "closeUpWhiteTypeNum": 0,
      "whiteBgTypeNum": 0,
      "aPlusStyles": [
        "clean"
      ],
      "pointStyles": [
        "minimal"
      ]
    }
  }
}
REST API equivalent
POST https://claw-callback.nexscope.ai/api/skill-api/v1/skills/ai-product-marketing-image-set-api-v4/run
Canonical detail URL
https://www.nexscope.ai/mcp-map/ai-product-marketing-image-set-api-v4

Asynchronous task workflow

This capability uses a create-and-query flow. Creating the task and retrieving its final generated resources are two connected requests.

  1. 1. Create onceCall the MCP tool once and keep the returned taskId.
  2. 2. Query with backoffCall nexscope_media_task_result with this skill slug and task ID. Wait at least 5 seconds first; while pending or running, back off at 5, 10, 20, then 30-second intervals.
  3. 3. Use final resultStop at a terminal status. Successful results contain Nexscope resource URLs and the actual charged-credit count.
MCP task result call
{
  "jsonrpc": "2.0",
  "id": "ai-product-marketing-image-set-api-v4-result-1",
  "method": "tools/call",
  "params": {
    "name": "nexscope_media_task_result",
    "arguments": {
      "skillSlug": "ai-product-marketing-image-set-api-v4",
      "taskId": "TASK_ID_FROM_THE_GENERATION_RESULT"
    }
  }
}
REST fallback
GET https://claw-callback.nexscope.ai/api/skill-api/v1/skills/ai-product-marketing-image-set-api-v4/tasks/{taskId}

Arguments

NameTypeRequiredMeaning
imageListarrayrequired
Public product image URLs.
Example: [ "https://example.com/product.jpg" ]
providerstringrequired
Upstream model provider code.
Example: default
sellerPointstringoptional
Seller points or product highlights when not using automatic extraction.
Example: Shockproof, slim, clear phone case
isExtractPrePointbooleanoptional
Whether to automatically extract selling points.
Example: true
resolutionstringoptional
Target resolution preset.
Example: 1K
aspectRatiostringoptional
Target aspect ratio.
Example: 1:1
noTextbooleanoptional
Whether generated images should avoid text.
Example: false
brandKeystringoptional
Optional brand key.
Example: brand
qualitystringoptional
Target quality preset.
Example: standard
aPlusNumintegeroptional
Number of A+ images.
Example: 1
aPlusProNumintegeroptional
Number of premium A+ images.
Example: 0
aPlusHasPhonebooleanoptional
Whether A+ output includes phone display layouts.
Example: false
aPlusAspectRatiostringoptional
A+ output aspect ratio.
Example: 1:1
sellerTypeNumintegeroptional
Number of selling-point image types.
Example: 1
sceneTypeNumintegeroptional
Number of scene image types.
Example: 1
closeUpTypeNumintegeroptional
Number of close-up image types.
Example: 1
closeUpWhiteTypeNumintegeroptional
Number of white-background close-up types.
Example: 0
whiteBgTypeNumintegeroptional
Number of white-background image types.
Example: 0
aPlusStylesarrayoptional
Optional A+ style codes.
Example: [ "clean" ]
pointStylesarrayoptional
Optional selling-point style codes.
Example: [ "minimal" ]

Response fields

Treat structuredContent as the programmatic API response payload.

NameTypeRequiredMeaning
taskIdstringrequired
Nexscope asynchronous task id used to query the generation result.
Example: 6b3f1c61-1b7d-4a59-8a7d-3b23e4b0c9e2
statusstringrequired
Task status. Initial run returns PENDING; the query endpoint may return PENDING, RUNNING, SUCCESS, FAILED, or TIMEOUT.
Example: PENDING
messagestringoptional
User-facing task state message.
Example: The task has been created. Use taskId to query the result.
errcodeintegeroptional
Upstream status code returned by the provider.
Example: {}
errmsgstringoptional
Upstream status message returned by the provider.
Example: {}
codestringoptional
Provider-specific status code.
Example: {}
msgstringoptional
Provider-specific status message.
Example: {}
typestringoptional
Provider-specific render or payload type.
Example: {}
titlestringoptional
Provider-specific response title.
Example: {}
sourceTypestringoptional
Provider-specific source platform type.
Example: {}
sourceToolstringoptional
Provider-specific source tool name.
Example: {}
costTokenintegeroptional
Token cost reported by the upstream provider.
Example: {}
costTimeintegeroptional
Execution time reported by the upstream provider.
Example: {}
pageintegeroptional
Current page returned by the upstream provider.
Example: {}
pageSizeintegeroptional
Page size returned by the upstream provider.
Example: {}
pageItemCountintegeroptional
Item count on the current page returned by the upstream provider.
Example: {}
totalPageintegeroptional
Total page count returned by the upstream provider.
Example: {}
dataSnapshotMonthstringoptional
Data snapshot month returned by the upstream provider.
Example: {}

Examples

Example arguments

{
  "imageList": [
    "https://example.com/product.jpg"
  ],
  "provider": "default",
  "sellerPoint": "Shockproof, slim, clear phone case",
  "isExtractPrePoint": true,
  "resolution": "1K",
  "aspectRatio": "1:1",
  "noText": false,
  "brandKey": "brand",
  "quality": "standard",
  "aPlusNum": 1,
  "aPlusProNum": 0,
  "aPlusHasPhone": false,
  "aPlusAspectRatio": "1:1",
  "sellerTypeNum": 1,
  "sceneTypeNum": 1,
  "closeUpTypeNum": 1,
  "closeUpWhiteTypeNum": 0,
  "whiteBgTypeNum": 0,
  "aPlusStyles": [
    "clean"
  ],
  "pointStyles": [
    "minimal"
  ]
}

Example structuredContent

{
  "taskId": "6b3f1c61-1b7d-4a59-8a7d-3b23e4b0c9e2",
  "status": "PENDING",
  "message": "The task has been created. Use taskId to query the result."
}