Deploy an HTML page to the internet and return a public URL. Use when the user asks to deploy, host, share, or publish an HTML file or a zip / tar / tar.gz / tgz archive containing an index.html. Triggers on phrases like "deploy this page", "host this online", "share this HTML", "upload to web", "ge
文档
Drop Files
试用Upload generated HTML/Markdown files to DropFiles and get a shareable public link. Invoke when the user wants to share, publish, or generate a public link for any HTML or Markdown content they produced.
它能做什么
Upload generated HTML/Markdown files to DropFiles and get a shareable public link. Invoke when the user wants to share, publish, or generate a public link for any HTML or Markdown content they produced.
技能文档
DropFiles
Upload generated HTML or Markdown content to the DropFiles service and return a public shareable link. The service is free, globally accessible, and hosted on Cloudflare's edge network.
When to Invoke
Invoke this skill when the user wants to:
- Share generated HTML or Markdown content via a public link
- Publish a document, report, or page and get a URL to distribute
- Upload any text-based artifact (HTML/Markdown) for online viewing
- Generate a shareable preview link for content the agent just produced
API Endpoint
- Base URL:
https://dropfiles.tokendealhub.com - Upload:
POST /api/v1/upload - Metadata:
GET /api/v1/info/{id} - Preview:
https://dropfiles.tokendealhub.com/v/{id}
Upload Request
IMPORTANT: Always use curl to send the upload request. The API is behind Cloudflare WAF which may block requests from other HTTP clients (e.g. Python urllib, Node fetch) with HTTP 403 (error code 1010). curl is the only reliably working client.
Send a POST request to https://dropfiles.tokendealhub.com/api/v1/upload with Content-Type: application/json.
Handling Large Content
When the content to upload is large (e.g. over 2KB) or contains special characters (quotes, backslashes, HTML tags, etc.), do NOT inline the content in a shell command. Instead, write the JSON payload to a temporary file first, then use curl -d @file:
# Step 1: Write JSON payload to a temp file (use Python or any method)
python3 -c "
import json
payload = json.dumps({
'content': open('your_file.md').read(),
'type': 'markdown',
'expire': '7d',
'title': 'My Document'
})
with open('/tmp/dropfiles_payload.json', 'w') as f:
f.write(payload)
"
# Step 2: Upload using curl with file reference
curl -X POST https://dropfiles.tokendealhub.com/api/v1/upload \
-H "Content-Type: application/json" \
-d @/tmp/dropfiles_payload.json
# Step 3: Clean up
rm /tmp/dropfiles_payload.json
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
content | string | Yes | The HTML or Markdown text to upload. Max 5MB. |
type | string | No | html, markdown, or auto (default: auto, auto-detects from content). |
expire | string | No | 1h, 1d, 7d, or 30d (default: 7d). |
title | string | No | Optional title shown on the share page. |
password | string | No | Optional password to protect the share page. See Password Policy below. |
lang | string | No | en, zh, or auto (default: auto). |
Example (no password — default)
curl -X POST https://dropfiles.tokendealhub.com/api/v1/upload \
-H "Content-Type: application/json" \
-d '{
"content": "# Hello World\n\nThis is a shared Markdown document.",
"type": "markdown",
"expire": "7d",
"title": "My Document"
}'
Example (with user-supplied password)
curl -X POST https://dropfiles.tokendealhub.com/api/v1/upload \
-H "Content-Type: application/json" \
-d '{
"content": "# Secret Report\n\nConfidential content.",
"type": "markdown",
"expire": "1d",
"password": "user_provided_password"
}'
Example (with skill-generated 6-digit password)
curl -X POST https://dropfiles.tokendealhub.com/api/v1/upload \
-H "Content-Type: application/json" \
-d '{
"content": "# Protected Document\n\nContent here.",
"type": "markdown",
"expire": "7d",
"password": "482917"
}'
Password Policy
The default behavior is no password — the share link is publicly accessible by anyone with the URL.
Password protection is opt-in and supports three modes:
- No password (default): Omit the
passwordfield entirely, or sendnull. The share page is publicly readable. - User-supplied password: If the user explicitly provides a password, pass it in the
passwordfield. The share page will prompt viewers for this password. - Skill-generated 6-digit password: If the user asks for password protection but does not provide a password, the skill MUST generate a random 6-digit numeric code (e.g.
"482917") and include it in thepasswordfield. The generated password must be clearly communicated back to the user so they can share it with intended viewers.
6-Digit Password Generation Rule
- Exactly 6 digits, each 0–9 (e.g.
0-9repeated 6 times, random). - Format: a string of 6 numeric characters, e.g.
"482917". - Do NOT use letters, symbols, or shorter/longer lengths.
- Always display the generated password to the user in the response, e.g.:
Generated password: 482917. The user needs this to share with viewers.
Response
Success (HTTP 201)
{
"success": true,
"data": {
"id": "abc123def456",
"url": "https://dropfiles.tokendealhub.com/v/abc123def456",
"preview_url": "https://dropfiles.tokendealhub.com/v/abc123def456?preview=1",
"expire_at": "2026-07-22T10:30:00.000Z",
"type": "markdown",
"size": 42
}
}
Error (HTTP 400/404/429/500)
{
"success": false,
"error": {
"code": "CONTENT_REQUIRED",
"message": "Content is required"
}
}
Common error codes:
CONTENT_REQUIRED—contentfield is empty.CONTENT_TOO_LARGE— content exceeds 5MB.INVALID_TYPE—typeis not one ofhtml,markdown,auto.INVALID_EXPIRE—expireis not one of1h,1d,7d,30d.RATE_LIMIT_EXCEEDED— too many requests from the same IP.
Workflow
- Confirm the content to upload (HTML or Markdown). If the user just generated a document/page, use that content directly.
- Determine options:
type: useautounless the user specifies. Auto-detection treats content containing `` tags and event handlers are removed.
- Markdown supports standard GitHub-flavored Markdown including code blocks, tables, and images.
- The
preview_urladds?preview=1and is useful when embedding the link in a context that should not inflate the access counter on initial load.
相关技能
Uploads and publishes files or static site folders to OkFile, with direct links, preview URLs, and multipart support. Use when the user asks to upload, publi...
Dropcontact (dropcontact.com). Use this skill for ANY Dropcontact request — reading, creating, and updating data. Whenever a task involves Dropcontact, use this skill instead of calling the API directly.
Host HTML pages and share PDF/Word/PPT
Files.com (files.com). Use this skill for ANY Files.com request — reading, creating, updating, and deleting data. Whenever a task involves Files.com, use this skill instead of calling the API directly.
Use this skill when you need to publish, fetch, search, list, share, or watch AgentFiles artifacts from Codex, Claude Code, OpenClaw, or other agent runtimes...