Calculateur de vitesse d’obturation par réciprocité
Modifier l’ouverture change la lumière qui atteint le capteur ou le film ; une exposition équivalente exige donc une compensation de la vitesse d’obturation.
Lancer gratuitement
Ce calculateur utilise la durée initiale et une variation d’ouverture en IL pour déterminer le nouveau temps. Une valeur positive correspond à une fermeture et allonge l’exposition ; une valeur négative correspond à une ouverture et la raccourcit. Le résultat fournit les secondes, une notation lisible et le multiplicateur exact appliqué.
Décrivez l’exposition initiale et le changement d’ouverture
Saisissez la vitesse initiale sous forme de durée en secondes. Le réglage 1/125 s vaut 0.008 seconde, tandis qu’une pose de deux secondes s’écrit simplement 2. Indiquez ensuite la variation d’ouverture en IL. Employez une valeur positive lorsque vous fermez le diaphragme : moins de lumière passe et l’obturateur doit rester ouvert plus longtemps. Employez une valeur négative lorsque vous l’ouvrez : davantage de lumière atteint le plan image et le temps diminue. Les valeurs entières et fractionnaires telles que 0.3, 0.5 ou 1.5 sont acceptées. Le signe est déterminant : passer de f/4 à f/8 ferme de deux IL, donc saisissez 2 ; le trajet inverse ouvre de deux IL, donc saisissez -2. Cette convention fonctionne également avec une différence issue d’un posemètre, d’un filtre ou d’un test de transmission d’objectif.
Comprenez le calcul de réciprocité
Chaque IL entier représente un facteur deux d’exposition. Le calculateur élève 2 à la puissance de la variation d’ouverture, puis multiplie la durée initiale par ce facteur. Fermer d’un IL double le temps ; fermer de deux IL le multiplie par quatre. Ouvrir d’un IL le divise par deux, car 2 à la puissance -1 vaut un demi. Les fractions suivent la même relation exponentielle : un demi-IL utilise la racine carrée de deux et non une approximation linéaire. La réponse contient la durée initiale, la variation signée, le multiplicateur, la nouvelle durée en secondes et une notation formatée. Une précision stable garantit un JSON identique dans tous les environnements. Pour une automatisation ou un calcul ultérieur, privilégiez le champ numérique en secondes, car les appareils ne proposent parfois que des incréments normalisés.
Appliquez le résultat sans modifier l’exposition visée
Le temps obtenu conserve l’exposition mathématique des réglages de départ. Il convient lorsque vous changez la profondeur de champ, déplacez le diaphragme ou préparez une série dont la luminosité doit rester constante. Certains effets physiques ne sont pas inclus. Les poses très longues sur film peuvent subir un défaut de réciprocité et nécessiter une durée ou une correction colorimétrique supplémentaire recommandée par le fabricant. Les capteurs numériques peuvent produire du bruit thermique, et la transmission réelle d’un filtre gris neutre peut différer de son marquage. Les appareils arrondissent aussi aux valeurs entières, demi ou tiers d’IL. Considérez le résultat comme la cible exacte, puis choisissez le réglage disponible le plus proche ou utilisez une pose B chronométrée. Si la sensibilité ISO ou le filtre change aussi, combinez toutes les variations en une valeur nette avant le calcul.
Cas d’usage
Conserver la luminosité en changeant la profondeur de champ
Trouvez la durée compensée après fermeture ou ouverture de l’objectif pour modifier la profondeur de champ.
Préparer un bracketing manuel
Calculez des temps précis pour des changements entiers ou fractionnaires dans une série reproductible.
Automatiser des fiches d’exposition
Transmettez les secondes à un outil de préparation tout en conservant le multiplicateur et la notation lisible.
Questions fréquentes
Que signifie une variation d’ouverture positive ?
Elle indique une fermeture du diaphragme du nombre d’IL donné. Le calculateur allonge le temps en compensation.
Comment saisir 1/125 de seconde ?
Saisissez 0.008 dans shutter_speed_seconds, car un divisé par 125 donne 0.008 seconde.
Puis-je utiliser des fractions d’IL ?
Oui. Les fractions emploient la relation exponentielle exacte, y compris les demi-IL et tiers d’IL.
Ce calcul corrige-t-il le défaut de réciprocité du film ?
Non. Il traite la réciprocité ordinaire. Appliquez séparément la correction de pose longue du fabricant.
Pourquoi mon appareil n’affiche-t-il pas exactement le résultat ?
De nombreux appareils proposent des valeurs normalisées par IL, demi-IL ou tiers d’IL. Choisissez la plus proche ou utilisez une pose B chronométrée.
Quel est le prix d’une requête API ?
Chaque requête API coûte $0.002. Le calculateur du navigateur peut exécuter localement le même calcul déterministe.
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
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/optics/reciprocity-shutter-speed \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"shutter_speed_seconds":0.008,"aperture_change_stops":2}'const res = await fetch("https://api.kit.forhosting.com/optics/reciprocity-shutter-speed", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"shutter_speed_seconds": 0.008,
"aperture_change_stops": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/optics/reciprocity-shutter-speed",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"shutter_speed_seconds": 0.008,
"aperture_change_stops": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/optics/reciprocity-shutter-speed", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"shutter_speed_seconds":0.008,"aperture_change_stops":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"shutter_speed_seconds":0.008,"aperture_change_stops":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/optics/reciprocity-shutter-speed", 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
{
"shutter_speed_seconds": 0.008,
"aperture_change_stops": 2
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.reciprocity_shutter_speed",
"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.
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. |