📁 0 arquivos
💾 0 Bytes

Arraste suas imagens aqui

ou clique para selecionar

JPG • PNG • GIF • WebP • SVG

Documentação da API

Referência completa de todos os endpoints disponíveis para integração

🌐 URL Base

Todas as requisições devem ser feitas para a URL base do seu servidor:

URL
http://localhost:3000

🔐 Autenticação

Obrigatório para API

Envie sua chave de API em uma das seguintes formas:

Header X-API-Key: sua-chave-aqui
Bearer Authorization: Bearer sua-chave-aqui
Query ?api_key=sua-chave-aqui
O upload via frontend (esta página) não requer autenticação. A API Key é necessária apenas para chamadas externas (n8n, Postman, etc).

📤 Upload de Imagem (form-data)

POST
POST /api/upload

Envia uma imagem como form-data. Ideal para uploads tradicionais.

Parâmetros

CampoTipoDescrição
image file Arquivo de imagem (JPG, PNG, GIF, WebP, SVG)

Exemplo cURL

bash
curl -X POST http://localhost:3000/api/upload \
  -H "X-API-Key: sua-chave-aqui" \
  -F "image=@/caminho/para/imagem.jpg"

Exemplo JavaScript

javascript
const formData = new FormData();
formData.append('image', fileInput.files[0]);

const response = await fetch('/api/upload', {
  method: 'POST',
  headers: { 'X-API-Key': 'sua-chave-aqui' },
  body: formData
});

const data = await response.json();
console.log(data.data.url); // URL pública da imagem

Resposta de Sucesso

200 OK
{
  "success": true,
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "originalName": "foto.jpg",
    "filename": "550e8400-e29b-41d4-a716-446655440000.jpg",
    "url": "https://seu-dominio.com/uploads/2026/02/550e8400.jpg",
    "size": 245760,
    "mimetype": "image/jpeg",
    "uploadedAt": "2026-02-24T19:30:00.000Z"
  }
}

📦 Upload Base64 (ideal para n8n)

POST
POST /api/upload/base64

Envia uma imagem codificada em base64. Ideal para integração com n8n e automações.

Parâmetros (JSON Body)

CampoTipoDescrição
image string Imagem em base64 (com ou sem prefixo data:image/...)
filename string Nome do arquivo (opcional)
mimetype string Tipo MIME, ex: image/png (opcional)

Exemplo cURL

bash
curl -X POST http://localhost:3000/api/upload/base64 \
  -H "X-API-Key: sua-chave-aqui" \
  -H "Content-Type: application/json" \
  -d '{
    "image": "data:image/png;base64,iVBORw0KGgo...",
    "filename": "captura.png",
    "mimetype": "image/png"
  }'

Exemplo n8n (HTTP Request)

n8n
// Configuração do nó HTTP Request no n8n:
// Method: POST
// URL: http://localhost:3000/api/upload/base64
// Header Auth → Name: X-API-Key | Value: sua-chave
// Body → JSON:
{
  "image": "{{ $binary.data.data }}",
  "filename": "{{ $binary.data.fileName }}",
  "mimetype": "{{ $binary.data.mimeType }}"
}

// A URL pública estará em: {{ $json.data.url }}

📤📤 Upload Múltiplo

POST
POST /api/upload/multiple

Envia até 10 imagens simultaneamente via form-data.

Parâmetros

CampoTipoDescrição
images file[] Até 10 arquivos de imagem

Exemplo cURL

bash
curl -X POST http://localhost:3000/api/upload/multiple \
  -H "X-API-Key: sua-chave-aqui" \
  -F "images=@foto1.jpg" \
  -F "images=@foto2.png" \
  -F "images=@foto3.webp"

📋 Listar Imagens

GET
GET /api/files

Lista todas as imagens com paginação e busca.

Query Params

ParamTipoDescrição
page number Página (padrão: 1)
limit number Itens por página (padrão: 20, máx: 100)
search string Filtrar por nome do arquivo

Exemplo cURL

bash
curl http://localhost:3000/api/files?page=1&limit=10

🗑️ Excluir Imagem

DELETE
DELETE /api/files/:id

Exclui uma imagem pelo seu ID (UUID sem extensão).

Exemplo cURL

bash
curl -X DELETE http://localhost:3000/api/files/550e8400-e29b-41d4-a716-446655440000

📊 Estatísticas

GET
GET /api/stats

Retorna estatísticas de uso do servidor (total de arquivos e espaço utilizado).

💚 Health Check

GET
GET /api/health

Verifica se o servidor está online. Usado pelo Dockerfile para health check automático.

API Playground

Teste os endpoints da API diretamente pelo navegador e gere sua API Key

🔑 Gerador de API Key

Gere uma chave de API segura para usar nas suas integrações. Copie a chave e configure-a como variável de ambiente API_KEY no Easypanel.

🧪 Testar Endpoint