Desarrolladores · API gratuita

API de alojamiento de imágenes gratis

Sube imágenes desde tus apps, bots y scripts. Una sola solicitud devuelve un enlace directo, HTML, BBCode y Markdown.

Obtener una clave de API

Autenticación

Crea una clave en Panel → Ajustes → Claves de API. Envíala con cada solicitud:

Encabezado
Authorization: Bearer YOUR_API_KEY

Guarda las claves en tu servidor. Cualquiera que tenga una clave puede subir imágenes a tu cuenta y eliminarlas.

Subir una imagen

POST /api/v1/upload

CampoDescripción
imageArchivo de imagen (multipart), hasta 4 MB
urlURL pública de una imagen para descargarla en su lugar, hasta 32 MB
nameTítulo opcional, usado en la página de la imagen
expiresInBorrado automático opcional: 1h (1 hora), 1d (1 día), 1w (1 semana), 1m (1 mes), 6m (6 meses)
curl: subir un archivo
curl -X POST https://imgsharehub.com/api/v1/upload \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "[email protected]" \
  -F "name=Login error"
curl: subir desde una 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"])

Respuesta (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
  }
}

Obtener o eliminar una imagen

Funciona con las imágenes que pertenecen a la cuenta de la clave. GET también devuelve created_at y views.

Obtener
curl https://imgsharehub.com/api/v1/images/a1b2c3 \
  -H "Authorization: Bearer YOUR_API_KEY"
Eliminar
curl -X DELETE https://imgsharehub.com/api/v1/images/a1b2c3 \
  -H "Authorization: Bearer YOUR_API_KEY"

Límites y errores

Cada clave puede subir 100 imágenes por hora y hacer 1000 solicitudes de otro tipo por hora. Todas las respuestas incluyen los encabezados X-RateLimit-Limit, X-RateLimit-Remaining y X-RateLimit-Reset. Los errores devuelven {"success": false, "error": "..."}.

EstadoSignificado
400Falta la imagen, el archivo no es compatible, es demasiado grande o la URL no se puede descargar
401Clave de API ausente, desconocida o revocada
404Imagen no encontrada o no pertenece a la cuenta de tu clave
429Se ha alcanzado el límite de solicitudes; consulta el encabezado X-RateLimit-Reset
500Algo ha fallado por nuestra parte; vuelve a intentarlo más tarde

Sin necesidad de código

Preguntas sobre la API

¿La API de ImgShareHub es gratis?

Sí. Crea hasta 5 claves desde los ajustes de tu cuenta. Cada clave puede subir 100 imágenes por hora.

¿Cuál es el tamaño máximo de archivo?

Los archivos enviados directamente en la solicitud pueden ocupar hasta 4 MB. Para imágenes más grandes, de hasta 32 MB, envía una URL pública de la imagen y ImgShareHub la descargará.

¿Dónde aparecen las imágenes subidas con la API?

En el panel de la cuenta propietaria de la clave, junto a las imágenes que subes desde el sitio web.

¿Las imágenes subidas pueden caducar automáticamente?

Sí. Asigna a expiresIn uno de estos valores: 1h (1 hora), 1d (1 día), 1w (1 semana), 1m (1 mes), 6m (6 meses). Las imágenes caducadas dejan de cargarse de inmediato.