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

# Carregar arquivos para o CDN da plataforma AceDataCloud

> Platform API guide - Ace Data Cloud

Carregue arquivos locais para o CDN da plataforma AceDataCloud, obtenha uma URL publicamente acessível (no estilo `https://cdn.acedata.cloud/xxxxxx.png`), que pode ser imediatamente referenciada em parâmetros como `image_url`, `reference_url` etc. de outras interfaces de negócios (como Midjourney, Suno, Flux).

Cenários aplicáveis:

* Antes de chamar Midjourney `/midjourney/imagine`, primeiro carregue a imagem base para o CDN e obtenha a URL.
* Armazene em cache o vídeo gerado na etapa anterior para usá-lo como entrada da próxima etapa.
* Hospede temporariamente os materiais carregados pelos usuários, evitando construir seu próprio S3.

> ℹ️ Esta interface pertence à **API de gerenciamento da plataforma AceDataCloud**, com o prefixo unificado `https://platform.acedata.cloud/api/v1/`.

## Visão geral da interface

| Item | Conteúdo |
| - | - |
| Método | `POST` |
| URL | `https://platform.acedata.cloud/api/v1/files/` |
| Autenticação | ✅ Requer token de conta |
| Content-Type | `multipart/form-data`（**não é JSON**） |

## Instruções de autenticação (como obter o token de conta)

Cabeçalho da solicitação:

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

Método de obtenção: faça login na [plataforma AceDataCloud](https://platform.acedata.cloud) → [Console do Account Token](https://platform.acedata.cloud/console/platform-tokens) → clique no botão «Criar». Consulte [Gerenciar tokens de conta da plataforma AceDataCloud](https://platform.acedata.cloud/documents/platform-token) para detalhes.

## Corpo da solicitação (multipart/form-data)

| Campo | Tipo | Obrigatório | Descrição |
| - | - | - | - |
| `file` | file | ✅ | Fluxo de arquivo binário. **O limite padrão por arquivo é 100 MB** |

## Exemplos de solicitação

### 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)
```

## Exemplo de resposta (HTTP 200)

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

Basta usar diretamente o campo `file_url` em outras interfaces de negócios — atualmente, a URL do CDN é publicamente acessível e não requer autenticação; não a considere como uma promessa de arquivamento permanente.

## Descrição dos campos de resposta

| Campo | Tipo | Descrição |
| - | - | - |
| `file_url` | string | URL de acesso ao CDN |

## Tratamento de erros

| HTTP | Exemplo de resposta | Significado |
| - | - | - |
| 400 | `{"error":"No file provided"}` | O campo `file` não foi anexado ou o nome do campo está incorreto |
| 401 | Resposta de erro de autenticação DRF | Token de conta ausente ou inválido |
| 413 | `{"error":"File too large","max_bytes":...}` | O arquivo excede 100 MB (padrão) |

## Dicas práticas

* **Carregar imagens como imagem base**: `image_urls` do Midjourney, `image_url` do Flux e `reference_url` do Veo aceitam URLs do CDN, **não** aceitam base64. Primeiro obter uma URL com esta interface é uma operação comum.
* **Não carregue dados sensíveis**: a URL retornada pode ser acessada publicamente; o período de armazenamento está sujeito à política de armazenamento atual da plataforma, para arquivamento de longo prazo use seu próprio armazenamento de objetos.
* **Carregamentos em grande volume**: controle a concorrência e defina um tempo limite para cada carregamento; a taxa de transferência depende do tamanho do arquivo e do ambiente de rede.

## Interfaces relacionadas

* [Obter lista de serviços da plataforma AceDataCloud](https://platform.acedata.cloud/documents/platform-service-list) — encontre serviços de negócios que aceitam entrada por URL
* [Criar credenciais de API da plataforma AceDataCloud](https://platform.acedata.cloud/documents/platform-credential-create) — após o carregamento, geralmente o próximo passo é criar credenciais para chamar interfaces de negócios


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