0%

上传文件到 AceDataCloud 平台 CDN

把本地文件上传到 AceDataCloud 平台 CDN,获得一个永久可访问的 URLhttps://cdn.acedata.cloud/xxxxxx.png 风格),可立即在其他业务接口(如 Midjourney、Suno、Flux)的 image_urlreference_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 平台账户令牌

请求体(multipart/form-data)

字段 类型 必填 说明
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']}")
# 直接用于其他业务接口:
# requests.post("https://api.acedata.cloud/midjourney/imagine",
# json={"prompt": "...", "image_urls": [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。

相关接口