Faire pivoter une image
Faire pivoter une image, c’est la tourner autour de son centre pour corriger son orientation : redresser une photo prise de travers, remettre à l’endroit un scan couché, ou passer du paysage au portrait. L’outil applique une rotation par quart de tour — 90, 180 ou 270 degrés — et vous rend l’image correctement orientée.
Cette tâche n'est pas disponible pour le moment et ne peut donc pas être achetée. Rien n'est facturé.
Voir l’APILa rotation par quart de tour
Les cas courants sont tous des multiples de 90 degrés : une photo affichée couchée qu’il faut remettre debout par un quart de tour, un scan entré à l’envers qu’un demi-tour redresse. Vous indiquez l’angle — 90, 180 ou 270 degrés — et l’outil applique la rotation autour du centre de l’image. Redresser d’un petit angle une photo légèrement penchée ne fait pas partie de cette capacité.
L’orientation EXIF, source de surprises
Une photo peut paraître droite sur le téléphone puis s’afficher couchée ailleurs : c’est souvent une question d’orientation enregistrée dans les métadonnées, que tous les logiciels ne lisent pas de la même façon. Appliquer une rotation réelle fixe l’image dans le bon sens de manière physique, pixel par pixel, si bien qu’elle apparaît correctement partout, quel que soit l’outil qui l’ouvre ensuite.
Ce que devient le cadre
Une rotation de 90, 180 ou 270 degrés réordonne simplement les pixels existants, sans rien recalculer : la qualité reste intacte et la seule différence est que la largeur et la hauteur s’échangent lors d’un quart de tour. Le format de départ est conservé, sauf si vous demandez une conversion, et vous pouvez choisir le format de sortie de l’image renvoyée.
Cas d’usage
Un scan remis à l’endroit
Julien Lefèvre a numérisé un document qui s’affiche couché. Une rotation d’un quart de tour le remet debout, prêt à être lu et joint à un dossier.
Une photo de téléphone qui s’affiche de travers
Sophie Nguyen constate qu’une photo droite sur son mobile apparaît couchée sur l’ordinateur. Une rotation réelle de 90 degrés fixe l’orientation, et l’image s’affiche correctement partout.
Un lot de scans remis d’aplomb
Une association numérise de vieux dossiers entrés dans le scanner à l’envers ou de côté ; un demi-tour ou un quart de tour selon la page les remet tous dans le bon sens avant archivage.
Questions fréquentes
Puis-je tourner d’un angle précis, pas seulement d’un quart de tour ?
Non. La rotation se fait par angles droits uniquement : 0, 90, 180 ou 270 degrés. Cela couvre les photos et scans couchés ou à l’envers ; redresser une image penchée de quelques degrés n’est pas prévu ici.
Pourquoi ma photo est-elle droite sur le téléphone mais couchée ailleurs ?
Souvent à cause de l’orientation enregistrée dans les métadonnées, que les logiciels n’interprètent pas tous pareil. Une rotation réelle fixe l’image physiquement dans le bon sens, pour qu’elle s’affiche correctement partout.
Les dimensions changent-elles quand je tourne d’un quart de tour ?
Oui : lors d’une rotation de 90 ou 270 degrés, la largeur et la hauteur s’échangent. Un demi-tour (180 degrés) conserve les mêmes dimensions.
La rotation dégrade-t-elle l’image ?
Non. Une rotation par quart de tour se contente de réordonner les pixels existants : elle est sans perte, seule la largeur et la hauteur s’échangent.
Combien coûte l’opération ?
Le tarif affiché est de $0.002 par requête et $0.005 par image, via l’API. Aucun abonnement, aucun compte à créer : le paiement se fait directement.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
One authenticated POST creates the task; the result comes back by webhook or a signed link. This capability is currently available through the API, not as an interactive Web tool.
Appeler depuis votre stack
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)Exemple de requête
{
"image": "https://ejemplo.com/imagen.jpg"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.rotate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_mb | 15 |
max_megapixels | 12 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |