Girar imagem
Endireite uma foto de celular deitada ou uma digitalização de cabeça para baixo com um giro de 90, 180 ou 270 graus gravado nos pixels, para que fique certa em qualquer lugar. Nada é recalculado, então não há perda de qualidade. Você paga por uso, sem assinatura.
Esta tarefa não está disponível no momento, portanto não pode ser contratada. Nada é cobrado por ela.
Ver a APIA rotação de imagem endireita fotos que chegaram deitadas ou de cabeça para baixo, com giros de um quarto, meia ou três quartos de volta (90°, 180° ou 270°).
O mistério da foto que aparece deitada
Muitas fotos de celular não estão realmente tortas: o arquivo guarda os pixels deitados e uma etiqueta EXIF avisando “exiba girado”. Sistemas que ignoram a etiqueta mostram a foto deitada. A rotação resolve na raiz: aplica a orientação de fato nos pixels, e a imagem passa a aparecer certa em qualquer lugar — navegador antigo, sistema interno, impressão.
É a correção definitiva para o clássico “no meu celular aparece certo”.
Rotação em ângulo reto, sem perda
As correções mais comuns são todas quartos de volta: 90° ou 270° põem de pé uma foto deitada, e 180° desvira uma digitalização de cabeça para baixo. Como são rotações em ângulo reto, os pixels apenas são reorganizados — nada é reamostrado nem inventado —, então a qualidade fica intacta e a única mudança é que largura e altura trocam de lugar num giro de 90° ou 270°. Endireitar por poucos graus uma foto levemente inclinada não faz parte desta capacidade.
Cobrança por imagem
O preço publicado na página é o único que existe: nenhum plano escondido aparece depois. Como não há cadastro, dá para testar com meia dúzia de arquivos, conferir o resultado e só então rodar o lote inteiro.
Casos de uso
Comprovantes fotografados de qualquer jeito
Os clientes da contadora Márcia Regina Oliveira mandam comprovantes pelo WhatsApp — metade de lado, alguns de cabeça para baixo. A rotação automática de 90° ou 180° arruma tudo antes do arquivamento, e a conferência mensal deixou de ser um exercício de torcicolo.
Acervo digitalizado com o scanner apressado
Ao digitalizar 30 anos de fichas, a equipe da Distribuidora Horizonte Verde S.A. alimentou o scanner em orientações variadas. Um script girou as páginas fora de esquadro — 90° ou 180° conforme o caso — em uma madrugada, sem redigitalizar nada.
Perguntas frequentes
Por que a mesma foto aparece certa no celular e deitada no site?
Porque o celular respeita a etiqueta de orientação EXIF e o site não. A rotação aplica a orientação nos próprios pixels, e a divergência some.
Girar 90° degrada a imagem?
Não: o giro em ângulo reto apenas reorganiza os pixels existentes, sem reamostrar nada. A única mudança é que largura e altura trocam de lugar num giro de 90° ou 270°.
Posso girar por um ângulo qualquer, tipo 5°?
Não. A rotação é só em ângulos retos: 0°, 90°, 180° ou 270°. Isso resolve fotos e digitalizações deitadas ou de cabeça para baixo; nivelar por poucos graus não é o objetivo desta capacidade.
Dá para girar cada foto em um ângulo diferente no mesmo lote?
Sim — o ângulo (0, 90, 180 ou 270) é parâmetro de cada chamada, então um script pode aplicar a correção específica de cada arquivo.
Documentos com dados pessoais podem ser enviados?
O processamento existe só para executar a sua tarefa: o arquivo não é publicado nem reutilizado, e o resultado fica disponível para você baixar. É o arranjo que a LGPD pede para dados de terceiros.
Ferramentas relacionadas
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
Um POST autenticado cria a tarefa; o resultado chega por webhook ou por um link assinado. Esta capacidade está disponível pela API, não como ferramenta web interativa.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/image/rotate \
-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/rotate", {
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/rotate",
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/rotate", 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/rotate", 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.rotate",
"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. |
Notas técnicas
Pela API, a correção vira etapa automática do seu fluxo — documentos fotografados, digitalizações e uploads de usuários entram tortos e saem no lugar.
Do arquivo avulso à esteira de digitalização
Em esteiras de digitalização — comprovantes, contratos, fichas fotografadas às pressas —, a rotação roda como etapa fixa antes do OCR ou do arquivamento, porque documento de cabeça para baixo atrapalha tanto a leitura humana quanto a automática. A chamada aceita JPG, PNG e WebP de até 15 MB e 12 megapixels, devolve um task_id e entrega o resultado pela tarefa. Uma imagem por chamada ou um script varrendo a pasta inteira: o custo unitário é o mesmo.
Cobrança por imagem
US$ 0,002 por chamada mais US$ 0,005 por imagem processada. Endireitar as 1.200 páginas fotografadas de um arquivo morto, uma por chamada, custa US$ 8,40 — por uso, sem assinatura nem franquia.
Casos de integração
Fotos de produto no lugar certo
Thiago Barbosa Lima fotografa móveis para o catálogo e algumas saem deitadas. Um giro de 90° aplicado via API na subida da foto deixou todas as imagens em pé, sem passar por edição manual.
Perguntas técnicas
Qual o preço para um arquivo morto inteiro?
US$ 0,002 por chamada mais US$ 0,005 por imagem: 5.000 páginas, uma por chamada, custam US$ 35. Sem mensalidade — pagou, processou, acabou.