把本地文件上传到 AceDataCloud 平台 CDN,获得一个永久可访问的 URL(https://cdn.acedata.cloud/xxxxxx.png 风格),可立即在其他业务接口(如 Midjourney、Suno、Flux)的 image_url、reference_url 等参数中引用。
适用场景:
- 在调用 Midjourney
/midjourney/imagine 前先把垫图上传到 CDN 拿到 URL。
- 把上一步生成的视频缓存起来用作下一步的输入。
- 临时托管用户上传的素材,避免自建 S3。
ℹ️ 本接口属于 AceDataCloud 平台管理 API,统一前缀 https://platform.acedata.cloud/api/v1/。
接口概览
| 项 |
内容 |
| 方法 |
POST |
| URL |
https://platform.acedata.cloud/api/v1/files/ |
| 鉴权 |
✅ 需要账户令牌 |
| Content-Type |
multipart/form-data(不是 JSON) |
鉴权说明(如何获取账户令牌)
请求头:
1
|
Authorization: Bearer platform-v1-92eb****629c
|
获取方式:登录 AceDataCloud 平台 → Account Token 控制台 → 点「创建」按钮。详见管理 AceDataCloud 平台账户令牌。
| 字段 |
类型 |
必填 |
说明 |
file |
file |
✅ |
二进制文件流。单文件上限默认 50 MB |
filename |
string |
否 |
自定义文件名;不传则用 multipart 自带的文件名 |
metadata |
string |
否 |
JSON 字符串,挂在文件上的元数据(注意是字符串不是对象,因为 multipart 不支持原生嵌套 JSON) |
请求示例
cURL
1 2 3 4
|
curl -X POST 'https://platform.acedata.cloud/api/v1/files/' \ -H 'accept: application/json' \ -H 'authorization: Bearer platform-v1-92eb****629c' \ -F 'file=@./photo.jpg'
|
Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
import requests
PLATFORM_TOKEN = "platform-v1-92eb****629c"
with open("photo.jpg", "rb") as f: resp = requests.post( "https://platform.acedata.cloud/api/v1/files/", headers={ "accept": "application/json", "authorization": f"Bearer {PLATFORM_TOKEN}", }, files={"file": ("photo.jpg", f, "image/jpeg")}, timeout=60, )
data = resp.json() print(f"✅ 上传成功:{data['url']}")
|
Node.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
const fs = require('fs') const FormData = require('form-data')
const form = new FormData() form.append('file', fs.createReadStream('./photo.jpg'))
const r = await fetch('https://platform.acedata.cloud/api/v1/files/', { method: 'POST', headers: { authorization: 'Bearer platform-v1-92eb****629c', ...form.getHeaders(), }, body: form, }) const data = await r.json() console.log('CDN URL:', data.url)
|
响应示例(HTTP 201)
1 2 3 4 5 6 7 8 9 10
|
{ "id": "f-9c8b7a6d5e4f3a2b1c0d", "user_id": "89518d07-5560-4b05-92c1-667f3ddf6a4b", "filename": "photo.jpg", "size": 184729, "content_type": "image/jpeg", "url": "https://cdn.acedata.cloud/qrd7gw.jpg", "metadata": null, "created_at": "2026-04-26T08:30:00Z" }
|
直接把 url 字段拿去其他业务接口里用就行——CDN 永久公开可访问,无需鉴权。
响应字段说明
| 字段 |
类型 |
说明 |
id |
string |
文件 ID |
user_id |
UUID |
上传者用户 ID |
filename |
string |
文件名 |
size |
integer |
字节数 |
content_type |
string |
MIME 类型 |
url |
string |
CDN 访问 URL |
metadata |
object \ |
null |
自定义元数据(如果上传时传了 metadata 字段) |
created_at |
string |
上传时间 |
错误处理
| HTTP |
code |
含义 |
| 400 |
invalid |
没附 file 字段、字段名不对、metadata 不是合法 JSON 字符串 |
| 401 |
not_authenticated |
缺少账户令牌 |
| 413 |
payload_too_large |
文件超过 50 MB(默认) |
实用提示
- 上传图片做垫图:Midjourney
image_urls、Flux image_url、Veo reference_url 都接受 CDN URL,不接受 base64。先用本接口拿 URL 是常规操作。
url 是永久 URL——目前没有自动清理策略,但敏感数据请勿上传。如有需求请联系客服设短期 TTL。
metadata 字段:multipart/form-data 不支持原生嵌套 JSON,传字符串:”{\"campaign\":\"summer\"}“,平台会反序列化。
- 大批量上传:推荐 2-4 个并发,单连接即可达到 ~10 MB/s。
相关接口