Sviluppatori · API gratuita
API di hosting immagini gratuita
Carica immagini dalle tue app, dai tuoi bot e dai tuoi script. Una sola richiesta restituisce link diretto, HTML, BBCode e Markdown.
Ottieni una chiave APIAutenticazione
Crea una chiave in Dashboard → Impostazioni → Chiavi API. Inviala con ogni richiesta:
Authorization: Bearer YOUR_API_KEYConserva le chiavi sul tuo server. Chiunque abbia una chiave può caricare ed eliminare immagini dal tuo account.
Caricare un’immagine
POST /api/v1/upload
| Campo | Descrizione |
|---|---|
| image | File immagine (multipart), fino a 4 MB |
| url | In alternativa, URL pubblico dell’immagine da recuperare, fino a 32 MB |
| name | Titolo facoltativo, usato per la pagina dell’immagine |
| expiresIn | Eliminazione automatica facoltativa: 1h (1 ora), 1d (1 giorno), 1w (1 settimana), 1m (1 mese), 6m (6 mesi) |
curl -X POST https://imgsharehub.com/api/v1/upload \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "[email protected]" \
-F "name=Login error"curl -X POST https://imgsharehub.com/api/v1/upload \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/photo.jpg", "expiresIn": "1w"}'import { readFile } from "node:fs/promises";
const form = new FormData();
form.append("image", new Blob([await readFile("photo.jpg")]), "photo.jpg");
const res = await fetch("https://imgsharehub.com/api/v1/upload", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.IMGSHAREHUB_KEY}` },
body: form,
});
const { data } = await res.json();
console.log(data.direct_url);import os, requests
res = requests.post(
"https://imgsharehub.com/api/v1/upload",
headers={"Authorization": f"Bearer {os.environ['IMGSHAREHUB_KEY']}"},
files={"image": open("photo.jpg", "rb")},
)
print(res.json()["data"]["direct_url"])Risposta (201)
{
"success": true,
"data": {
"id": "a1b2c3",
"url": "https://imgsharehub.com/a1b2c3",
"direct_url": "https://imgsharehub.com/i/a1b2c3.webp",
"html": "<a href=\"https://imgsharehub.com/a1b2c3\" target=\"_blank\"><img src=\"https://imgsharehub.com/i/a1b2c3.webp\" alt=\"Image hosted on ImgShareHub\" /></a>",
"bbcode": "[url=https://imgsharehub.com/a1b2c3][img]https://imgsharehub.com/i/a1b2c3.webp[/img][/url]",
"markdown": "[](https://imgsharehub.com/a1b2c3)",
"width": 1920,
"height": 1080,
"size": 284512,
"private": false,
"expires_at": null
}
}Ottenere o eliminare un’immagine
Funziona per le immagini dell’account a cui appartiene la chiave. GET restituisce anche created_at e views.
curl https://imgsharehub.com/api/v1/images/a1b2c3 \
-H "Authorization: Bearer YOUR_API_KEY"curl -X DELETE https://imgsharehub.com/api/v1/images/a1b2c3 \
-H "Authorization: Bearer YOUR_API_KEY"Limiti ed errori
Ogni chiave può caricare 100 immagini all’ora ed effettuare 1.000 altre richieste all’ora. Ogni risposta include gli header X-RateLimit-Limit, X-RateLimit-Remaining e X-RateLimit-Reset. Gli errori restituiscono {"success": false, "error": "..."}.
| Stato | Significato |
|---|---|
| 400 | Immagine mancante, file non supportato, file troppo grande o URL non recuperabile |
| 401 | Chiave API mancante, sconosciuta o revocata |
| 404 | Immagine non trovata, oppure non appartiene all’account della tua chiave |
| 429 | Limite di frequenza raggiunto; controlla l’header X-RateLimit-Reset |
| 500 | Si è verificato un problema da parte nostra; riprova più tardi |
Nessun codice necessario
- Il plugin di caricamento per forum aggiunge un pulsante di caricamento a phpBB, MyBB, SMF e XenForo.
- La configurazione ShareX carica automaticamente ogni screenshot su Windows.
Domande sull’API
L’API di ImgShareHub è gratuita?
Sì. Crea fino a 5 chiavi dalle impostazioni del tuo account. Ogni chiave può caricare 100 immagini all’ora.
Qual è la dimensione massima dei file?
I file inviati direttamente nella richiesta possono pesare fino a 4 MB. Per immagini più grandi, fino a 32 MB, invia un URL pubblico dell’immagine e ImgShareHub la scaricherà.
Dove compaiono le immagini caricate con l’API?
Nella dashboard dell’account a cui appartiene la chiave, insieme alle immagini che carichi sul sito.
Le immagini caricate possono scadere automaticamente?
Sì. Imposta expiresIn su uno di questi valori: 1h (1 ora), 1d (1 giorno), 1w (1 settimana), 1m (1 mese), 6m (6 mesi). Le immagini scadute smettono subito di caricarsi.