ForHosting KIT · Imagens

Converta o brilho de uma imagem em arte ASCII

Transforme uma grade retangular de amostras de brilho em tons de cinza em arte ASCII limpa e reproduzível.

● BetaGrátis · no seu navegador
Use pelo WebAPIE-mailTelegramApp em breve

Informe números inteiros de 0 para preto até 255 para branco e escolha uma escala de caracteres ordenada do mais escuro ao mais claro. O conversor associa cada amostra à posição mais próxima da escala e preserva a grade como linhas de texto. É uma solução útil para prévias no terminal, renderizadores somente de texto, programação criativa, aulas de processamento de imagens e fluxos que já calculam médias de pixels ou células.

Prepare uma grade de brilho apropriada

Comece com uma matriz retangular em que cada matriz interna representa uma linha de saída e cada valor corresponde a uma célula de caractere. As amostras devem ser números inteiros entre 0 e 255: 0 representa o escuro total, 255 representa o claro total e os valores intermediários descrevem os tons de cinza. Se a origem for uma foto em alta resolução, reduza-a antes de chamar o conversor. Calcule a média de um bloco de pixels para cada posição de caractere, pois converter um pixel em um caractere normalmente gera um resultado enorme e realça a diferença de proporção entre pixels e glifos. Todas as linhas precisam ter o mesmo comprimento. Uma prévia de terminal costuma usar de 40 a 120 colunas e menos linhas, já que os caracteres geralmente são mais altos do que largos. Ao receber dados de brilho, a ferramenta deixa você controlar previamente redimensionamento, recorte, cor, transparência e contraste. Depois dessas escolhas, a mesma grade sempre produz o mesmo texto.

Escolha e entenda a escala ASCII

Escreva a escala começando pelo caractere da amostra mais escura e terminando pelo caractere da mais clara. Uma sequência como <code>@%#*+=-:. </code> vai de marcas visualmente densas até um espaço final; assim, áreas pretas recebem símbolos fortes e áreas brancas somem no fundo. Inverta a ordem para uma apresentação clara sobre fundo escuro ou use <code>#.</code> para obter duas tonalidades bem contrastadas. Cada caractere Unicode ocupa uma posição, inclusive espaços e emojis, embora caracteres monoespaçados comuns ofereçam alinhamento mais previsível. Para cada amostra, o conversor distribui a faixa 0–255 por todas as posições e arredonda para a mais próxima. Os extremos são exatos: 0 sempre escolhe o primeiro caractere e 255, o último. Caracteres repetidos podem ampliar intencionalmente uma faixa tonal. Uma escala vazia é rejeitada. Lembre-se de que um espaço no final tem significado, mesmo que seja difícil percebê-lo em um formulário ou visualizador JSON.

Use o texto e os metadados retornados

O resultado inclui <code>art</code>, uma string separada por quebras de linha e pronta para terminal, arquivo de texto, log ou bloco de código. Ele também oferece <code>lines</code> como matriz, opção prática quando um programa precisa acrescentar recuo, bordas, cores ANSI ou números de linha sem dividir novamente o texto. As contagens de linhas e colunas permitem conferir as dimensões, enquanto <code>ramp_length</code> registra quantos caracteres Unicode participaram do mapeamento. Nenhum pontilhamento aleatório é aplicado; portanto, valores de brilho próximos podem compartilhar um caractere quando a escala é curta. Esse comportamento é intencional e reproduzível. Se você precisar de pontilhamento, aplique antes uma difusão de erro determinística ou uma matriz ordenada e envie os valores resultantes. Para manter o alinhamento, exiba a arte em fonte monoespaçada e preserve os espaços. Em HTML, renderize o conteúdo como texto em um elemento pré-formatado, e não como marcação, especialmente quando a escala contiver sinais de menor, maior ou ampersands.

Monte prévias para terminal

Converta células reduzidas em tons de cinza em texto compacto para shells, logs e ferramentas de linha de comando.

Ensine quantização de brilho

Demonstre como valores de cinza aparentemente contínuos viram faixas tonais definidas por uma escala finita.

Crie gráficos de texto determinísticos

Gere recursos ASCII reproduzíveis para documentação, testes, interfaces retrô ou projetos de programação criativa.

Em que ordem a escala deve ser escrita?

Ordene os caracteres do símbolo que representa brilho 0 até o símbolo que representa brilho 255. Uma escala do denso ao leve cria o estilo conhecido de tinta escura sobre fundo claro.

O que acontece se a escala estiver vazia?

A solicitação falha com um erro de entrada inválida, pois não há nenhum caractere disponível para representar o brilho.

Valores decimais de brilho são aceitos?

Não. Cada amostra deve ser um número inteiro entre 0 e 255, inclusive, para manter o contrato e o mapeamento reproduzíveis.

O conversor redimensiona uma imagem?

Não. Ele mapeia uma grade retangular já preparada. Redimensione a origem e calcule os valores de cinza antes de enviar a solicitação.

Quanto custa uma solicitação de API?

Cada solicitação de API custa US$ 0,002. A mesma conversão determinística também pode ser executada gratuitamente no navegador.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/image/ascii-art-map

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/image/ascii-art-map \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"samples":[[0,64,128,192,255],[255,192,128,64,0]],"ramp":"@%#*+=-:. "}'
{
  "samples": [
    [
      0,
      64,
      128,
      192,
      255
    ],
    [
      255,
      192,
      128,
      64,
      0
    ]
  ],
  "ramp": "@%#*+=-:. "
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "image.ascii_art_map",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_mb15
max_megapixels12
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Ver a documentação completa do KIT →