A fast, self-healing skin rendering API. Generate 2D flat sprites and 3D isometric projections of Minecraft skins dynamically by username or UUID.
3D 3D Full Body Walk
GET /3d/full/:name
3D 3D Isometric Bust
GET /3d/bust/:name
3D 3D Isometric Head
GET /3d/head/:name
2D 2D Flat Full Body
GET /2d/full/:name
2D 2D Flat Bust
GET /2d/bust/:name
2D 2D Flat Face
GET /2d/face/:name
SKIN Raw Resolved Texture
GET /skin/:name
API Documentation
Fast, blocky REST endpoints for your site, bot, or application.
API Endpoints
GET /2d/face/:name Flat 2D face render (8x8 grid scaled)
Aliases:
/2d/avatar/:name, /2d/head/:nameGET /2d/bust/:name Flat 2D front view of head, torso and arms
GET /2d/full/:name Flat 2D front view of full skin
GET /3d/head/:name 3D isometric head render
Aliases:
/3d/avatar/:nameGET /3d/bust/:name 3D isometric upper body render
GET /3d/full/:name 3D isometric full body in walking pose
GET /skin/:name Raw resolved skin texture file (64x64 or 64x32)
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
size | Integer | 128 | The size of the output image in pixels. Clamped
between 8 and 2048. For
full bodies/busts, size dictates output height. |
overlay | Boolean | true | Whether to render the secondary outer layer (hats,
jacket sleeves, pant layers). Pass false or 0 to disable. |
Examples
// JavaScript (browser): fetch a 2D face as a blob URL
const res = await fetch("http://localhost:3000/2d/face/Notch?size=128&overlay=true");
const blob = await res.blob();
const imgUrl = URL.createObjectURL(blob);
document.querySelector("#avatar").src = imgUrl;# Python (requests): download a 3D bust to disk
import requests
url = "http://localhost:3000/3d/bust/Steve?size=256&overlay=true"
with open("steve_bust.png", "wb") as f:
f.write(requests.get(url).content)# cURL: save a 2D full body render
curl "http://localhost:3000/2d/full/Alex?size=384&overlay=true" -o alex_full.png// Node.js: resolve the raw skin texture
const https = require("https");
const fs = require("fs");
https.get("http://localhost:3000/skin/Notch", (res) => {
const file = fs.createWriteStream("notch_skin.png");
res.pipe(file);
});