# Music Theory Interval Calculator

> Music Theory Interval Calculator is a paid API for AI agents from music-theory.x402tookit.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-30).

Calculates the interval between two notes (quality, number, semitones) or finds the note a given interval above or below a starting note.

## Facts

- Endpoint: GET https://music-theory.x402tookit.com/interval?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/music-theory-interval-calculator-3115c582
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_udlIREFvEqFvQ3UbMvJL9

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 music-theory-interval-calculator-3115c582
```

Example prompt: What's the interval between F#4 and A4 — I need the quality, interval number, and how many semitones it spans?

## When to prefer this

Use this endpoint when you need precise music-theory interval analysis: naming the interval between two notes, counting semitones, finding inversions, or computing the note reached by moving a specific interval from a starting pitch. Prefer this over a general-purpose LLM for accuracy and structured output, especially when building ear-training apps, harmony analyzers, chord voicing tools, or transposition helpers.

## Known failure modes

- Invalid or unrecognized note name returns an error or null fields
- Missing required 'from' parameter causes a bad request
- Unsupported interval symbol returns null or degraded result
- Octave out of range may produce unexpected results
- Conflicting parameters (both 'to' and 'interval') may cause ambiguous resolution

## How this service works

Interval between two notes (quality, number, semitones) or the note a given interval above or below a note.

## Output

Returns the interval quality (e.g. major, minor, perfect, diminished, augmented), interval number (e.g. 3rd, 5th), semitone count, full name (e.g. 'Major Third'), inversion, whether it is compound or descending, and optionally the resolved target note when an interval and direction are given instead of a second note.

## 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": [
      "from"
     ],
     "properties": {
      "to": {
       "type": "string",
       "description": "End note: names the interval from start to end"
      },
      "from": {
       "type": "string",
       "description": "Start note, optionally with octave: C, F#4, Bb3"
      },
      "interval": {
       "type": "string",
       "description": "Interval to apply instead of 'to': P1 m2 M2 m3 M3 P4 A4 d5 P5 m6 M6 m7 M7 P8 M9 ..."
      },
      "direction": {
       "type": "string",
       "description": "up (default) or down, used with interval"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "to": {
       "type": [
        "null",
        "string"
       ]
      },
      "asOf": {
       "type": [
        "null",
        "string"
       ]
      },
      "from": {
       "type": [
        "null",
        "string"
       ]
      },
      "number": {
       "type": [
        "null",
        "number"
       ]
      },
      "source": {
       "type": [
        "null",
        "string"
       ]
      },
      "quality": {
       "type": [
        "null",
        "string"
       ]
      },
      "reasons": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "string"
       }
      },
      "summary": {
       "type": [
        "null",
        "string"
       ]
      },
      "verdict": {
       "type": [
        "null",
        "string"
       ]
      },
      "compound": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "degraded": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "fullName": {
       "type": [
        "null",
        "string"
       ]
      },
      "interval": {
       "type": [
        "null",
        "string"
       ]
      },
      "inversion": {
       "type": [
        "null",
        "string"
    
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/music-theory-interval-calculator-3115c582/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from music-theory.x402tookit.com](https://www.zero.xyz/host/music-theory.x402tookit.com/llms.txt)
