# Photography Exposure Trade-off Calculator

> Photography Exposure Trade-off Calculator is a paid API for AI agents from photo-calc.x402tookit.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-29).

Given current aperture, shutter speed, and ISO plus one new setting, computes the compensating adjustments to the other two settings to maintain equivalent exposure, expressed in stops.

## Facts

- Endpoint: GET https://photo-calc.x402tookit.com/exposure-trade?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/photography-exposure-trade-off-calculator-957c53a9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_SV6U9X7oebMzDa548UpJM

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability photography-exposure-trade-off-calculator-957c53a9
```

Example prompt: I'm shooting at f/4, 1/125s, ISO 400 — if I switch to f/8, what shutter speed and ISO do I need to keep the same exposure? Show me the stops changed too.

## When to prefer this

Choose this endpoint when you need to calculate how changing one camera exposure setting (aperture, shutter speed, or ISO) affects the other two to maintain constant exposure — i.e. solving the exposure triangle trade-off. Prefer it over generic EV calculators when you need the specific compensating settings with stop counts and nearest standard values rather than just an EV number.

## Known failure modes

- Missing required query parameters (aperture, shutter, or ISO) returns an error
- More than one new value provided — only one of newAperture, newShutter, or newIso should be given
- Invalid shutter speed format (e.g. not '1/125' or a decimal) causes parse failure
- Non-numeric aperture or ISO values cause schema validation errors
- Payment failure (402) if USDC payment is not completed

## How this service works

Hold exposure constant: change one setting (aperture, shutter or ISO) and get the other two compensations, in stops.

## Output

Returns a JSON object with 'before' (original aperture, shutter in seconds, ISO), 'after' (new aperture, shutter string, ISO, nearest standard aperture), 'stopsChanged' (numeric stops of shift), 'changed' (which parameter was changed), 'summary' (human-readable explanation), 'verdict', 'reasons' (array of explanatory strings), 'degraded' (boolean flag), 'disclaimer', and 'notChecked' fields.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "aperture",
      "shutter",
      "iso"
     ],
     "properties": {
      "iso": {
       "type": "number",
       "description": "Current ISO"
      },
      "newIso": {
       "type": "number",
       "description": "New ISO"
      },
      "shutter": {
       "type": "string",
       "description": "Current shutter such as 1/125"
      },
      "aperture": {
       "type": "number",
       "description": "Current f-number"
      },
      "newShutter": {
       "type": "string",
       "description": "New shutter"
      },
      "newAperture": {
       "type": "number",
       "description": "New f-number (give exactly one new value)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "asOf": {
       "type": [
        "null",
        "string"
       ]
      },
      "after": {
       "type": [
        "null",
        "object"
       ],
       "properties": {
        "iso": {
         "type": [
          "null",
          "number"
         ]
        },
        "shutter": {
         "type": [
          "null",
          "string"
         ]
        },
        "aperture": {
         "type": [
          "null",
          "number"
         ]
        },
        "shutterS": {
         "type": [
          "null",
          "number"
         ]
        },
        "nearestStandardAperture": {
         "type": [
          "null",
          "number"
         ]
        }
       }
      },
      "before": {
       "type": [
        "null",
        "object"
       ],
       "properties": {
        "iso": {
         "type": [
          "null",
          "number"
         ]
        },
        "aperture": {
         "type": [
          "null",
          "number"
         ]
        },
        "shutterS": {
         "type": [
          "null",
          "number"
         ]
        }
       }
      },
      "source": {
       "type"
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/photography-exposure-trade-off-calculator-957c53a9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from photo-calc.x402tookit.com](https://www.zero.xyz/host/photo-calc.x402tookit.com/llms.txt)
