GET
/
suno
/
downbeats
/
{taskId}
Get Downbeats
curl --request GET \
  --url https://api.unifically.com/suno/downbeats/{taskId} \
  --header 'Authorization: Bearer <token>'
{
  "task_id": "<string>",
  "a": {
    "state": "<string>",
    "downbeats": [
      {}
    ],
    "raw_downbeats": [
      {}
    ]
  },
  "b": {}
}
Get timing information for song downbeats.

Request Example

curl "https://api.unifically.com/suno/downbeats/3544bab1-ac87-4e27-b632-7aac52150099" \
  -H "Authorization: Bearer YOUR_API_KEY"
Replace 3544bab1-ac87-4e27-b632-7aac52150099 with your actual task ID.

Response

{
  "code": 200,
  "data": {
    "task_id": "68c911ac-c8f4-4a4f-b7c4-eb6fa4f8ae92",
    "a": {
      "state": "complete",
      "downbeats": [
        [0.00085, 1],
        [0.61712, 2],
        [1.23598, 3],
        [1.85477, 4],
        [2.47262, 1],
        [3.09252, 2],
        [3.71067, 3],
        [4.32852, 4],
        [4.94744, 1],
        [5.56583, 2]
      ],
      "raw_downbeats": [
        [0, 1],
        [0.62, 2],
        [1.24, 3],
        [1.86, 4],
        [2.48, 1],
        [3.08, 2],
        [3.7, 3],
        [4.32, 4],
        [4.94, 1],
        [5.56, 2]
      ]
    },
    "b": {
      "state": "complete",
      "downbeats": [
        [0.02, 1],
        [0.71738, 2],
        [1.41473, 3],
        [2.11287, 4],
        [2.81083, 1],
        [3.5081, 2],
        [4.20598, 3],
        [4.9035, 4],
        [5.60088, 1],
        [6.29958, 2]
      ],
      "raw_downbeats": [
        [0, 1],
        [0.7, 2],
        [1.4, 3],
        [2.1, 4],
        [2.8, 1],
        [3.5, 2],
        [4.2, 3],
        [4.9, 4],
        [5.6, 1],
        [6.3, 2]
      ]
    },
    "error": {}
  }
}

Response Fields

The API returns downbeat information for two variations (a and b):
task_id
string
Task identifier
a
object
First variation’s downbeat data
state
string
Status: complete, pending, or failed
downbeats
array
Array of refined downbeat timestamps. Each entry is [time_in_seconds, beat_number]
  • Beat numbers: 1 (downbeat), 2, 3, 4 (typical 4/4 time signature)
  • Time values are precise floating-point numbers
raw_downbeats
array
Array of raw downbeat timestamps before refinement. Same format as downbeats.
b
object
Second variation’s downbeat data (same structure as a)

Use Cases

  • Beat synchronization for visual effects
  • DJ mixing and beat matching
  • Music analysis and tempo detection
  • Creating beat-reactive animations
  • Building rhythm-based games

Understanding Beat Numbers

In a typical 4/4 time signature:
  • 1: Downbeat (strongest beat, start of measure)
  • 2: Second beat
  • 3: Third beat
  • 4: Fourth beat (before next downbeat)