Développeurs · API gratuite

API d’hébergement d’images gratuite

Importez des images depuis vos applications, bots et scripts. Une seule requête renvoie un lien direct, du HTML, du BBCode et du Markdown.

Obtenir une clé API

Authentification

Créez une clé dans Tableau de bord → Paramètres → Clés API. Envoyez-la avec chaque requête :

En-tête
Authorization: Bearer YOUR_API_KEY

Conservez vos clés sur votre serveur. Toute personne disposant d’une clé peut importer des images sur votre compte et en supprimer.

Importer une image

POST /api/v1/upload

ChampDescription
imageFichier image (multipart), jusqu’à 4 Mo
urlURL publique d’une image à récupérer à la place, jusqu’à 32 Mo
nameTitre facultatif, utilisé pour la page de l’image
expiresInSuppression automatique facultative : 1h (1 heure), 1d (1 jour), 1w (1 semaine), 1m (1 mois), 6m (6 mois)
curl : importer un fichier
curl -X POST https://imgsharehub.com/api/v1/upload \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "[email protected]" \
  -F "name=Login error"
curl : importer depuis une 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"])

Réponse (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
  }
}

Récupérer ou supprimer une image

Fonctionne pour les images appartenant au compte de la clé. GET renvoie aussi created_at et views.

Récupérer
curl https://imgsharehub.com/api/v1/images/a1b2c3 \
  -H "Authorization: Bearer YOUR_API_KEY"
Supprimer
curl -X DELETE https://imgsharehub.com/api/v1/images/a1b2c3 \
  -H "Authorization: Bearer YOUR_API_KEY"

Limites et erreurs

Chaque clé peut importer 100 images par heure et effectuer 1 000 autres requêtes par heure. Chaque réponse inclut les en-têtes X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset. Les erreurs renvoient {"success": false, "error": "..."}.

StatutSignification
400Image manquante, fichier non pris en charge, fichier trop volumineux ou URL impossible à récupérer
401Clé API manquante, inconnue ou révoquée
404Image introuvable, ou elle n’appartient pas au compte de votre clé
429Limite de requêtes atteinte ; consultez l’en-tête X-RateLimit-Reset
500Un problème est survenu de notre côté ; réessayez plus tard

Aucun code nécessaire

Questions sur l’API

L’API ImgShareHub est-elle gratuite ?

Oui. Créez jusqu’à 5 clés depuis les paramètres de votre compte. Chaque clé peut importer 100 images par heure.

Quelle est la taille maximale des fichiers ?

Les fichiers envoyés directement dans la requête peuvent atteindre 4 Mo. Pour les images plus lourdes, jusqu’à 32 Mo, envoyez l’URL publique de l’image et ImgShareHub la télécharge.

Où apparaissent les images importées avec l’API ?

Dans le tableau de bord du compte propriétaire de la clé, aux côtés des images que vous importez sur le site.

Les images importées peuvent-elles expirer automatiquement ?

Oui. Définissez expiresIn sur l’une de ces valeurs : 1h (1 heure), 1d (1 jour), 1w (1 semaine), 1m (1 mois), 6m (6 mois). Les images expirées cessent immédiatement de s’afficher.