@avclabs.ai/media-mcp
Node.js >=18 · MIT License
Video Enhancement
The following MCP Tools are provided:
<>create_taskCreate a video enhancement task (supports URL or local file upload)
Create a video enhancement task (async).
Parameter
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| video_source | string | Yes | - | Video URL or local file path |
| type | string | No | url | Upload type: url / local |
| resolution | string | No | 720p | Target resolution: 480p, 540p, 720p, 1080p, 2k |
Request Example
json
{
"video_source": "https://example.com/video.mp4",
"type": "url",
"resolution": "1080p"
}Response Example
json
{
"success": true,
"task_id": "xxx",
"status": "processing"
}<>get_task_statusQuery task status
Query video enhancement task status. The status field in the return value may be: processing, completed, or failed. If status is processing, you need to wait a few seconds and call this tool again to poll.
Parameter
| Parameter | Type | Required | Description |
|---|---|---|---|
| task_id | string | Yes | Task ID |
Returns:
json
{
"success": true,
"task_id": "xxx",
"status": "completed",
"progress": 100,
"video_url": "https://...",
"message": "任务仍在处理中,请稍后再查询"
}<>enhance_video_syncSynchronously enhance video (block until completion, default 50s truncation)
Synchronously enhance video (block until completion). Only suitable for short videos (estimated processing time < 1 minute). If the task is not completed within 50 seconds, the tool will return early and include task_id. You need to use get_task_status to continue querying.
Parameter
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| video_source | string | Yes | - | Video URL or local file path |
| type | string | No | url | Upload type: url / local |
| resolution | string | No | 720p | Target resolution: 480p, 540p, 720p, 1080p, 2k |
| poll_interval | number | No | 5 | Polling interval (seconds) |
| timeout | number | No | 50 | Synchronous wait timeout (seconds), returns early after exceeding |
Request Example
json
{
"video_source": "https://example.com/video.mp4",
"type": "url",
"resolution": "1080p",
"poll_interval": 5,
"timeout": 50
}Truncated return example (not completed within 50s)
json
{
"success": true,
"status": "processing",
"task_id": "xxx",
"message": "任务仍在处理中(已等待 50 秒)。请使用 get_task_status 工具继续查询此任务状态。",
"note": "此工具对长任务的同步等待已被截断,请切换到 get_task_status 轮询模式。"
}Image Segmentation (SAM3) → sam3_predict
