API de imagens por URL
Mexa nos controles. A URL se monta sozinha.
Cada controle vira um parâmetro da URL. Copie o endereço (ou um trecho de HTML, Markdown, CSS ou JavaScript) e use onde precisar: não precisa de chave nem de cadastro.
Números abertos
- Imagens geradas
- 0
- Avatares
- 0
- Placeholders
- 0
- Pela API
- 0
- Pelo laboratório
- 0
- Estilo mais usado
- —
- Opção mais usada
- —
- URLs copiadas no laboratório
- 0
- Arquivos baixados no laboratório
- 0
- Pedidos barrados
- 0
Só contagens, sem texto nem dados pessoais. Pedido atendido pelo cache do navegador ou de uma CDN não chega ao servidor e não entra na conta; o laboratório mostra dezenas de miniaturas por visita, e todas contam como "pelo laboratório". Com "Não rastrear" ligado, o navegador não manda os avisos de copiar e baixar. Contando desde 24/10/2026.
Os quatro estilos
A mesma semente nos quatro estilos, com as suas cores e formas. Toque em um para usar.
Galeria de sementes
Vinte e quatro nomes com o estilo e as cores de agora. Toque em um para usar como semente.
Exemplos prontos
Toque em um para carregar no laboratório e mexer à vontade.
Todos os parâmetros
Valor que não faz sentido é ignorado (e o cabeçalho X-Ignorados diz quais): a API serve <img>, que não mostra erro. Com strict=1, vira um 400 em JSON com a lista. Número fora da faixa é ajustado ao limite. A mesma lista, em JSON, está em params.json, e a descrição completa da API em openapi.json (OpenAPI 3.1, gerado desta mesma lista).
Avatar GET /avatar/<texto>.svg ou GET /avatar?seed=<texto> · o mesmo texto gera sempre o mesmo avatar. A forma com seed serve para texto com caracteres que atrapalham o caminho.
Placeholder GET /placeholder/<largura>x<altura>.svg ou GET /placeholder?width=&height= · de 8 a 4096 pixels por lado; um número só faz um quadrado.
Limites 600 pedidos por minuto e 6000 por hora, por IP, com os cabeçalhos RateLimit-Limit, RateLimit-Remaining e RateLimit-Reset. Passou: 429 com Retry-After, e o corpo é um SVG pequeno que explica (a <img> mostra o motivo); com strict=1 ou Accept: application/json, é JSON. Semente de até 200 caracteres e endereço de até 4096.
Só SVG Não há PNG na API: sem fontes embutidas não dá para rasterizar texto de forma confiável no servidor. O botão de PNG do laboratório converte no seu navegador. A saída de uma URL nunca muda; um visual novo entra como um style novo.
seed
avatar
texto (até 200)
obrigatória (no caminho ou na query)
O texto que dá origem ao avatar: o mesmo texto gera sempre o mesmo avatar. Pode ser um nome, um e-mail, um id (até 200 caracteres). No caminho: /avatar/<texto>.svg.
width
placeholder
inteiro de 8 a 4096 (px)
600 (ou a altura, se só ela vier)
Largura em pixels, de 8 a 4096. No caminho: /placeholder/<largura>x<altura>.svg (um número só faz um quadrado).
height
placeholder
inteiro de 8 a 4096 (px)
400 (ou a largura, se só ela vier)
Altura em pixels, de 8 a 4096.
style
avatar
iniciais, identicon, formas, rosto
iniciais
Jeito do desenho. iniciais: as letras do nome; identicon: grade simétrica; formas: composição abstrata; rosto: uma carinha. Todos saem da semente.
text
os dois
texto (até 8 no avatar, 120 no placeholder)
iniciais da semente · dimensões
Texto mostrado no estilo iniciais, no lugar das iniciais da semente (até 8 caracteres).
initials
avatar
inteiro de 1 a 3
2
Quantas iniciais mostrar (1 a 3). Com uma palavra só, usa as primeiras letras dela.
bg
os dois
cor: hex (3, 4, 6 ou 8 dígitos), nome ou transparent
sorteada pela semente · #cbd5e1
Hex de 3, 4, 6 ou 8 dígitos (com ou sem #), um nome (blue, azul...) ou transparent. O 8º par é a transparência.
bg2
os dois
cor: hex (3, 4, 6 ou 8 dígitos), nome ou transparent
nenhuma
Com ela, o fundo vira um degradê de bg para bg2.
angle
os dois
inteiro de 0 a 360 (°)
135
Direção do degradê em graus: 0 sobe, 90 vai para a direita, 180 desce.
color
os dois
cor: hex (3, 4, 6 ou 8 dígitos), nome ou transparent
automática
Cor do texto (nos outros estilos, a do desenho: grade, forma principal ou traços do rosto). Sem ela, vai de branco ou azul-noite, o que der mais contraste com o fundo.
font
os dois
sans, serif, mono, rounded, cursive, system ou o nome de uma fonte instalada
sans
sans, serif, mono, rounded, cursive, system ou o nome de uma fonte. Dentro de uma <img> só vale a fonte instalada no aparelho de quem vê; as outras caem na família sem serifa.
weight
os dois
100 a 900 (ou normal, bold)
700 (avatar) · 600 (placeholder)
De 100 a 900, em centenas (ou normal e bold).
italic
os dois
1 ou 0
não
1 liga o itálico.
fontsize
os dois
inteiro de 5 a 100 (%)
automático
Tamanho da letra em % do lado (no placeholder, do lado menor). Sem ele, o texto se ajusta sozinho.
case
os dois
upper, lower, none
upper nas iniciais · none no texto informado e no placeholder
upper, lower ou none.
spacing
os dois
inteiro de -10 a 50 (%)
0
Espaçamento entre letras em % do tamanho da letra (de -10 a 50).
shape
os dois
circle, square, rounded, squircle
circle (avatar) · square (placeholder)
circle, square, rounded ou squircle (quadrado "gordinho"). No placeholder, circle vira elipse.
radius
os dois
inteiro de 0 a 50 (%)
22
Raio dos cantos, em % do lado menor (0 a 50). Só vale com shape=rounded; se você o informar sem shape, a forma passa a ser rounded.
border
os dois
inteiro de 0 a 20 (%)
0
Espessura da borda, por dentro da forma, em % do lado menor (0 a 20).
bordercolor
os dois
cor: hex (3, 4, 6 ou 8 dígitos), nome ou transparent
a cor do texto
Cor da borda. Sem ela, usa a cor do texto.
pattern
os dois
none, dots, stripes, grid, waves
none
Padrão desenhado sobre o fundo: none, dots, stripes, grid ou waves.
patterncolor
os dois
cor: hex (3, 4, 6 ou 8 dígitos), nome ou transparent
clara no fundo escuro, escura no claro
Cor do padrão. Sem transparência no valor (8º par), ele fica com 30% de opacidade.
cross
placeholder
1 ou 0
não
1 desenha as duas diagonais do retângulo, como nos placeholders clássicos.
size
avatar
inteiro de 16 a 2048 (px)
128
Largura e altura em pixels (16 a 2048). O desenho é vetorial: o tamanho só define o tamanho natural da imagem.
title
os dois
texto (até 120)
nenhum
Põe um <title> e role="img" no SVG, para leitores de tela quando o SVG é usado direto na página.
download
os dois
1 ou 0
não
1 faz o navegador baixar o arquivo em vez de mostrar.
strict
os dois
1 ou 0
não
1 troca o "ignorar valor inválido" por um erro 400 em JSON com a lista do que está errado (nome, motivo e valor recebido): para serviços que querem saber quando erraram.