{"components":{"securitySchemes":{"bearerAuth":{"bearerFormat":"API Key","description":"Registered users pass Authorization: Bearer \u003capi_key\u003e.","scheme":"bearer","type":"http"}}},"info":{"description":"Public APIs for person identity recognition, emotion recognition, video parsing, sequence parsing, and human 2D/3D keypoints.","title":"W-Agent API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/mcp":{"post":{"operationId":"mcpJsonRPC","requestBody":{"content":{"application/json":{"schema":{"properties":{"id":{},"jsonrpc":{"example":"2.0","type":"string"},"method":{"example":"tools/list","type":"string"},"params":{"type":"object"}},"required":["jsonrpc","method"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"description":"Invalid request"},"402":{"description":"Payment required for anonymous paid flows"},"409":{"description":"Task is not ready or payment is required"}},"security":[],"summary":"MCP Streamable HTTP JSON-RPC endpoint. Supports initialize, tools/list, and tools/call.","tags":["Agent"]}},"/v1/payment-capabilities":{"get":{"operationId":"getPaymentCapabilities","responses":{"200":{"description":"Success"},"400":{"description":"Invalid request"},"402":{"description":"Payment required for anonymous paid flows"},"409":{"description":"Task is not ready or payment is required"}},"security":[],"summary":"List supported payment capabilities including x402 routes.","tags":["Discovery"]}},"/v1/sequences":{"post":{"operationId":"createSequenceTask","requestBody":{"content":{"application/json":{"schema":{"properties":{"frame_count":{"minimum":1,"type":"integer"}},"required":["frame_count"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"description":"Invalid request"},"402":{"description":"Payment required for anonymous paid flows"},"409":{"description":"Task is not ready or payment is required"}},"security":[{"bearerAuth":[]}],"summary":"Create a sequence parsing task.","tags":["Sequences"]}},"/v1/sequences/{task_id}/frames/{index}":{"put":{"operationId":"uploadSequenceFrame","responses":{"200":{"description":"Success"},"400":{"description":"Invalid request"},"402":{"description":"Payment required for anonymous paid flows"},"409":{"description":"Task is not ready or payment is required"}},"security":[{"bearerAuth":[]}],"summary":"Upload one sequence image frame.","tags":["Sequences"]}},"/v1/sequences/{task_id}/gait-pose":{"post":{"operationId":"getSequenceHumanKeypoints","requestBody":{"content":{"application/json":{"schema":{"properties":{"frames":{"items":{"type":"object"},"type":"array"}},"type":"object"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"description":"Invalid request"},"402":{"description":"Payment required for anonymous paid flows"},"409":{"description":"Task is not ready or payment is required"}},"security":[{"bearerAuth":[]}],"summary":"Run standalone human 2D/3D keypoint extraction for an uploaded sequence.","tags":["Sequences"]}},"/v1/sequences/{task_id}/parse":{"post":{"operationId":"parseSequence","requestBody":{"content":{"application/json":{"schema":{"properties":{"frames":{"items":{"type":"object"},"type":"array"}},"type":"object"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"description":"Invalid request"},"402":{"description":"Payment required for anonymous paid flows"},"409":{"description":"Task is not ready or payment is required"}},"security":[{"bearerAuth":[]}],"summary":"Parse an uploaded tracked person sequence and return identity features, attributes, pose, and emotion outputs.","tags":["Sequences"]}},"/v1/sequences/{task_id}/result":{"get":{"operationId":"getSequenceResult","responses":{"200":{"description":"Success"},"400":{"description":"Invalid request"},"402":{"description":"Payment required for anonymous paid flows"},"409":{"description":"Task is not ready or payment is required"}},"security":[{"bearerAuth":[]}],"summary":"Fetch a stored sequence parsing result.","tags":["Sequences"]}},"/v1/video-uploads/{task_id}":{"put":{"operationId":"uploadVideo","responses":{"200":{"description":"Success"},"400":{"description":"Invalid request"},"402":{"description":"Payment required for anonymous paid flows"},"409":{"description":"Task is not ready or payment is required"}},"security":[],"summary":"Upload the video binary using the upload token returned by createVideoTask.","tags":["Videos"]}},"/v1/videos":{"post":{"operationId":"createVideoTask","requestBody":{"content":{"application/json":{"schema":{"properties":{"content_type":{"type":"string"},"filename":{"type":"string"},"size_bytes":{"minimum":0,"type":"integer"}},"required":["filename"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Success"},"400":{"description":"Invalid request"},"402":{"description":"Payment required for anonymous paid flows"},"409":{"description":"Task is not ready or payment is required"}},"security":[{"bearerAuth":[]}],"summary":"Create a video parsing task.","tags":["Videos"]}},"/v1/videos/{task_id}":{"get":{"operationId":"getVideoStatus","responses":{"200":{"description":"Success"},"400":{"description":"Invalid request"},"402":{"description":"Payment required for anonymous paid flows"},"409":{"description":"Task is not ready or payment is required"}},"security":[{"bearerAuth":[]}],"summary":"Get video task status.","tags":["Videos"]}},"/v1/videos/{task_id}/complete":{"post":{"operationId":"completeVideoUpload","responses":{"200":{"description":"Success"},"400":{"description":"Invalid request"},"402":{"description":"Payment required for anonymous paid flows"},"409":{"description":"Task is not ready or payment is required"}},"security":[{"bearerAuth":[]}],"summary":"Mark video upload complete and allow asynchronous processing.","tags":["Videos"]}},"/v1/videos/{task_id}/result":{"get":{"operationId":"getVideoResult","responses":{"200":{"description":"Success"},"400":{"description":"Invalid request"},"402":{"description":"Payment required for anonymous paid flows"},"409":{"description":"Task is not ready or payment is required"}},"security":[{"bearerAuth":[]}],"summary":"Fetch parsed video results after processing succeeds.","tags":["Videos"]}}},"security":[{"bearerAuth":[]}],"servers":[{"url":"https://www.w-agent.cn/api"}],"x-w-agent":{"agent_markdown_url":"https://www.w-agent.cn/api/.well-known/w-agent.md","anonymous_payment":"Public endpoints may return HTTP 402 with x402 payment_context. Anonymous x402 payment is handled by public HTTP APIs, not by MCP JSON-RPC tools.","mcp_url":"https://www.w-agent.cn/api/mcp","similarity":"Use dot product between same-type gait_feature, face_feature, and reid_feature vectors."}}
