https://api.nexscope.ai/api/skill-api/v1/skills/ai-product-marketing-image-set-v4/runRun this API
Send a JSON request to execute this API and receive the direct response payload.
Endpoint
| Method | POST |
| Path | https://api.nexscope.ai/api/skill-api/v1/skills/ai-product-marketing-image-set-v4/run |
| Auth | Bearer API key |
| Content-Type | application/json |
Request body
| Name | Type | Required | Description |
|---|---|---|---|
imageList | array | required | Public product image URLs. Provide no more than 5 JPG, JPEG, PNG, or WEBP images; each image must be at most 10 MB and between 800 and 4096 pixels. Example: [
"https://example.com/product.jpg"
] |
provider | string | optional | Image model. Defaults to BANANA_2. Available options
Example: BANANA_2 |
sellerPoint | string | conditional | Product selling points, up to 2500 characters. Required when isExtractPrePoint is false. Example: Shockproof, slim, clear phone case |
isExtractPrePoint | boolean | optional | Whether to automatically extract selling points. Defaults to false. When false, sellerPoint is required. Example: false |
resolution | string | optional | Target resolution supported by the selected provider. Example: 2K |
aspectRatio | string | optional | Target aspect ratio supported by the selected provider. Example: 1:1 |
noText | boolean | optional | Whether generated images should avoid text. Example: false |
brandKey | string | optional | Optional brand information serialized as a JSON string. Supported keys: brandColor, fontStyle, salesRegion, language, platform, customSettings. Example: {"brandColor":"#0775FA","fontStyle":"sans serif","salesRegion":"North America","language":"English","platform":"Amazon"} |
quality | string | optional | GPT Image quality only. Available options
Example: medium |
sensitiveLibraryId | integer | optional | Optional sensitive-word library ID used to screen generated copy. Example: 1001 |
replaceLibraryId | integer | optional | Optional replacement-word library ID used to rewrite generated copy. Example: 1002 |
aPlusNum | integer | optional | Number of standard A+ images, from 0 to 12. Defaults to 0. Example: 0 |
aPlusProNum | integer | optional | Number of premium A+ images, from 0 to 12. Defaults to 0. Example: 0 |
aPlusHasPhone | boolean | optional | Whether A+ output includes phone display layouts. Example: false |
aPlusAspectRatio | string | optional | Premium A+ aspect ratio. Available options
Example: 1:1 |
sellerTypeNum | integer | optional | Number of selling-point images, from 0 to 12. Defaults to 0. Example: 0 |
sceneTypeNum | integer | optional | Number of scene images, from 0 to 12. Defaults to 0. Example: 0 |
closeUpTypeNum | integer | optional | Number of close-up images, from 0 to 12. Defaults to 0. Example: 0 |
closeUpWhiteTypeNum | integer | optional | Number of white-background close-up images, from 0 to 12. Defaults to 0. Example: 0 |
whiteBgTypeNum | integer | optional | Number of white-background images, from 0 to 12. Defaults to 0. Example: 0 |
aPlusStyles | array | optional | Optional A+ style entries. Each item may contain a saved style id or a custom prompt. Example: [
{
"id": 1
},
{
"prompt": "clean premium layout"
}
] |
pointStyles | array | optional | Optional selling-point style entries. Each item may contain a saved style id or a custom prompt. Example: [
{
"id": 2
},
{
"prompt": "minimal feature callouts"
}
] |
Request example
{
"imageList": [
"https://example.com/product.jpg"
],
"provider": "BANANA_2",
"sellerPoint": "Shockproof, slim, clear phone case",
"isExtractPrePoint": false,
"resolution": "2K",
"aspectRatio": "1:1",
"noText": false,
"brandKey": "{\"brandColor\":\"#0775FA\",\"fontStyle\":\"sans serif\",\"salesRegion\":\"North America\",\"language\":\"English\",\"platform\":\"Amazon\"}",
"quality": "medium",
"sensitiveLibraryId": 1001,
"replaceLibraryId": 1002,
"aPlusNum": 0,
"aPlusProNum": 0,
"aPlusHasPhone": false,
"aPlusAspectRatio": "1:1",
"sellerTypeNum": 0,
"sceneTypeNum": 0,
"closeUpTypeNum": 0,
"closeUpWhiteTypeNum": 0,
"whiteBgTypeNum": 0,
"aPlusStyles": [
{
"id": 1
},
{
"prompt": "clean premium layout"
}
],
"pointStyles": [
{
"id": 2
},
{
"prompt": "minimal feature callouts"
}
]
}Response body
Creates a Nexscope asynchronous generation task. Use taskId with the task result endpoint to retrieve the completed output. The completed result replaces generated resource URLs with Nexscope-hosted URLs and replaces provider count with actual Nexscope credits charged.
| Name | Type | Required | Description |
|---|---|---|---|
taskId | string | required | Nexscope asynchronous task id used to query the generation result. Example: 6b3f1c61-1b7d-4a59-8a7d-3b23e4b0c9e2 |
status | string | required | Task status. Initial run returns PENDING; the query endpoint may return PENDING, RUNNING, SUCCESS, FAILED, or TIMEOUT. Example: PENDING |
message | string | optional | User-facing task state message. Example: The task has been created. Use taskId to query the result. |
errcode | integer | optional | Upstream status code returned by the provider. |
errmsg | string | optional | Upstream status message returned by the provider. |
code | string | optional | Provider-specific status code. |
msg | string | optional | Provider-specific status message. |
type | string | optional | Provider-specific render or payload type. |
title | string | optional | Provider-specific response title. |
sourceType | string | optional | Provider-specific source platform type. |
sourceTool | string | optional | Provider-specific source tool name. |
costToken | integer | optional | Token cost reported by the upstream provider. |
costTime | integer | optional | Execution time reported by the upstream provider. |
page | integer | optional | Current page returned by the upstream provider. |
pageSize | integer | optional | Page size returned by the upstream provider. |
pageItemCount | integer | optional | Item count on the current page returned by the upstream provider. |
totalPage | integer | optional | Total page count returned by the upstream provider. |
dataSnapshotMonth | string | optional | Data snapshot month returned by the upstream provider. |
Response example
Direct response payload. No extra wrapper is added.
{
"taskId": "6b3f1c61-1b7d-4a59-8a7d-3b23e4b0c9e2",
"status": "PENDING",
"message": "The task has been created. Use taskId to query the result."
}Responses
| Code | Description |
|---|---|
| 200 | API executed successfully. Body is the direct response payload. |
| 400 | Request JSON or required API parameters are invalid. |
| 401 | API key is missing, invalid, or cannot be matched to a user. |
| 5xx | API execution or upstream service failed. |
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.