md2docx - Markdown to Word Converter
Convert Markdown text to professionally formatted Word (DOCX) documents.
Quick Start
Choose the right mode based on your environment:
# URL mode: Returns download URL (for cloud/remote environments) python scripts/convert.py input.md --url # File mode: Saves file directly (for local environments) python scripts/convert.py input.md --file
Choosing the Right Mode
| Scenario | Mode | Command |
|---|---|---|
| Skill runs in cloud, user needs to download | --url | python scripts/convert.py input.md --url |
| Skill runs locally, user wants file saved | --file | python scripts/convert.py input.md --file |
| Remote execution (MCP, API, cloud agent) | --url | Returns URL for user to download |
| Local execution (user's machine) | --file | Saves .docx directly to disk |
Decision Rule:
- •Use
--urlwhen the skill runs in a different environment than the user (cloud, remote server, MCP server) - •Use
--filewhen the skill runs on the same machine where the user wants the output file
How It Works
- •Prepare Markdown: Ensure content is in standard Markdown format
- •Run Script: Execute
scripts/convert.pywith appropriate mode - •Get Result:
- •URL mode: Receive download URL
- •File mode: File saved to specified location
API Details
Endpoints:
- •URL mode:
https://api.deepshare.app/convert-text-to-url→ Returns{"url": "..."} - •File mode:
https://api.deepshare.app/convert-text→ Returns DOCX file directly
Authentication: Include header X-API-Key: {api_key}
API Key Configuration
You can configure the API key in three ways:
- •
Environment Variable (Highest Priority)
bashexport DEEP_SHARE_API_KEY="your_api_key_here"
- •
Skill Variable (Medium Priority) Edit the
api_keyfield in the YAML frontmatter of this Skill file:yaml--- name: md2docx api_key: "your_api_key_here" ---
- •
Trial Key (Fallback):
f4e8fe6f-e39e-486f-b7e7-e037d2ec216f
Priority Order:
- •Environment variable
DEEP_SHARE_API_KEY(if set) - •Skill's
api_keyvariable (if not empty) - •Trial key (limited quota)
⚠️ Trial Mode: Limited quota. For stable production use, purchase at: https://ds.rick216.cn/purchase
Request Format
{
"content": "markdown text here",
"filename": "output",
"template_name": "templates",
"language": "zh",
"hard_line_breaks": false,
"remove_hr": false
}
Parameters
| Parameter | Default | Description |
|---|---|---|
content | required | Markdown text to convert |
filename | "output" | Output filename (without .docx) |
template_name | "templates" | Template: templates, 论文, article, thesis, etc. |
language | "zh" | Template language: zh or en |
hard_line_breaks | false | Preserve single line breaks |
remove_hr | false | Remove horizontal rules |
Common Templates
Chinese (language: "zh"):
- •
templates- General purpose - •
论文- Academic paper - •
论文-首行不缩进- Paper without indent - •
论文-标题加粗- Paper with bold headings
English (language: "en"):
- •
templates- General purpose - •
article- Article/report style - •
thesis- Academic thesis
Conversion Script Usage
Command Line Options
python scripts/convert.py <input.md> [options] Options: --url Return download URL (default if no mode specified) --file Save file directly to disk --template, -t Template name (default: templates) --language, -l Language: zh or en (default: zh) --output, -o Output directory for file mode --api-key, -k API key (optional)
Examples
# URL mode (cloud/remote environments) python scripts/convert.py document.md --url python scripts/convert.py paper.md --url --template 论文 --language zh # File mode (local environments) python scripts/convert.py document.md --file python scripts/convert.py paper.md --file --output ./docs --template thesis --language en # With custom API key python scripts/convert.py doc.md --url --api-key your_key
Validation Before Conversion
Ensure Markdown content:
- •Headers use
#syntax - •Lists use
-or1.syntax - •Code blocks use triple backticks
- •Math formulas use
$...$(inline) or$$...$$(block) - •Images use publicly accessible URLs
Response Handling
URL Mode Response
Success (200 OK):
{
"url": "https://flies.deepshare.app/mcp/hash/document_xxx.docx"
}
File Mode Response
Success: File saved to disk, path printed to stdout
Error Responses (Both Modes)
- •
401 Unauthorized- Invalid API key - •
403 Forbidden- Quota exceeded → Purchase at https://ds.rick216.cn/purchase - •
413 Payload Too Large- Content exceeds 10MB - •
500 Internal Server Error- Service unavailable, retry
User Communication
On Success
Tell user:
- •Conversion completed successfully
- •URL mode: Provide the download URL
- •File mode: Provide the file path where document was saved
- •Check which API key was used:
- •If using environment variable or Skill variable: No reminder needed
- •If using trial key: Remind: "⚠️ You're using trial mode (limited quota). For stable production use, get your API key at: https://ds.rick216.cn/purchase"
On Quota Exceeded
Tell user:
- •Conversion failed: quota exceeded
- •Purchase more credits at: https://ds.rick216.cn/purchase
- •Or use another API key
On Other Errors
Tell user:
- •What went wrong (based on error message)
- •How to fix it
- •Offer to retry
Tips
- •API Key Configuration:
- •Option 1 (Recommended): Set environment variable
DEEP_SHARE_API_KEYbashexport DEEP_SHARE_API_KEY="your_api_key_here"
- •Option 2: Edit
api_keyin this Skill's YAML frontmatter - •Option 3: Use trial key (limited quota)
- •Option 1 (Recommended): Set environment variable
- •File Size: Keep Markdown under 10MB
- •Images: Use
https://URLs, not local paths - •Math: Use LaTeX syntax:
$E=mc^2$or$$\int_0^\infty$$ - •Line Breaks: Use
hard_line_breaks: truefor addresses, poetry - •Templates: Choose based on document type (paper, article, etc.)
Example Workflows
Workflow 1: Cloud Environment (URL Mode)
User asks: "Convert this to Word" (skill running in cloud)
- •
Save the Markdown content to a temporary file (e.g.,
temp.md) - •
Run the conversion script with URL mode:
bashpython scripts/convert.py temp.md --url
- •
The script will:
- •Select API key by priority (env → skill → trial)
- •Call the conversion API
- •Return download URL
- •
Provide the download URL to user
- •
Clean up temporary file
Workflow 2: Local Environment (File Mode)
User asks: "Convert my notes.md to Word" (skill running locally)
- •
Run the conversion script with file mode:
bashpython scripts/convert.py notes.md --file --output ./output
- •
The script will:
- •Select API key by priority (env → skill → trial)
- •Call the conversion API
- •Save the DOCX file directly
- •
Tell user where the file was saved
- •
No cleanup needed - file is the output