Logo Lava

Docs v1 (legacy)

Logo Lava v1 reference

The original API from 2019, kept online for the sites that still use it.

B Klug, updated October 25, 2026

v1 still works and will keep working, but it gets no new features. New projects should use v2. See migrating from v1, or start at the v2 docs.

The v1 endpoint is a single URL that returns a PNG. It reads the name and a few options, picks a font from its list, a background colour from its list and a text colour that contrasts with it, and sometimes places an icon at the left. This page is written from the v1 source code. Items that I could not confirm from the code are marked.

https://api.logolava.com/v1/?text=Juniper+Vale&seed=1140956701&w=640&h=240

Parameters

ParameterDefaultWhat it does
text, txtsampletextThe name to draw. More than 100 characters is replaced by "text too long". If both are present, txt wins. A name written as two capitalised words joined, like JuniperVale, is split into two parts that color2 can colour differently. I could not confirm the exact layout.
w, h300, 100Width and height in pixels. Keep them between 16 and 1920 by 1080. The code tries to enforce those limits, but I could not confirm how it behaves just outside them.
seedrandomA whole number. The same options and seed draw the same image. Without one, the image is random.
schemenonelight or dark restricts the random background to light or dark colours. black and white use that colour.
bgrandomA six digit hex colour, with or without #, or transparent.
colorautoA six digit hex colour for the text. Without it, a colour with enough contrast is chosen.
color2autoThe colour of one part of a name written as two joined words. See text.
fontrandomA font number or a font name. See the font list.
stylereadable and styledWhich fonts to draw from: readable, styled, fancy, notreadable, notstyled, notfancy or all.
iconrandomAn icon number, which forces an icon. See the icon list.
iconstyle2Limits the random icon choice to icons at or below this style number.
randicon0.35The chance, from 0 to 1, that a random icon is used when you did not set icon. Use 0 for none.
gradoffTurns the background into a gradient. Values in the code are horizontal, vertical, ellipse, ellipse2, circlecorner, circlecenter, circle2, square, rectangle and diamond. I could not confirm that every one gives a pleasing result.
gradcolor#000The second colour of the gradient.
margin0.05The empty border as a fraction of the width and height.
nobrfalsetrue keeps the name on one line.
shadownoneA number of pixels for a soft shadow under the text.
showmarginfalsetrue draws the text box in dark red, for debugging layout.
api_keynoneYour API key. See below.

The code reads a few more options that are internal and not meant for use.

Keys

A request with no Referer header, such as one made from a script or a terminal, works without a key. A request that comes from a web page on another site needs a valid api_key. Without one, the image shows the words "api key needed". A key that is wrong or that has not been confirmed by email shows "api key invalid". The error is drawn into the image, and the HTTP status is still 200. Keys are the ones you get on the sign up page.

Compared with v2

Version 1 returns PNG only, has no JSON form and no catalogue endpoints, and has no documented rate limit that I could confirm. Version 2 has all of those. The changes parameter by parameter are listed on the migration page.