IMPORTANT ASYNCHRONOUS TASK WORKFLOW
- Call this MCP generation tool once and read taskId from structuredContent.
- Do not call generation again while pending or running.
- Query nexscope_media_task_result with this skill slug, the exact taskId, and the same bearer credential using progressive backoff.
Image Generation Models
Nano Banana Image Generation
Generate ecommerce images with the BANANA model.
MCP tool name
nexscope_banana_image_generationMCP endpoint
https://api.nexscope.ai/mcpJSON-RPC method
tools/callAuthentication
Use OAuth 2.1 Authorization Code with PKCE and the mcp:tools scope. API keys remain supported as a compatibility option.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxIf authentication fails, ask the user to open API Access and copy a valid key.
Call this MCP tool
Initialize an MCP 2025-11-25 Streamable HTTP session at https://api.nexscope.ai/mcp, then use tools/call.
{
"jsonrpc": "2.0",
"id": "banana-image-generation-1",
"method": "tools/call",
"params": {
"name": "nexscope_banana_image_generation",
"arguments": {
"aspectRatio": "1:1",
"imageUrls": [],
"outputNum": 1,
"prompt": "Keep the product consistent and generate a clean white-background ecommerce hero image.",
"resolution": "1K"
}
}
}MCP 2025-11-25 Β· Streamable HTTPProgress is delivered on the original POST SSE response. GET SSE carries notifications; reconnecting must query existing asynchronous work rather than submit again.
Asynchronous task workflow
- 1. Create once
Keep the returned taskId.
- 2. Query with backoff
Use nexscope_media_task_result after 5 seconds, then 10, 20, and 30 seconds.
- 3. Use final result
Stop at success, failure, or timeout.
{
"jsonrpc": "2.0",
"id": "banana-image-generation-result-1",
"method": "tools/call",
"params": {
"name": "nexscope_media_task_result",
"arguments": {
"skillSlug": "banana-image-generation",
"taskId": "TASK_ID_FROM_THE_GENERATION_RESULT"
}
}
}Arguments
| Name | Type | Required | Description |
|---|---|---|---|
imageUrls | array | optional | Optional public reference image URLs. Omit this field for text-to-image generation, or provide references for image-to-image generation. When supplied, provide 1 to 10 JPG, PNG, or WEBP images; each image must not exceed 20 MB. Example: [] |
prompt | string | required | Generation prompt describing the target image, scene, composition, style, and constraints. Maximum 5000 characters. Example: Keep the product consistent and generate a clean white-background ecommerce hero image. |
outputNum | integer | optional | Number of images to generate. Valid range: 1 to 10; defaults to 1. Example: 1 |
resolution | string | optional | Output resolution. Supported values: 1K only. Example: 1K |
aspectRatio | string | optional | Output aspect ratio. Available options
Example: 1:1 |
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Description |
|---|---|---|---|
code | integer | required | 0 means accepted or successful; nonzero is a platform error. |
cost | string | required | Elapsed milliseconds, never credits; -1 outside web requests. |
data | any | required | Data value used by this API operation. |
msg | string | null | required | Msg value used by this API operation. |
time | string | required | Server local time: yyyy-MM-dd HH:mm:ss. |
traceId | string | null | required | Trace id value used by this API operation. |
ts | string | required | Epoch milliseconds. |
Any of option 1 β requires taskId, status, result
| Name | Type | Required | Description |
|---|---|---|---|
data | object | required | Data value used by this API operation. |
data.result | any | required | 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. |
data.status | string | required | Status value used by this API operation. Allowed: PENDING, RUNNING, SUCCEEDED, FAILED, TIMEOUT |
data.taskId | string | required | Task id value used by this API operation. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.result | object | required | 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
| Name | Type | Required | Description |
|---|---|---|---|
data.result | null | required | 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
| Name | Type | Required | Description |
|---|---|---|---|
data | null | required | Data value used by this API operation. |
Examples
Example arguments
{
"aspectRatio": "1:1",
"imageUrls": [],
"outputNum": 1,
"prompt": "Keep the product consistent and generate a clean white-background ecommerce hero image.",
"resolution": "1K"
}Example structuredContent
{
"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"
}