Foto com cores lavadas?
Aumente ou reduza a saturação de fotos por API: você define a intensidade, envia a imagem e recebe as cores ajustadas em segundos. Serve tanto para dar vida a fotos apagadas de produto quanto para suavizar cores berrantes — em uma imagem ou em milhares de uma vez.
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.
Cores apagadas vendem menos
Foto de comida sem cor não abre o apetite; roupa com tom lavado parece velha na vitrine digital. Câmera de celular em luz ruim tende a entregar cores sem vida, e é aí que um ajuste de saturação resolve: as cores que já estão na foto ganham intensidade, sem inventar nada que não existia. O segredo é a dose — um aumento leve deixa a imagem atraente; exagerar deixa tudo com cara de filtro barato. Como o valor é você quem define, dá para achar o ponto certo e repetir sempre.
Funciona para os dois lados
O mesmo parâmetro aceita valores negativos: em vez de intensificar, você tira força das cores. Isso é útil quando a foto veio saturada demais da origem — céu azul irreal, pele alaranjada — ou quando a sua marca pede um tom mais sóbrio e editorial. Reduzindo a saturação aos poucos você chega a um visual neutro e consistente, sem precisar refazer a foto. Um único ajuste, dois problemas resolvidos.
Quanto custa e como cobra
O preço é por uso e está publicado: US$ 0,002 por chamada mais US$ 0,005 por imagem processada. Ajustar as 200 fotos de um cardápio digital custa cerca de US$ 1 — pagando só quando roda, sem assinatura. Para quem processa volume todos os dias, a conta continua transparente: o custo cresce na exata proporção do que você usa, e nada além disso.
Limites técnicos
Cada arquivo pode ter até 15 MB e 12 megapixels — qualquer foto de celular atual passa. A tarefa roda de forma assíncrona: você envia a imagem com o valor de saturação desejado, recebe um task_id e busca o resultado em seguida. Os formatos comuns de foto são aceitos, e a imagem volta no mesmo formato em que entrou, pronta para publicar.
Casos de uso
Cardápio digital da padaria
A Padaria Pão Dourado fotografa os doces com o celular mesmo, no balcão. Um toque de saturação via API antes de subir para o cardápio online deixa o brigadeiro com cara de brigadeiro — sem contratar fotógrafo.
Marketplace com fotos de fornecedores variados
Cada fornecedor manda foto de um jeito: umas vibrantes, outras desbotadas. Aplicar um ajuste padronizado de saturação no upload aproxima o visual de todas e a vitrine para de parecer uma colcha de retalhos.
Cor fiel em loja de roupa
Foto saturada demais engana o cliente: a blusa “vinho” chega bordô e vira devolução. Reduzir a saturação estourada até a cor da tela bater com a cor da peça diminui troca, reclamação e prejuízo de frete.
Perguntas frequentes
Dá para diminuir a saturação em vez de aumentar?
Dá. O parâmetro aceita valores negativos: você tira intensidade das cores até chegar ao tom desejado — útil para fotos que vieram berrantes da origem.
A cor do produto continua fiel à real?
Depende da dose. Um ajuste leve realça sem distorcer; um valor alto muda a percepção da cor. Teste com uma foto antes de rodar o lote inteiro e fixe o valor que funcionou.
Qual é o preço por imagem?
US$ 0,005 por imagem processada, mais US$ 0,002 por chamada. Pagamento por uso, sem plano nem mensalidade.
Tem tamanho máximo de arquivo?
Sim: 15 MB e 12 megapixels por imagem. É espaço de sobra para fotos de celular e de câmera comum.
Vocês guardam as imagens que eu mando?
As imagens servem só para processar a sua tarefa e devolver o resultado da chamada. Não vão para galeria pública nem para outro uso.
Posso combinar com outros ajustes de imagem?
Pode: cada tarefa faz um ajuste específico, e você encadeia chamadas no seu fluxo — por exemplo, corrigir a luz primeiro e a saturação em seguida.
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/saturation \
-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/saturation", {
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/saturation",
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/saturation", 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/saturation", 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.saturation",
"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. |