Capturas
Las capturas del dueño.
Publicar una es el único lugar donde esta API recibe un formulario en vez de JSON, porque una imagen son bytes.
Cada captura tiene dos imágenes: image_url, la entera, para quien abre la captura, y thumbnail_url, un WebP de hasta 640 píxeles de ancho con thumbnail_width y thumbnail_height, para cuadrículas y tarjetas. Una captura publicada antes de las miniaturas, o cuya miniatura no se pudo hacer, tiene esos tres campos en null: muestra image_url.
/api/ v1/ screenshots/ {id}Una captura visible y su autor. Las capturas eliminadas no aparecen. Trae la miniatura como el listado del dueño: thumbnail_url, thumbnail_width y thumbnail_height, o null.
/api/ v1/ screenshotsLas capturas del dueño, las más recientes primero. Las eliminadas quedan fuera. Cada una trae image_url, la imagen entera, y thumbnail_url con thumbnail_width y thumbnail_height: una miniatura WebP de hasta 640 píxeles de ancho para cuadrículas y tarjetas, o null en una captura que todavía no tiene una, y entonces usa image_url.
/api/ v1/ screenshotsPublica una imagen, como multipart/form-data y no JSON. Se reduce para caber en 1920 por 1080, nunca se amplía, y se guarda como un AVIF de unos 650 KB; una que siga por encima de 2 MB se rechaza. Al lado va una miniatura WebP de hasta 640 píxeles de ancho. Responde 201 con la captura, incluidos thumbnail_url, thumbnail_width y thumbnail_height, que son null cuando la miniatura no se pudo hacer: la captura se publica igual. Una cuenta puede publicar veinte por hora, contadas aparte de la cuota de la llave, porque una imagen cuesta almacenamiento y no una fila.
Cuerpo
| Campo | Tipo | Notas |
|---|---|---|
imageobligatorio | file | JPEG, PNG, WebP, GIF o AVIF, hasta 15 MB y 40 millones de píxeles, con el contenido del tipo enviado. Una imagen animada se rechaza. |
igdb_idobligatorio | integer | El id del juego en el catálogo. |
game_slugobligatorio | string | El slug del juego. |
description | string | Hasta 2200 caracteres. |
visibility | string | PUBLIC, FOLLOWERS o PRIVATE. |
contains_spoilers | string | Los campos de formulario son texto, así que aquí va la palabra "true" y no un booleano. |
sensitive | string | También la palabra "true". |
Ejemplo
curl https://uloggd.com/api/v1/screenshots \
-H "Authorization: Bearer ulg_live_..." \
-F [email protected] \
-F igdb_id=14593 \
-F game_slug=hollow-knight \
-F "description=The first time the city opens up"/api/ v1/ screenshots/ {id}Cambia la descripción, los avisos, la visibilidad o comments_scope. La imagen en sí no cambia: para reemplazarla, publica otra y elimina esta.
Cuerpo
| Campo | Tipo | Notas |
|---|---|---|
description | string | Hasta 2200 caracteres. |
contains_spoilers | boolean | Aquí es JSON, así que es un booleano de verdad. |
sensitive | boolean | Aquí es JSON, así que es un booleano de verdad. |
visibility | string | PUBLIC, FOLLOWERS o PRIVATE. |
/api/ v1/ screenshots/ {id}Elimina una imagen, del listado y del servicio donde estaba alojada.