Documentação da API
Envie arquivos de qualquer projeto — bots de Discord, Telegram, WhatsApp, scripts e aplicações — usando uma chave própria.
Como funciona
Cada arquivo enviado é gravado no disco do próprio servidor, sem expiração, e recebe um link público único no formato
/f/{id}. A API é protegida por uma chave secreta gerada no painel do site.
POST /api/upload
Envia um arquivo. Autenticação pela chave no cabeçalho Authorization.
O arquivo deve ser enviado no campo file, como multipart/form-data.
curl -X POST https://seudominio.com/api/upload \
-H "Authorization: Bearer aalt_SUA_CHAVE" \
-F "file=@foto.png"
Resposta 201 (criado com sucesso):
{
"file": {
"id": "f7a1c30e-...",
"name": "foto.png",
"contentType": "image/png",
"sizeBytes": 420000,
"publicUrl": "https://seudominio.com/f/f7a1c30e-..."
}
}
Se a chave estiver ausente ou errada, a resposta será 401.
Arquivos acima de 500 MB são rejeitados com 400.
Usando em bots
Qualquer linguagem que faça requisições HTTP pode usar a API. Exemplo em JavaScript (Node.js):
import fs from "node:fs";
const form = new FormData();
form.set("file", new Blob([fs.readFileSync("./foto.png")]), "foto.png");
const res = await fetch("https://seudominio.com/api/upload", {
method: "POST",
headers: { Authorization: "Bearer aalt_SUA_CHAVE" },
body: form,
});
const data = await res.json();
console.log(data.file.publicUrl);
Em Python:
import requests
with open("foto.png", "rb") as f:
res = requests.post(
"https://seudominio.com/api/upload",
headers={"Authorization": "Bearer aalt_SUA_CHAVE"},
files={"file": ("foto.png", f)},
)
print(res.json()["file"]["publicUrl"])
Gerenciando a chave
A chave é gerada no painel do site, na seção API externa. Ela é exibida apenas uma vez — anote-a. A rota abaixo (autenticada pelo painel) informa se existe uma chave ativa:
GET /api/keys/me
Responde {"exists": true, "prefix": "aalt_..."} quando há uma chave ativa.
POST /api/keys
Gera uma nova chave, retornando o segredo completo uma única vez.
POST /api/keys/revoke
Revoga a chave atual. As integrações pararão de funcionar imediatamente.
Acessando arquivos
Todo arquivo publicado fica acessível em /f/{id} sem autenticação, para sempre,
até ser excluído pelo painel. Imagens e vídeos abrem direto no navegador; outros tipos são baixados.
Referência rápida
| Recurso | Método | Autenticação | O que faz |
|---|---|---|---|
/api/upload | POST | Chave Bearer | Envia um arquivo (máx. 500 MB) |
/f/{id} | GET | Pública | Serve o arquivo hospedado |
/api/keys/me | GET | Painel (cookie) | Verifica chave ativa |
/api/keys | POST | Painel (cookie) | Gera nova chave |
/api/keys/revoke | POST | Painel (cookie) | Revoga a chave |
As variáveis de ambiente AA_PORT, AA_PUBLIC_URL, AA_MAX_BYTES,
AA_USER e AA_PASS configuram o servidor. Veja o README.md do pacote.