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 API

Autenticazione

Crea una chiave in Dashboard → Impostazioni → Chiavi API. Inviala con ogni richiesta:

Header
Authorization: Bearer YOUR_API_KEY

Conserva le chiavi sul tuo server. Chiunque abbia una chiave può caricare ed eliminare immagini dal tuo account.

Caricare un’immagine

POST /api/v1/upload

CampoDescrizione
imageFile immagine (multipart), fino a 4 MB
urlIn alternativa, URL pubblico dell’immagine da recuperare, fino a 32 MB
nameTitolo facoltativo, usato per la pagina dell’immagine
expiresInEliminazione automatica facoltativa: 1h (1 ora), 1d (1 giorno), 1w (1 settimana), 1m (1 mese), 6m (6 mesi)
curl: caricare un file
curl -X POST https://imgsharehub.com/api/v1/upload \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "[email protected]" \
  -F "name=Login error"
curl: caricare da un URL
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"}'
Node.js
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);
Python
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)

JSON
{
  "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": "[![Image](https://imgsharehub.com/i/a1b2c3.webp)](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.

Ottieni
curl https://imgsharehub.com/api/v1/images/a1b2c3 \
  -H "Authorization: Bearer YOUR_API_KEY"
Elimina
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": "..."}.

StatoSignificato
400Immagine mancante, file non supportato, file troppo grande o URL non recuperabile
401Chiave API mancante, sconosciuta o revocata
404Immagine non trovata, oppure non appartiene all’account della tua chiave
429Limite di frequenza raggiunto; controlla l’header X-RateLimit-Reset
500Si è verificato un problema da parte nostra; riprova più tardi

Nessun codice necessario

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.