> ## Documentation Index
> Fetch the complete documentation index at: https://docs.acedata.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Завантаження файлів на CDN платформи AceDataCloud

> Platform API guide - Ace Data Cloud

Завантажте локальний файл на CDN платформи AceDataCloud, щоб отримати публічно доступний URL (у форматі `https://cdn.acedata.cloud/xxxxxx.png`), який можна одразу використовувати в таких параметрах, як `image_url`, `reference_url` тощо, інших бізнес-інтерфейсів (наприклад, Midjourney, Suno, Flux).

Сценарії використання:

* Перед викликом Midjourney `/midjourney/imagine` спочатку завантажте референсне зображення на CDN, щоб отримати URL.
* Кешуйте відео, згенероване на попередньому кроці, щоб використати його як вхідні дані для наступного кроку.
* Тимчасово розміщуйте матеріали, завантажені користувачами, щоб уникнути самостійного налаштування S3.

> ℹ️ Цей інтерфейс належить до **API керування платформою AceDataCloud**, з єдиним префіксом `https://platform.acedata.cloud/api/v1/`.

## Огляд інтерфейсу

| Пункт | Вміст |
| - | - |
| Метод | `POST` |
| URL | `https://platform.acedata.cloud/api/v1/files/` |
| Авторизація | ✅ Потрібен токен облікового запису |
| Content-Type | `multipart/form-data`（**не JSON**） |

## Опис авторизації (як отримати токен облікового запису)

Заголовок запиту:

```http theme={null}
Authorization: Bearer ${PLATFORM_TOKEN}
```

Спосіб отримання: увійдіть до [платформи AceDataCloud](https://platform.acedata.cloud) → [консолі Account Token](https://platform.acedata.cloud/console/platform-tokens) → натисніть кнопку «Створити». Докладніше див. [Керування токенами облікового запису платформи AceDataCloud](https://platform.acedata.cloud/documents/platform-token).

## Тіло запиту (multipart/form-data)

| Поле | Тип | Обов’язкове | Опис |
| - | - | - | - |
| `file` | file | ✅ | Потік двійкового файлу. **Максимальний розмір одного файлу за замовчуванням — 100 MB** |

## Приклади запитів

### cURL

```shell theme={null}
curl -X POST 'https://platform.acedata.cloud/api/v1/files/' \
  -H 'accept: application/json' \
  -H "authorization: Bearer ${PLATFORM_TOKEN}" \
  -F 'file=@./photo.jpg'
```

### Python

```python theme={null}
import os
import requests

PLATFORM_TOKEN = os.environ["PLATFORM_TOKEN"]

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['file_url']}")
# 直接用于其他业务接口：
# requests.post("https://api.acedata.cloud/midjourney/imagine",
#     json={"prompt": "...", "image_urls": [data["file_url"]]}, ...)
```

### Node.js

```javascript theme={null}
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 ${process.env.PLATFORM_TOKEN}`,
    ...form.getHeaders(),
  },
  body: form,
})
const data = await r.json()
console.log('CDN URL:', data.file_url)
```

## Приклад відповіді (HTTP 200)

```json theme={null}
{
  "file_url": "https://cdn.acedata.cloud/qrd7gw.jpg"
}
```

Просто використовуйте поле `file_url` в інших бізнес-інтерфейсах — CDN URL наразі є публічно доступним і не потребує авторизації; не вважайте його гарантією постійного архівного зберігання.

## Опис полів відповіді

| Поле | Тип | Опис |
| - | - | - |
| `file_url` | string | URL доступу до CDN |

## Обробка помилок

| HTTP | Приклад відповіді | Значення |
| - | - | - |
| 400 | `{"error":"No file provided"}` | Поле `file` не додано або назва поля неправильна |
| 401 | Відповідь про помилку автентифікації DRF | Відсутній або використано недійсний токен облікового запису |
| 413 | `{"error":"File too large","max_bytes":...}` | Файл перевищує 100 MB（за замовчуванням） |

## Практичні поради

* **Завантаження зображень як референсів**: `image_urls` Midjourney, `image_url` Flux і `reference_url` Veo приймають CDN URL, **не** приймають base64. Спочатку отримати URL за допомогою цього інтерфейсу — стандартна операція.
* **Не завантажуйте конфіденційні дані**: повернений URL є публічно доступним; строк зберігання залежить від поточної політики зберігання платформи, для довгострокового архівування використовуйте власне об’єктне сховище.
* **Масове завантаження**: контролюйте паралельність і встановлюйте тайм-аут для кожного завантаження; пропускна здатність залежить від розміру файлів і мережевого середовища.

## Пов’язані інтерфейси

* [Отримання списку сервісів платформи AceDataCloud](https://platform.acedata.cloud/documents/platform-service-list) — знайдіть бізнес-сервіси, які приймають URL як вхідні дані
* [Створення API-облікових даних платформи AceDataCloud](https://platform.acedata.cloud/documents/platform-credential-create) — після завантаження зазвичай наступним кроком є створення облікових даних для виклику бізнес-інтерфейсів


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.