Nexscope

AI Model Swap

Generate model images by combining a source product image with a model head image, optional masks, scene references, and prompt. Available via REST API or MCP.

CostEst. 47–57 credits / call
Try online
POST · https://api.nexscope.ai/ai/modelSwapMCP · nexscope_ai_model_swap
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.
Multimodal AI

What this API does

Generate model images by combining a source product image with a model head image, optional masks, scene references, and prompt. The request accepts imageUrl, modelHeadImageUrl, imageSegUrl, sceneImgUrl, sceneStrength. Generation runs as a task: retain the task ID and retrieve the completed result before using the output.

AI Model Swap API use cases

Investigate AI Model Swap

To investigate ai model swap, a content editor submits imageUrl and modelHeadImageUrl to AI Model Swap. The returned completed generation results help investigate the requested operation.

Collect AI Model Swap evidence

A content editor uses AI Model Swap with imageUrl and modelHeadImageUrl to collect ai model swap evidence. The returned completed generation results help compare evidence for the requested scope.

Review AI Model Swap results

For this workflow, a content editor calls AI Model Swap with imageUrl and modelHeadImageUrl to review ai model swap results. The result helps review the returned facts with the team.

AI Model Swap API FAQ

What does the AI Model Swap API return?

Generate model images by combining a source product image with a model head image, optional masks, scene references, and prompt. It corresponds to the supplied imageUrl, modelHeadImageUrl, imageSegUrl, sceneImgUrl, sceneStrength. 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 AI Model Swap 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 AI Model Swap API from my app or an MCP client?

Send a POST request to https://api.nexscope.ai/ai/modelSwap 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_ai_model_swap. 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/modelSwap
MCP method
nexscope_ai_model_swap

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

Run an API

Generate model images by combining a source product image with a model head image, optional masks, scene references, and prompt guidance.

Example request

Replace YOUR_API_KEY, then run this command in your terminal.

curl -X POST 'https://api.nexscope.ai/ai/modelSwap' \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "customNegPrompt": "blur, distorted hands",
  "customPrompt": "clean ecommerce catalog photo",
  "genOriRes": false,
  "imageSegUrl": "https://example.com/mask.png",
  "imageUrl": "https://example.com/source-image.jpg",
  "modelHeadImageUrl": "https://example.com/model-reference.jpg",
  "modelPrompt": "smile, slim",
  "outputNum": 1,
  "realModel": true,
  "sceneImgUrl": "https://example.com/scene.jpg",
  "sceneStrength": 0.7
}'

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
200HTTP request completed. Check JSON code; only 0 indicates business success or acceptance.
400Request JSON or required API parameters are invalid.
401API key is missing, invalid, or cannot be matched to a user.
5xxAPI execution or upstream service failed.
All categories/ Multimodal AI
POSThttps://api.nexscope.ai/ai/modelSwap

Run this API

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

Endpoint

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

Request parameters

NameTypeRequiredDescription
imageUrlstringrequired
Public URL of the source product or outfit image. The image must be up to 20 MB and between 385 and 8192 pixels in both width and height.
Example: https://example.com/source-image.jpg
modelHeadImageUrlstringrequired
Public URL of the target model head image. The image must be up to 5 MB and between 512 and 2048 pixels in both width and height.
Example: https://example.com/model-reference.jpg
imageSegUrlstringoptional
Optional segmentation mask URL for the source image.
Example: https://example.com/mask.png
sceneImgUrlstringoptional
Optional scene reference image URL. The image must be up to 10 MB and between 768 and 4096 pixels in both width and height.
Example: https://example.com/scene.jpg
sceneStrengthnumberoptional
Scene reference strength from 0 to 1. Defaults to 0.7.
Example: 0.7
modelPromptstringoptional
Comma-separated model appearance terms, such as smile, laugh, sitting, lying, fat, plump, slim, sideways, profile, back, or bald.
Example: smile, slim
customPromptstringoptional
Positive generation prompt, up to 600 characters.
Example: clean ecommerce catalog photo
customNegPromptstringoptional
Negative prompt to avoid unwanted artifacts.
Example: blur, distorted hands
genOriResbooleanoptional
Whether to generate the original resolution. Defaults to false.
Example: false
realModelbooleanoptional
Whether to prefer a realistic model style.
Example: true
outputNumintegeroptional
Number of images to generate, from 1 to 4. Defaults to 1.
Example: 1

Code example

{
  "customNegPrompt": "blur, distorted hands",
  "customPrompt": "clean ecommerce catalog photo",
  "genOriRes": false,
  "imageSegUrl": "https://example.com/mask.png",
  "imageUrl": "https://example.com/source-image.jpg",
  "modelHeadImageUrl": "https://example.com/model-reference.jpg",
  "modelPrompt": "smile, slim",
  "outputNum": 1,
  "realModel": true,
  "sceneImgUrl": "https://example.com/scene.jpg",
  "sceneStrength": 0.7
}

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.
data.usageobjectoptional
Actual credits charged for a completed successful task; omitted when unavailable.
data.usage.chargedCreditsintegerrequired
Charged credits value used by this API operation.
Minimum: 0

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
200HTTP request completed. Check JSON code; only 0 indicates business success or acceptance.
400Request JSON or required API parameters are invalid.
401API key is missing, invalid, or cannot be matched to a user.
5xxAPI 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.

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_ai_model_swap",
    "arguments": {
      "customNegPrompt": "blur, distorted hands",
      "customPrompt": "clean ecommerce catalog photo",
      "genOriRes": false,
      "imageSegUrl": "https://example.com/mask.png",
      "imageUrl": "https://example.com/source-image.jpg",
      "modelHeadImageUrl": "https://example.com/model-reference.jpg",
      "modelPrompt": "smile, slim",
      "outputNum": 1,
      "realModel": true,
      "sceneImgUrl": "https://example.com/scene.jpg",
      "sceneStrength": 0.7
    }
  }
}

Legacy MCP v1

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

GET / POST /mcp/legacy

Online test

Execute the current API with your API key and JSON payload. Online tests use this site's configured API environment; the Endpoint and copyable examples use the public integration address.

Create an image

Source image*Required

Upload the product or outfit image you want to place on a model.

JPG, PNG, WEBP · 1 image · 20 MB · 385–8192 px per side

0/1
Model Reference*Required

Upload the model reference that should guide the generated person.

JPG, PNG, WEBP · 1 image · 5 MB · 512–2048 px per side

0/1
Mask ImageOptional

Optionally upload a mask to control which part of the source image is used.

JPG, PNG, WEBP · 1 image · 20 MB

0/1
Scene ReferenceOptional

Optionally upload a scene reference to guide the background.

JPG, PNG, WEBP · 1 image · 10 MB · 768–4096 px per side

0/1

Image settings

Control how closely the result follows the reference scene.

Describe the model's appearance, pose, and expression. Separate attributes with commas.

Add instructions for the final image. Up to 600 characters.

Describe what you want to avoid in the result.

Keep Original Resolution

Generate the output at the source image's original resolution.

Realistic Style

Generate the model with a more realistic look.

API keys require an active subscription. Trial credits don't include API access. View plans.

Usage estimate unavailable

Final credits are shown with your result.

Preview

Your image will appear here

Recent generations

Saved in this browser for 24 hours

Your generations will appear here.

Test with an API key or MCP

Try it

Send a real request with the same contract shown in the reference.

Endpoint
/ai/modelSwap
Task result endpoint
/ai/modelSwap/tasks/{taskId}
MCP method
nexscope_ai_model_swap
cURL
curl -X POST \
  https://api.nexscope.ai/ai/modelSwap \
  -H "Authorization: Bearer nk-..." \
  -H "Content-Type: application/json" \
  -d '{ "customNegPrompt": "blur, distorted hands", "customPrompt": "clean ecommerce catalog photo", "genOriRes": false, "imageSegUrl": "", "imageUrl": "", "modelHeadImageUrl": "", "modelPrompt": "smile, slim", "outputNum": 1, "realModel": true, "sceneImgUrl": "", "sceneStrength": 0.7 }'
Response
No response yet. Run the request to see the response here.
Task result

Results are checked automatically after Run request. You can also enter a task ID and check it manually; completed resources use Nexscope URLs and show actual charged credits.

Result response
No task result yet. Query the task to see the generated output here.

Related APIs