IMPORTANT ASYNCHRONOUS TASK WORKFLOW
- Call this MCP generation tool once and read taskId from structuredContent.
- Do not call the generation tool again while the task is PENDING or RUNNING.
- Wait at least 5 seconds, then call nexscope_media_task_result with skillSlug set to ai-native-video-generation-api, 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.
- 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.
- Never invent a taskId and never expose internal provider names or provider resource URLs.
Multimodal AI
AI Native Video Generation API MCP Tool
Generate a native AI video from a prompt and image or video references. The request creates an asynchronous task and immediately returns a taskId; query the task-result capability to retrieve the completed video. Supported videoType values include SEED, SEED_FAST, SEED_MINI, KLING, MODEL_OMNI, WAN, HAILUO, and HAPPY_HORSE.
nexscope_ai_native_video_generation_apihttps://claw-callback.nexscope.ai/api/skill-api/v1/skills/ai-native-video-generation-api/runtools/callAuthentication
Send the user API key as a bearer token on every MCP JSON-RPC request.
Authorization: Bearer nk_xxxxxxxxxxxxxxxxxIf 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-native-video-generation-api-1",
"method": "tools/call",
"params": {
"name": "nexscope_ai_native_video_generation_api",
"arguments": {
"videoType": "SEED_FAST",
"videoTime": 8,
"prompt": "Keep the product consistent while the camera slowly orbits and highlights material details.",
"imageList": [
"https://example.com/product.jpg",
"https://example.com/ref-2.jpg"
],
"resolution": "720P",
"aspectRatio": "16:9",
"voice": false
}
}
}POST https://claw-callback.nexscope.ai/api/skill-api/v1/skills/ai-native-video-generation-api/runhttps://www.nexscope.ai/mcp-map/ai-native-video-generation-apiAsynchronous task workflow
This capability uses a create-and-query flow. Creating the task and retrieving its final generated resources are two connected requests.
- 1. Create onceCall the MCP tool once and keep the returned
taskId. - 2. Query with backoffCall
nexscope_media_task_resultwith 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. Use final resultStop at a terminal status. Successful results contain Nexscope resource URLs and the actual charged-credit count.
{
"jsonrpc": "2.0",
"id": "ai-native-video-generation-api-result-1",
"method": "tools/call",
"params": {
"name": "nexscope_media_task_result",
"arguments": {
"skillSlug": "ai-native-video-generation-api",
"taskId": "TASK_ID_FROM_THE_GENERATION_RESULT"
}
}
}GET https://claw-callback.nexscope.ai/api/skill-api/v1/skills/ai-native-video-generation-api/tasks/{taskId}Arguments
| Name | Type | Required | Meaning |
|---|---|---|---|
videoType | string | required | Video model type. Supported values: SEED, SEED_FAST, SEED_MINI, KLING, MODEL_OMNI, WAN, HAILUO, HAPPY_HORSE. Example: SEED_FAST |
videoTime | integer | required | Video duration in seconds. Use a duration supported by the selected model, such as 5, 8, 10, or 15. Example: 8 |
prompt | string | required | Video generation prompt. Describe the motion, subject consistency, camera movement, and ecommerce scene. Maximum 2000 characters. Example: Keep the product consistent while the camera slowly orbits and highlights material details. |
resolution | string | required | Output resolution. Examples: 480P, 720P, 768P, 1080P. Valid values depend on the selected videoType. Example: 720P |
imageUrl | string | optional | Public URL of the first-frame image or primary product/outfit image. Required for WAN and HAILUO; supported as one reference input for most other models. Example: https://example.com/source-image.jpg |
imageList | array | optional | Public image reference URLs. Supported by SEED, SEED_FAST, SEED_MINI, KLING, MODEL_OMNI, and HAPPY_HORSE; HAPPY_HORSE requires this field. Example: [
"https://example.com/product.jpg",
"https://example.com/ref-2.jpg"
] |
video | array | optional | Public reference video URLs. Supported by SEED, SEED_FAST, and SEED_MINI; Seedance multimodal requests may use this without imageUrl or imageList. Example: [
"https://example.com/reference-video.mp4"
] |
aspectRatio | string | optional | Target video aspect ratio. Examples: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, adaptive. Required for some multi-image modes. Example: 16:9 |
lastFrameImageUrl | string | optional | Optional public URL of the last-frame image. For KLING, use 1080P; do not combine with voice=true. Example: https://example.com/last-frame.jpg |
voice | boolean | optional | Whether to generate audio when supported. For KLING, voice=true requires 1080P and cannot be combined with lastFrameImageUrl. Example: false |
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Meaning |
|---|---|---|---|
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. Example: {} |
errmsg | string | optional | Upstream status message returned by the provider. Example: {} |
code | string | optional | Provider-specific status code. Example: {} |
msg | string | optional | Provider-specific status message. Example: {} |
type | string | optional | Provider-specific render or payload type. Example: {} |
title | string | optional | Provider-specific response title. Example: {} |
sourceType | string | optional | Provider-specific source platform type. Example: {} |
sourceTool | string | optional | Provider-specific source tool name. Example: {} |
costToken | integer | optional | Token cost reported by the upstream provider. Example: {} |
costTime | integer | optional | Execution time reported by the upstream provider. Example: {} |
page | integer | optional | Current page returned by the upstream provider. Example: {} |
pageSize | integer | optional | Page size returned by the upstream provider. Example: {} |
pageItemCount | integer | optional | Item count on the current page returned by the upstream provider. Example: {} |
totalPage | integer | optional | Total page count returned by the upstream provider. Example: {} |
dataSnapshotMonth | string | optional | Data snapshot month returned by the upstream provider. Example: {} |
Examples
Example arguments
{
"videoType": "SEED_FAST",
"videoTime": 8,
"prompt": "Keep the product consistent while the camera slowly orbits and highlights material details.",
"imageList": [
"https://example.com/product.jpg",
"https://example.com/ref-2.jpg"
],
"resolution": "720P",
"aspectRatio": "16:9",
"voice": false
}Example structuredContent
{
"taskId": "6b3f1c61-1b7d-4a59-8a7d-3b23e4b0c9e2",
"status": "PENDING",
"message": "The task has been created. Use taskId to query the result."
}