Evolink File — File Upload to Cloud
Upload local files (images, audio, video) to Evolink cloud storage and get public URLs. Use these URLs as input for image-to-image (generate_image), image-to-video (generate_video), or audio-driven digital-human generation.
This is the file-upload view of evolink-media. Install the full skill for video, image, and music generation.
Setup
Get your API key at evolink.ai and set EVOLINK_API_KEY.
MCP Tools
| Tool |
Purpose |
upload_file |
Upload a local file and get a public URL |
delete_file |
Delete an uploaded file to free quota |
list_files |
List uploaded files and check storage quota |
Supported Formats
- Images: JPEG, PNG, GIF, WebP (only these 4 types)
- Audio: All formats (
audio/*) — MP3, WAV, FLAC, AAC, OGG, M4A, etc.
- Video: All formats (
video/*) — MP4, MOV, AVI, MKV, WebM, FLV, etc.
One file per request, max 100MB. Uploaded files expire after 72 hours. Quota: 100 files (default) / 500 (VIP).
Parameters
| Parameter |
Type |
Required |
Description |
file_path |
string |
One of three |
Absolute path to a local file (stream upload) |
base64_data |
string |
One of three |
Base64-encoded file data (raw or Data URL format) |
file_url |
string |
One of three |
URL of a remote file (server downloads directly) |
upload_path |
string |
No |
Server-side subdirectory |
file_name |
string |
No |
Custom file name |
Workflow
- Call
upload_file with file_path, base64_data, or file_url
- Get back
file_url and download_url immediately (synchronous)
- Use
file_url as input for generation tools (image_urls, audio input, etc.)
- When quota is full, use
list_files to check and delete_file to free space
Examples
User: "I want to turn this photo into a video"
→ upload_file(file_path: "/path/to/photo.jpg")
→ generate_video(prompt: "animate this photo", image_urls: ["<returned file_url>"])
→ check_task(task_id: "<task_id>")
User: "Use this audio to drive a digital human"
→ upload_file(file_path: "/path/to/speech.mp3")
→ Use the returned file_url as audio input for digital-human generation
1---2name: evolink-file3description: Upload local files (images, audio, video) to Evolink cloud storage for use with AI generation. Get public URLs for image-to-image, image-to-video, and digital-human workflows.4---56# Evolink File — File Upload to Cloud78Upload local files (images, audio, video) to Evolink cloud storage and get public URLs. Use these URLs as input for image-to-image (`generate_image`), image-to-video (`generate_video`), or audio-driven digital-human generation.910> This is the file-upload view of [evolink-media](https://clawhub.ai/EvoLinkAI/evolink-media). Install the full skill for video, image, and music generation.1112## Setup1314Get your API key at [evolink.ai](https://evolink.ai/signup?utm_source=github[evolink.ai](https://evolink.ai/signup?utm_source=github&utm_medium=readme&utm_campaign=evolink-media-mcp)utm_medium=readme[evolink.ai](https://evolink.ai/signup?utm_source=github&utm_medium=readme&utm_campaign=evolink-media-mcp)utm_campaign=evolink-media-mcp) and set `EVOLINK_API_KEY`.1516## MCP Tools1718| Tool | Purpose |19|------|---------|20| `upload_file` | Upload a local file and get a public URL |21| `delete_file` | Delete an uploaded file to free quota |22| `list_files` | List uploaded files and check storage quota |2324## Supported Formats2526- **Images:** JPEG, PNG, GIF, WebP (only these 4 types)27- **Audio:** All formats (`audio/*`) — MP3, WAV, FLAC, AAC, OGG, M4A, etc.28- **Video:** All formats (`video/*`) — MP4, MOV, AVI, MKV, WebM, FLV, etc.2930One file per request, max **100MB**. Uploaded files expire after **72 hours**. Quota: 100 files (default) / 500 (VIP).3132## Parameters3334| Parameter | Type | Required | Description |35|-----------|------|----------|-------------|36| `file_path` | string | One of three | Absolute path to a local file (stream upload) |37| `base64_data` | string | One of three | Base64-encoded file data (raw or Data URL format) |38| `file_url` | string | One of three | URL of a remote file (server downloads directly) |39| `upload_path` | string | No | Server-side subdirectory |40| `file_name` | string | No | Custom file name |4142## Workflow43441. Call `upload_file` with `file_path`, `base64_data`, or `file_url`452. Get back `file_url` and `download_url` immediately (synchronous)463. Use `file_url` as input for generation tools (`image_urls`, audio input, etc.)474. When quota is full, use `list_files` to check and `delete_file` to free space4849## Examples5051```52User: "I want to turn this photo into a video"53→ upload_file(file_path: "/path/to/photo.jpg")54→ generate_video(prompt: "animate this photo", image_urls: ["<returned file_url>"])55→ check_task(task_id: "<task_id>")56```5758```59User: "Use this audio to drive a digital human"60→ upload_file(file_path: "/path/to/speech.mp3")61→ Use the returned file_url as audio input for digital-human generation62```