ImgKits MCP
ImgKits MCP: translate, blind watermark, audio, PDF→MD→translate, text utils, colorize.
我该使用它吗
质量与安全性
发现(4)
- HIGH
- MEDIUM在 convert_to_markdown 中
- MEDIUM在 ocr_image 中
- MEDIUM在 extract_tables 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"mcp-imgkits": {
"url": "https://mcp.imgkits.com/mcp"
}
}
}远程端点
https://mcp.imgkits.com/mcpstreamable-http它能做什么
工具清单
工具(21)
🟢convert_to_markdown(files, include_layout_json)
Convert PDF and image files to clean Markdown for RAG, LLM ingestion, and knowledge bases. Optionally include MinerU layout JSON (content list with blocks and bounding boxes). Input: 1-5 public https file URLs, each ≤20 MiB. Supported: pdf, png, jpeg, webp, bmp, tiff. DOCX is not supported in this release. Private, local, and metadata hosts are rejected. Processing is asynchronous upstream; this call polls until done or times out after about 75 seconds. This Worker does not store uploaded files or results. Upstream MinerU task data is temporary (≤24h). Billing: charged before the MinerU job is created (default 1 credit per tool call). No automatic refunds. Powered by MinerU (opendatalab/MinerU). License: https://github.com/opendatalab/MinerU/blob/master/LICENSE.md
输入模式
{
"type": "object",
"properties": {
"files": {
"type": "array",
"minItems": 1,
"maxItems": 5,
"items": {
"type": "string",
"format": "uri",
"description": "Public https URL pointing directly to a supported PDF or image file."
},
"description": "1-5 public https file URLs."
},
"include_layout_json": {
"type": "boolean",
"default": false,
"description": "When true, also return MinerU layout JSON (content_list) for each file."
}
},
"required": [
"files"
],
"additionalProperties": false
}🟢ocr_image(files)
Extract text from images, screenshots, and scanned PDF pages. Returns text blocks with block-level bounding boxes [x0, y0, x1, y1] and page indexes. Coordinates are MinerU content-list coordinates, not character-level boxes and not rescaled to pixels. Input: 1-5 public https file URLs, each ≤20 MiB. Supported: pdf, png, jpeg, webp, bmp, tiff. DOCX is not supported in this release. Private, local, and metadata hosts are rejected. Tables inside an image are returned as positioned table_cell blocks. Processing is asynchronous and this call polls until done or times out after about 75 seconds. This Worker does not store uploaded files or results. Upstream MinerU task data is temporary (≤24h). Billing: charged before the MinerU job is created (default 1 credit per tool call). No automatic refunds. Powered by MinerU (opendatalab/MinerU). License: https://github.com/opendatalab/MinerU/blob/master/LICENSE.md
输入模式
{
"type": "object",
"properties": {
"files": {
"type": "array",
"minItems": 1,
"maxItems": 5,
"items": {
"type": "string",
"format": "uri",
"description": "Public https URL pointing directly to a supported PDF or image file."
},
"description": "1-5 public https file URLs."
}
},
"required": [
"files"
],
"additionalProperties": false
}🟢extract_tables(files)
Extract tables from PDFs and images as HTML plus a row/column matrix. Merged cells are expanded; only the top-left cell carries content and other covered cells are empty strings. Returns row_count, column_count, page_idx, and bbox for each table. Input: 1-5 public https file URLs, each ≤20 MiB. Supported: pdf, png, jpeg, webp, bmp, tiff. DOCX is not supported in this release. Private, local, and metadata hosts are rejected. Table structure is model-recognized, so complex, borderless, or handwritten tables may contain errors. Processing is asynchronous and this call polls until done or times out after about 75 seconds. This Worker does not store uploaded files or results. Upstream MinerU task data is temporary (≤24h). Billing: charged before the MinerU job is created (default 1 credit per tool call). No automatic refunds. Powered by MinerU (opendatalab/MinerU). License: https://github.com/opendatalab/MinerU/blob/master/LICENSE.md
输入模式
{
"type": "object",
"properties": {
"files": {
"type": "array",
"minItems": 1,
"maxItems": 5,
"items": {
"type": "string",
"format": "uri",
"description": "Public https URL pointing directly to a supported PDF or image file."
},
"description": "1-5 public https file URLs."
}
},
"required": [
"files"
],
"additionalProperties": false
}⚪translate_text(text, texts, from, to, idempotency_key)
Translate up to 50,000 characters of plain text (up to 50 strings). Long inputs are split into <=1,900-character chunks automatically. Synchronous. Cost: 1 credit per call; mcp-credit-gateway charges before forwarding the request. Requires Authorization: Bearer sk_live_... on the MCP endpoint.
输入模式
{
"type": "object",
"properties": {
"text": {
"description": "A single string to translate. Provide this or `texts`, not both.",
"type": "string",
"minLength": 1,
"maxLength": 50000
},
"texts": {
"description": "Up to 50 strings to translate in one call. Total length must be <= 50,000 characters.",
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 50000
}
},
"from": {
"default": "auto",
"description": "Source language code or English name. Defaults to 'auto'.",
"type": "string",
"minLength": 1,
"maxLength": 32
},
"to": {
"type": "string",
"minLength": 1,
"maxLength": 32,
"description": "Target language code or English name, e.g. en, zh, cht, ja, ko, fr, de, es."
},
"idempotency_key": {
"description": "Optional per-job key for upstream job isolation. Billing is handled by mcp-credit-gateway.",
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"required": [
"to"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢translate_document(doc_url, from, to, file_name, wait_seconds, ...)
Translate a document from a public URL. Supported formats include PDF, DOCX/DOC, XLSX/XLS, PPTX/PPT, EPUB, TXT, HTML, MD and CSV. Upstream size limits: PDF <= 30 MB, other formats <= 80 MB. This is an async job: the call waits up to wait_seconds (default 30, max 120) and returns a job_id if still running. Call again with the same job_id to poll; polling does not start a new translation job. Upstream deletes temporary/original files after processing and result URLs expire (about 24 hours), so download promptly. Cost: 5 credits per new job, charged by mcp-credit-gateway before forwarding the request.
输入模式
{
"type": "object",
"properties": {
"doc_url": {
"description": "Publicly reachable document URL (signed URLs are fine). Supported: PDF, DOCX/DOC, XLSX/XLS, PPTX/PPT, EPUB, TXT, HTML, MD, CSV, SRT and more. Upstream size limits: PDF <= 30 MB, other formats <= 80 MB.",
"type": "string",
"maxLength": 2048,
"format": "uri"
},
"from": {
"default": "auto",
"description": "Source language code or name. Defaults to 'auto'.",
"type": "string",
"minLength": 1,
"maxLength": 32
},
"to": {
"description": "Target language code or name, e.g. en, zh, cht, ja, ko, fr, de, es.",
"type": "string",
"minLength": 1,
"maxLength": 32
},
"file_name": {
"description": "Optional original file name, used by the upstream for the output file name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"wait_seconds": {
"default": 30,
"description": "How long to wait for the async job in this call (0-120 seconds, default 30).",
"type": "integer",
"minimum": 0,
"maximum": 120
},
"job_id": {
"description": "Resume polling an existing job. Polling does not create a new upstream job.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"idempotency_key": {
"description": "Optional per-job key for upstream job isolation. Billing is handled by mcp-credit-gateway.",
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢translate_image(image_urls, from, to, paste, font, ...)
Translate text inside 1-10 images supplied as public URLs (JPG/PNG/WebP recommended; keep each image <= 10 MB). This is an async job: the call waits up to wait_seconds (default 30, max 120) and returns a job_id if still running. Call again with the same job_id to poll; polling does not start a new translation job. Upstream result URLs expire (about 24 hours), so download promptly. Cost: 2 credits per new job, charged by mcp-credit-gateway before forwarding the request.
输入模式
{
"type": "object",
"properties": {
"image_urls": {
"description": "1-10 public image URLs (JPG/PNG/WebP recommended). Keep each image <= 10 MB; larger files may be rejected by the upstream downloader.",
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"maxLength": 2048,
"format": "uri"
}
},
"from": {
"default": "auto",
"description": "Source language code or name. Defaults to 'auto'.",
"type": "string",
"minLength": 1,
"maxLength": 32
},
"to": {
"description": "Target language code or name. Required for a new job.",
"type": "string",
"minLength": 1,
"maxLength": 32
},
"paste": {
"default": 1,
"description": "Paste mode: 0 = no text overlay, 1 = whole-image overlay (default), 2 = block overlay.",
"anyOf": [
{
"type": "number",
"const": 0
},
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
}
]
},
"font": {
"default": "noto",
"description": "Overlay font. Defaults to 'noto'.",
"type": "string",
"enum": [
"noto",
"wildwords",
"komikajam",
"bangers",
"edo",
"ridibatang",
"bushidoo",
"hayah",
"itim",
"mogulirina"
]
},
"wait_seconds": {
"default": 30,
"description": "How long to wait for the async job in this call (0-120 seconds, default 30).",
"type": "integer",
"minimum": 0,
"maximum": 120
},
"job_id": {
"description": "Resume polling an existing job. Polling does not create a new upstream job.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"idempotency_key": {
"description": "Optional per-job key for upstream job isolation. Billing is handled by mcp-credit-gateway.",
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪translate_subtitle(subtitle_content, format, from, to, idempotency_key)
Translate SRT, WebVTT or ASS/SSA subtitle content (up to 1,000,000 characters). Timestamps, cue order, SRT/VTT indices and ASS event fields are preserved exactly; only cue text is translated. Synchronous. Cost: 3 credits per call, charged by mcp-credit-gateway before forwarding the request.
输入模式
{
"type": "object",
"properties": {
"subtitle_content": {
"type": "string",
"minLength": 1,
"maxLength": 1000000,
"description": "Raw subtitle text (SRT, WebVTT or ASS/SSA). Up to 1,000,000 characters. Timestamps are preserved exactly."
},
"format": {
"default": "auto",
"description": "Subtitle format. Defaults to auto-detection.",
"type": "string",
"enum": [
"auto",
"srt",
"vtt",
"ass"
]
},
"from": {
"default": "auto",
"description": "Source language code or name. Defaults to 'auto'.",
"type": "string",
"minLength": 1,
"maxLength": 32
},
"to": {
"type": "string",
"minLength": 1,
"maxLength": 32,
"description": "Target language code or name, e.g. en, zh, cht, ja, ko, fr, de, es."
},
"idempotency_key": {
"description": "Optional per-job key for upstream job isolation. Billing is handled by mcp-credit-gateway.",
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"required": [
"subtitle_content",
"to"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢detect_language(text, idempotency_key)
Detect the language of up to 20,000 characters. Uses a local Unicode-script + stopword/diacritic heuristic; no upstream call. Returns a language code, confidence, reliability flag and alternatives. Billing: free by default (COST_DETECT_LANGUAGE=0).
输入模式
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 20000,
"description": "Text to identify. Up to 20,000 characters; longer samples improve accuracy."
},
"idempotency_key": {
"description": "Optional per-job key; relevant when COST_DETECT_LANGUAGE is above 0 (gateway billing).",
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"required": [
"text"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪embed_blind_watermark(source_url, watermark_text, model, strength, idempotency_key)
Embed an invisible/blind watermark into an image supplied as a public URL (JPG/PNG/WebP/BMP, <= 10 MB; at least 64x64 px recommended). Uses the AiController EncodeBlindWatermark / Alibaba Cloud IMM path. Pass `watermark_text` (<= 512 chars, e.g. an order id), or omit it to use the server-held BLIND_WATERMARK_KEY secret; the embedded content is never echoed back. `model` is DWT (default, more robust) or DCT; optional `strength` 1-10. Synchronous. Cost: 2 credits per call, charged by mcp-credit-gateway before forwarding.
输入模式
{
"type": "object",
"properties": {
"source_url": {
"type": "string",
"minLength": 1,
"maxLength": 2048,
"description": "Public http(s) URL of the source image (JPG/PNG/WebP/BMP, <= 10 MB). Recommended at least 64x64 px so the blind watermark survives compression."
},
"watermark_text": {
"description": "Content to embed invisibly (<= 512 chars), e.g. an order id or user id. Omit to use the server-held BLIND_WATERMARK_KEY. The content is never echoed back in the result.",
"type": "string",
"minLength": 1,
"maxLength": 512
},
"model": {
"default": "DWT",
"description": "Blind-watermark algorithm. DWT is more robust to scaling; DCT is faster.",
"type": "string",
"enum": [
"DWT",
"DCT"
]
},
"strength": {
"description": "Optional embedding strength, 1–10. Higher survives more editing but is slightly more visible.",
"type": "integer",
"minimum": 1,
"maximum": 10
},
"idempotency_key": {
"description": "Optional caller correlation key, echoed in the result. Billing is handled by mcp-credit-gateway.",
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"required": [
"source_url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢decode_blind_watermark(source_url, job_id, wait_seconds, idempotency_key)
Read a blind watermark from an image (public http(s) URL). Uses the AiController CreateDecodeBlindWatermarkTask + GetDecodeBlindWatermarkResult async path. Start with `source_url`; the call waits up to `wait_seconds` (default 15, max 60) and returns a `job_id` if still running. Poll by calling again with only `job_id`; polling never creates a new upstream decode task. Returns `content` when readable. Cost: 2 credits per call, charged by mcp-credit-gateway before forwarding.
输入模式
{
"type": "object",
"properties": {
"source_url": {
"description": "Public http(s) URL of the watermarked image. Start a new decode job with this, or poll with `job_id`.",
"type": "string",
"minLength": 1,
"maxLength": 2048
},
"job_id": {
"description": "Existing upstream task id returned by a previous call. Polling never creates a new decode task.",
"type": "string",
"minLength": 1,
"maxLength": 128
},
"wait_seconds": {
"default": 15,
"description": "How long to wait for a result, 0–60 seconds (default 15). On timeout the call returns a job_id to poll.",
"type": "number",
"minimum": 0,
"maximum": 60
},
"idempotency_key": {
"description": "Optional caller correlation key, echoed in the result. Billing is handled by mcp-credit-gateway.",
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡text_to_sound_effect(prompt, duration, steps, job_id, wait_seconds, ...)
Generate a short sound-effect WAV from a text prompt via TangoFlux (async create + result poll). Pass `prompt` (<= 2000 chars) with optional `duration` (default 10s) and `steps` (default 25); the call waits up to `wait_seconds` (default 30, max 55) and returns `job_id` if still running. Poll by calling again with only `job_id`. Returns `audio_url` when done. Cost: 2 credits per call, charged by mcp-credit-gateway before forwarding. Compliance: Use only on material you own or are explicitly licensed/authorized to generate or remix. Do not generate or redistribute copyrighted music, voice likenesses, or trademarked audio without permission. Output URLs have a limited TTL and must not be abused for bulk scraping or redistribution. Calls are rate-limited/metered by mcp-credit-gateway and require a valid sk_live_ key. (仅处理自有或已获授权素材;禁止滥用生成/二创他人受版权保护的音乐或声音;输出有 TTL;调用限频。)
输入模式
{
"type": "object",
"properties": {
"prompt": {
"description": "Text description of the sound effect to generate (<= 2000 chars). Required to start a new job; omit when polling with `job_id` only.",
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"duration": {
"default": 10,
"description": "Target duration in seconds (1–30, default 10).",
"type": "integer",
"minimum": 1,
"maximum": 30
},
"steps": {
"default": 25,
"description": "Sampling steps (10–100, default 25).",
"type": "integer",
"minimum": 10,
"maximum": 100
},
"job_id": {
"description": "Existing TangoFlux job id from a previous call. Polling never creates a new upstream job.",
"type": "string",
"minLength": 1,
"maxLength": 128
},
"wait_seconds": {
"default": 30,
"description": "How long to wait for a result, 0–55 seconds (default 30). On timeout the call returns a job_id to poll.",
"type": "number",
"minimum": 0,
"maximum": 55
},
"idempotency_key": {
"description": "Optional caller correlation key, echoed in the result. Billing is handled by mcp-credit-gateway.",
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡separate_stems(audio_url, job_id, wait_seconds, idempotency_key)
Split a public audio URL into vocals + accompaniment stems via Spleeter 2stems (async create + result poll). Pass `audio_url` (http(s), <= 2048 chars) to start, or `job_id` to poll. Waits up to `wait_seconds` (default 30, max 55). Returns `vocals_url`, `accompaniment_url`, and optional `zip_url` when done. Cost: 3 credits per call, charged by mcp-credit-gateway before forwarding. Compliance / SSRF: only http(s) URLs; Use only on material you own or are explicitly licensed/authorized to generate or remix. Do not generate or redistribute copyrighted music, voice likenesses, or trademarked audio without permission. Output URLs have a limited TTL and must not be abused for bulk scraping or redistribution. Calls are rate-limited/metered by mcp-credit-gateway and require a valid sk_live_ key. (仅处理自有或已获授权素材;禁止滥用生成/二创他人受版权保护的音乐或声音;输出有 TTL;调用限频。)
输入模式
{
"type": "object",
"properties": {
"audio_url": {
"description": "Public http(s) URL of the source audio (<= 2048 chars). Required to start a new job; omit when polling with `job_id` only. Use only tracks you own or are licensed to separate.",
"type": "string",
"minLength": 1,
"maxLength": 2048
},
"job_id": {
"description": "Existing Spleeter job id from a previous call. Polling never creates a new upstream job.",
"type": "string",
"minLength": 1,
"maxLength": 128
},
"wait_seconds": {
"default": 30,
"description": "How long to wait for a result, 0–55 seconds (default 30). On timeout the call returns a job_id to poll.",
"type": "number",
"minimum": 0,
"maximum": 55
},
"idempotency_key": {
"description": "Optional caller correlation key, echoed in the result. Billing is handled by mcp-credit-gateway.",
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡transcribe_audio(audio_url, language, response_format, job_id, wait_seconds, ...)
Transcribe a public audio URL via Faster-Whisper (async create + result poll; no status endpoint). Pass `audio_url` (http(s)) to start or `job_id` to poll. Optional `language`, `response_format` (simple|raw). Empty transcript is still success (no speech detected). Cost: 2 credits per call. Compliance / SSRF: Use only on material you own or are explicitly licensed/authorized to generate or remix. Do not generate or redistribute copyrighted music, voice likenesses, or trademarked audio without permission. Output URLs have a limited TTL and must not be abused for bulk scraping or redistribution. Calls are rate-limited/metered by mcp-credit-gateway and require a valid sk_live_ key. (仅处理自有或已获授权素材;禁止滥用生成/二创他人受版权保护的音乐或声音;输出有 TTL;调用限频。)
输入模式
{
"type": "object",
"properties": {
"audio_url": {
"description": "Public http(s) URL of the audio to transcribe (<= 2048 chars). Required to start a new job; omit when polling with `job_id` only.",
"type": "string",
"minLength": 1,
"maxLength": 2048
},
"language": {
"description": "Optional language code (e.g. `en`, `zh`). Omit for auto-detect.",
"type": "string",
"minLength": 2,
"maxLength": 16
},
"response_format": {
"default": "simple",
"description": "Upstream response format: `simple` (default) or `raw`.",
"type": "string",
"enum": [
"simple",
"raw"
]
},
"job_id": {
"description": "Existing Faster-Whisper job id. Polling never creates a new upstream job.",
"type": "string",
"minLength": 1,
"maxLength": 128
},
"wait_seconds": {
"default": 30,
"description": "How long to wait for a result, 0–55 seconds (default 30).",
"type": "number",
"minimum": 0,
"maximum": 55
},
"idempotency_key": {
"description": "Optional caller correlation key. Billing is handled by mcp-credit-gateway.",
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪generate_subtitles(audio_url, language, format, job_id, wait_seconds, ...)
Transcribe a public audio URL with Faster-Whisper and assemble SRT or VTT in the Worker. Pass `audio_url` to start or `job_id` to poll; `format` is `srt` (default) or `vtt`. Cost: 2 credits per call. Compliance / SSRF: Use only on material you own or are explicitly licensed/authorized to generate or remix. Do not generate or redistribute copyrighted music, voice likenesses, or trademarked audio without permission. Output URLs have a limited TTL and must not be abused for bulk scraping or redistribution. Calls are rate-limited/metered by mcp-credit-gateway and require a valid sk_live_ key. (仅处理自有或已获授权素材;禁止滥用生成/二创他人受版权保护的音乐或声音;输出有 TTL;调用限频。)
输入模式
{
"type": "object",
"properties": {
"audio_url": {
"description": "Public http(s) URL of the audio to subtitle (<= 2048 chars). Required to start a new job; omit when polling with `job_id` only.",
"type": "string",
"minLength": 1,
"maxLength": 2048
},
"language": {
"description": "Optional language code (e.g. `en`, `zh`). Omit for auto-detect.",
"type": "string",
"minLength": 2,
"maxLength": 16
},
"format": {
"default": "srt",
"description": "Subtitle container to build in the Worker after Whisper finishes (`srt` or `vtt`).",
"type": "string",
"enum": [
"srt",
"vtt"
]
},
"job_id": {
"description": "Existing Faster-Whisper job id. Polling never creates a new upstream job.",
"type": "string",
"minLength": 1,
"maxLength": 128
},
"wait_seconds": {
"default": 30,
"description": "How long to wait for a result, 0–55 seconds (default 30).",
"type": "number",
"minimum": 0,
"maximum": 55
},
"idempotency_key": {
"description": "Optional caller correlation key. Billing is handled by mcp-credit-gateway.",
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪text_to_speech(text, refer_audio, refer_audio_text, language, speed, ...)
Synthesize speech from text via Qwen-TTS using a short `refer_audio` sample (http(s) URL). Pass `text` (<= 5000) + `refer_audio` (+ recommended `refer_audio_text`) to start, or `job_id` to poll. voiceId library voices are not exposed this wave. Cost: 2 credits per call. Compliance: Use only on material you own or are explicitly licensed/authorized to generate or remix. Do not generate or redistribute copyrighted music, voice likenesses, or trademarked audio without permission. Output URLs have a limited TTL and must not be abused for bulk scraping or redistribution. Calls are rate-limited/metered by mcp-credit-gateway and require a valid sk_live_ key. (仅处理自有或已获授权素材;禁止滥用生成/二创他人受版权保护的音乐或声音;输出有 TTL;调用限频。)
输入模式
{
"type": "object",
"properties": {
"text": {
"description": "Text to synthesize (<= 5000 chars). Required to start; omit when polling with `job_id` only.",
"type": "string",
"minLength": 1,
"maxLength": 5000
},
"refer_audio": {
"description": "Public http(s) reference voice sample URL (<= 2048 chars). Required with `text` to start (preferred over voiceId). Use a short sample of a voice you own/are authorized to use.",
"type": "string",
"minLength": 1,
"maxLength": 2048
},
"refer_audio_text": {
"description": "Transcript of the reference audio (strongly recommended, <= 2000 chars).",
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"language": {
"description": "Optional language hint (default Auto upstream).",
"type": "string",
"minLength": 1,
"maxLength": 32
},
"speed": {
"description": "Optional speaking speed (0.5–2).",
"type": "number",
"minimum": 0.5,
"maximum": 2
},
"job_id": {
"description": "Existing Qwen-TTS job id. Polling never creates a new upstream job.",
"type": "string",
"minLength": 1,
"maxLength": 128
},
"wait_seconds": {
"default": 30,
"description": "How long to wait for a result, 0–55 seconds (default 30).",
"type": "number",
"minimum": 0,
"maximum": 55
},
"idempotency_key": {
"description": "Optional caller correlation key. Billing is handled by mcp-credit-gateway.",
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪clone_voice_tts(text, clone_audio_url, clone_audio_text, authorization_confirmed, language, ...)
Clone a voice from `clone_audio_url` and speak `text` via Qwen-TTS. Requires `authorization_confirmed=true` (own voice or written authorization). Pass `text` + `clone_audio_url` (+ recommended `clone_audio_text`) to start, or `job_id` to poll. Cost: 3 credits per call. VOICE AUTHORIZATION: Voice cloning is allowed ONLY for your own voice or a voice you have explicit written authorization to clone. Unauthorized cloning of another person's voice is prohibited. Calls are rate-limited/metered. (声音克隆仅限本人音色或已获书面授权的音色;禁止未授权克隆他人声音;调用限频。) Also: Use only on material you own or are explicitly licensed/authorized to generate or remix. Do not generate or redistribute copyrighted music, voice likenesses, or trademarked audio without permission. Output URLs have a limited TTL and must not be abused for bulk scraping or redistribution. Calls are rate-limited/metered by mcp-credit-gateway and require a valid sk_live_ key. (仅处理自有或已获授权素材;禁止滥用生成/二创他人受版权保护的音乐或声音;输出有 TTL;调用限频。)
输入模式
{
"type": "object",
"properties": {
"text": {
"description": "Text to speak in the cloned voice (<= 5000 chars). Required to start; omit when polling with `job_id` only.",
"type": "string",
"minLength": 1,
"maxLength": 5000
},
"clone_audio_url": {
"description": "Public http(s) URL of the voice sample to clone (<= 2048 chars). Must be YOUR own voice or a voice you have explicit written authorization to clone.",
"type": "string",
"minLength": 1,
"maxLength": 2048
},
"clone_audio_text": {
"description": "Transcript of the clone sample (strongly recommended, <= 2000 chars).",
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"authorization_confirmed": {
"description": "Must be true when starting a clone job: confirms the sample is your own voice or you have written authorization.",
"type": "boolean"
},
"language": {
"description": "Optional language hint (default Auto upstream).",
"type": "string",
"minLength": 1,
"maxLength": 32
},
"speed": {
"description": "Optional speaking speed (0.5–2).",
"type": "number",
"minimum": 0.5,
"maximum": 2
},
"job_id": {
"description": "Existing Qwen-TTS job id. Polling never creates a new upstream job.",
"type": "string",
"minLength": 1,
"maxLength": 128
},
"wait_seconds": {
"default": 30,
"description": "How long to wait for a result, 0–55 seconds (default 30).",
"type": "number",
"minimum": 0,
"maximum": 55
},
"idempotency_key": {
"description": "Optional caller correlation key. Billing is handled by mcp-credit-gateway.",
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡pdf_to_markdown_then_translate(file_url, files, target_lang, source_lang, include_source_markdown, ...)
Convert a public PDF URL to Markdown via MinerU, then translate the markdown via the public text API. Pass `file_url` (or `files` with exactly 1 PDF http(s) URL; path must end in .pdf) and required `target_lang`. Optional: `source_lang` (default auto), `include_source_markdown` (default true), `wait_seconds` (default 45, max 55). URL max 2048 chars. Returns `markdown`, `translated_markdown`, `bilingual_markdown`, `task_id`, `target_lang`. Cost: 2 credits per call (MinerU 1 + translate_text 1), charged by mcp-credit-gateway before forwarding. DOCX input is not supported this wave. Compliance: Use only on documents you own or are explicitly licensed/authorized to convert and translate. Do not upload or redistribute copyrighted material without permission. Output markdown is ephemeral and must not be abused for bulk scraping. Calls are rate-limited/metered by mcp-credit-gateway and require a valid sk_live_ key. (仅处理自有或已获授权文档;禁止滥用转换/翻译他人受版权保护材料;调用限频。)
输入模式
{
"type": "object",
"properties": {
"file_url": {
"description": "Public http(s) PDF URL (<= 2048 chars, path must end in .pdf). Provide either `file_url` or a single-element `files` array.",
"type": "string",
"minLength": 1,
"maxLength": 2048
},
"files": {
"description": "Alternative to `file_url`: exactly one public http(s) PDF URL.",
"minItems": 1,
"maxItems": 1,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 2048
}
},
"target_lang": {
"type": "string",
"minLength": 1,
"maxLength": 32,
"description": "Target language code for translation (e.g. `zh`, `en`, `ja`). Required."
},
"source_lang": {
"description": "Optional source language code (default `auto`).",
"type": "string",
"minLength": 1,
"maxLength": 32
},
"include_source_markdown": {
"default": true,
"description": "When true (default), include original MinerU markdown in the result.",
"type": "boolean"
},
"wait_seconds": {
"default": 45,
"description": "How long to wait for MinerU, 0–55 seconds (default 45).",
"type": "number",
"minimum": 0,
"maximum": 55
},
"idempotency_key": {
"description": "Optional caller correlation key. Billing is handled by mcp-credit-gateway.",
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"required": [
"target_lang"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢convert_text_style(text, mode)
Transform text with a pure in-Worker algorithm (no upstream HTTP). Pass required `text` (≤8000 chars) and `mode` one of: morse, binary, old_english, fancy, upper, lower, title, reverse. Modes: morse / binary (mappable chars only; others kept + optional skipped note), old_english (Fraktur Unicode), fancy (Math Sans-Serif Bold Unicode), upper / lower / title / reverse. Returns { text, mode, result }. Cost: 1 credit per call, charged by mcp-credit-gateway before forwarding. Privacy: Text is processed in-memory for this request only and is not stored. Do not send secrets, passwords, or personal data you would not paste into a public tool. Calls are rate-limited/metered by mcp-credit-gateway and require a valid sk_live_ key. (文本仅在本请求内存中处理、不落盘;请勿提交密钥/密码等敏感信息;调用限频。)
输入模式
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 8000
},
"mode": {
"type": "string",
"enum": [
"morse",
"binary",
"old_english",
"fancy",
"upper",
"lower",
"title",
"reverse"
]
}
},
"required": [
"text",
"mode"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢count_text(text)
Count characters, words, lines, and UTF-8 bytes for `text` (≤8000 chars). Latin words + CJK ideographs counted separately; pure algorithm, no upstream. Returns characters, characters_no_whitespace, words, lines, bytes_utf8. Cost: 1 credit per call, charged by mcp-credit-gateway before forwarding. Privacy: Text is processed in-memory for this request only and is not stored. Do not send secrets, passwords, or personal data you would not paste into a public tool. Calls are rate-limited/metered by mcp-credit-gateway and require a valid sk_live_ key. (文本仅在本请求内存中处理、不落盘;请勿提交密钥/密码等敏感信息;调用限频。)
输入模式
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 8000
}
},
"required": [
"text"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡colorize_photo(source_url, idempotency_key)
Colorize a photo from a public URL. POST {img} to ai.imgkits.com/api/deoldify (AiController Shangse). Black-and-white photos work best; a response with a null URL is treated as failure. Synchronous. Cost: 2 credits per call; mcp-credit-gateway charges before forwarding. Requires Authorization: Bearer sk_live_... on tools/call.
输入模式
{
"type": "object",
"properties": {
"source_url": {
"type": "string",
"minLength": 1,
"maxLength": 2048,
"description": "Public http(s) URL of the photo to colorize (JPG/PNG/WebP). Black-and-white photos work best."
},
"idempotency_key": {
"description": "Optional caller correlation key, echoed in the result. Billing is handled by mcp-credit-gateway.",
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"required": [
"source_url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡upscale_image(source_url, scale, face_enhance, bucket, idempotency_key)
Upscale an image from a public URL. POST {img, upscale} to ai.imgkits.com/api/restoration. `scale` is 2 (default) or 4 and is sent as `upscale`. Optional `face_enhance` is sent on the same body. There is no separate enhance_photo or enhance_face tool. Synchronous. Cost: 2 credits per call; mcp-credit-gateway charges before forwarding.
输入模式
{
"type": "object",
"properties": {
"source_url": {
"type": "string",
"minLength": 1,
"maxLength": 2048,
"description": "Public http(s) URL of the image to upscale (JPG/PNG/WebP)."
},
"scale": {
"default": 2,
"description": "Scale factor sent to the restoration upstream as `upscale`. 2 (default) and 4 are the supported factors. Face enhancement is the optional `face_enhance` flag on this same tool; there is no separate enhance tool.",
"anyOf": [
{
"type": "number",
"const": 2
},
{
"type": "number",
"const": 4
}
]
},
"face_enhance": {
"description": "When set, forwarded as `face_enhance` on the restoration body. Omit it to send only `img` and `upscale`.",
"type": "boolean"
},
"bucket": {
"description": "Optional upstream storage bucket. Sent only when set here or via RESTORATION_BUCKET.",
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
},
"idempotency_key": {
"description": "Optional caller correlation key, echoed in the result. Billing is handled by mcp-credit-gateway.",
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"required": [
"source_url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社区
证据