文档

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

FieldTypeRequiredDescription
contentstringYesThe HTML or Markdown text to upload. Max 5MB.
typestringNohtml, markdown, or auto (default: auto, auto-detects from content).
expirestringNo1h, 1d, 7d, or 30d (default: 7d).
titlestringNoOptional title shown on the share page.
passwordstringNoOptional password to protect the share page. See Password Policy below.
langstringNoen, 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:

  1. No password (default): Omit the password field entirely, or send null. The share page is publicly readable.
  2. User-supplied password: If the user explicitly provides a password, pass it in the password field. The share page will prompt viewers for this password.
  3. 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 the password field. 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-9 repeated 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_REQUIREDcontent field is empty.
  • CONTENT_TOO_LARGE — content exceeds 5MB.
  • INVALID_TYPEtype is not one of html, markdown, auto.
  • INVALID_EXPIREexpire is not one of 1h, 1d, 7d, 30d.
  • RATE_LIMIT_EXCEEDED — too many requests from the same IP.

Workflow

  1. Confirm the content to upload (HTML or Markdown). If the user just generated a document/page, use that content directly.
  2. Determine options:
    • type: use auto unless 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_url adds ?preview=1 and is useful when embedding the link in a context that should not inflate the access counter on initial load.

相关技能

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

2 次安装

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...

3 次安装

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.

1 次安装

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...

17 次安装