velo-client.com/v2 · JSON & images · CORS open for GET

Velo Library API

Plain HTTPS. Images answer with the image itself, so an endpoint drops straight into an <img>, a Discord embed or a plugin.

Rate limits

TierRequestsItem iconsRendersServer pingsHeavy (spark, plugins)Seed map
No key (per IP)30 / min300 / min15 / min5 / min2 / min60 / min
Free key300 / min1500 / min100 / min30 / min10 / min300 / min
Velo+1500 / min5000 / min500 / min150 / min30 / min1000 / min

Cached answers don't count. Answers carry X-RateLimit-Remaining and X-RateLimit-Tier; over the limit you get 429 with Retry-After. Send a key as Authorization: Bearer velo_… or ?key=velo_…. When the Library is paused or busy it answers 503 - try again later.

Endpoints

GET/v2/player/:name
UUID, name history, skins, cape, model
GET/v2/name/:name
available / taken
GET/v2/skin/:name.png
the raw skin texture
GET/v2/head/:name.png
?size=8-1024 &overlay=false &style=3d
GET/v2/render/:name.png|.gif
?pose= &yaw= &pitch= &size= &bg= &layers3d= &slim= &cape= - head/rarm/larm/rleg/lleg=x,y,z for custom poses
POST/v2/render/custom.png
your own skin PNG as the body, same options
GET/v2/poses
pose names
GET/v2/item/:id.png
item or block icon by name or 1.8 numeric id, ?size=16-512
GET/v2/items?q=
search names and ids
GET/v2/server/:address
status: players, version, MOTD (plain, MiniMessage, legacy, HTML), icon, 24 h history
GET/v2/server/:address/icon.png
the server icon
GET/v2/banner/:address.png|.gif
size, theme, c1, c2, accent, angle, texture, pattern, title, lines, icon, font, layout, players, ping, address, version, glow, radius, animate
GET/v2/motd/render.png?mm=
a server list entry as PNG (mm = MiniMessage, or legacy=)
GET/v2/motd/convert?mm=
MiniMessage -> plain, legacy, HTML
GET/v2/gradient?text= &colors=
gradient / animation frames (mode=wave|shift|pulse|static, format=tab|minimessage|legacy)
GET/v2/color/:hex
every colour format + nearest vanilla colour
GET/v2/flags?ram= &software= &gc= &os=
JVM flags and start script
GET/v2/spark/:id
spark profile analysis
POST/v2/plugins/check
{"text": "/plugins output"} or {"plugins": [{name, version}]}
GET/v2/seed/:seed/slime?cx= &cz= &r=
slime chunks around a chunk
GET/v2/seed/:seed/tile.png
biome tile (scale 1/4/16/64/256, x, z, w, h)
GET/v2/seed/:seed/structures
x0, z0, x1, z1, types
GET/v2/presets?tool=
community presets (motd, tab, banner, pose, enchant, flags, seed)
GET/v2/packs/:sha1
a hosted pack's info and server.properties lines