Filtros de imagem
A aplicação de filtros ajusta o acabamento visual das imagens por parâmetros na chamada de API — efeitos e correções aplicados de forma idêntica em uma foto ou em todo o catálogo. É o jeito de manter identidade visual consistente quando as fotos vêm de câmeras, pessoas e condições diferentes.
Rode online
Rode nos nossos servidores com a sua conta. As ferramentas grátis rodam no seu navegador; esta aqui é descontada do seu saldo do KIT pelo preço acima.
Filtro por parâmetro, não por aplicativo
Em app de edição, o filtro é um toque de dedo — impossível de repetir com precisão em 500 fotos. Pela API, o filtro é um conjunto de parâmetros na chamada: o mesmo efeito, com os mesmos valores, aplicado de forma idêntica sempre. Definido o acabamento uma vez, ele vira regra do sistema; quem fotografa não precisa saber edição, e o resultado não depende do capricho de ninguém.
Consistência visual é parte da marca
Um feed, um catálogo ou um cardápio em que cada foto tem um tom diferente passa desleixo — mesmo com boas fotos individuais. O filtro padronizado resolve o conjunto: as imagens conversam entre si, e o cliente percebe o cuidado sem saber explicar por quê. É o mesmo princípio dos grandes e-commerces, aplicado com uma chamada de API em vez de uma equipe de retoque.
No fluxo, junto com as outras operações
O filtro costuma ser a última etapa de uma esteira: a foto entra, é redimensionada ou recortada e recebe o acabamento antes de publicar. A chamada aceita JPG, PNG e WebP até 15 MB e 12 megapixels, devolve task_id e entrega o resultado pela tarefa, em segundo plano. Para regular apenas brilho, contraste ou saturação com controle fino, existem capacidades dedicadas a esses ajustes no catálogo.
Quanto custa manter o padrão
US$ 0,002 por chamada mais US$ 0,005 por imagem processada — aplicar o acabamento nas 600 fotos de um cardápio digital, uma por chamada, custa US$ 4,20. A cobrança é por uso, sem assinatura: o custo aparece quando há foto nova para tratar e desaparece quando não há. Preço publicado, compra direta, nenhum cadastro no caminho. Teste com poucas imagens antes de definir o padrão do seu sistema.
Casos de uso
Cardápio digital com cara de cardápio
As fotos dos pratos da Padaria Pão Dourado Ltda. eram tiradas por funcionários diferentes, em luzes diferentes. Com um filtro único aplicado na publicação, o cardápio digital ganhou o mesmo tom quente em todas as fotos.
Imobiliária com anúncios uniformes
A imobiliária onde Márcia Regina Oliveira trabalha recebe fotos de dezenas de corretores. O filtro padronizado na subida deixou os anúncios com o mesmo aspecto — e o portal parou de parecer uma colcha de retalhos.
Feed de loja com identidade
Thiago Barbosa Lima definiu um acabamento levemente dessaturado para a marca da loja. Toda foto de produto passa pelo filtro antes de ir para o site e para as redes; a identidade se mantém sem ninguém pensar nisso.
Perguntas frequentes
Que tipo de efeito dá para aplicar?
Ajustes e acabamentos definidos por parâmetro na chamada — do realce sutil ao efeito estilizado. A ideia é escolher uma receita e reproduzi-la de forma idêntica em todas as imagens.
Consigo reproduzir o filtro que uso no Instagram?
Dá para chegar a um acabamento equivalente ajustando os parâmetros e comparando com uma foto de referência. Uma vez calibrada, a receita se repete com exatidão em qualquer volume.
O filtro substitui minha foto original?
Não: a tarefa devolve um arquivo novo, e o original permanece com você. Guarde sempre a versão sem filtro para poder mudar o padrão no futuro.
Como aplico o mesmo filtro no catálogo inteiro?
Fixe os parâmetros no seu código e percorra as imagens com um script — cada foto é uma chamada, e todas recebem exatamente o mesmo tratamento.
Qual é o preço em volume alto?
O mesmo do volume baixo: US$ 0,002 por chamada mais US$ 0,005 por imagem. Cinco mil fotos custam US$ 35, por uso, sem plano nem taxa escondida.
Minhas fotos podem parar em algum banco de imagens?
Não: elas existem no sistema apenas para gerar o seu resultado, que fica disponível na tarefa para download. Nenhum outro uso é feito — nem exibição, nem treinamento.
Para desenvolvedores — acesso via API
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.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/image/filter \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image":"https://ejemplo.com/imagen.jpg"}'const res = await fetch("https://api.kit.forhosting.com/image/filter", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image": "https://ejemplo.com/imagen.jpg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/filter",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image": "https://ejemplo.com/imagen.jpg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/filter", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image":"https://ejemplo.com/imagen.jpg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image":"https://ejemplo.com/imagen.jpg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/filter", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"image": "https://ejemplo.com/imagen.jpg"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.filter",
"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.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_mb | 15 |
max_megapixels | 12 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |