---
title: "Classify emotion and delivery with Resonance-2"
method: POST
path: "/v1/audio/resonance-2"
tags: ["Affect"]
---

# Classify emotion and delivery with Resonance-2

`POST /v1/audio/resonance-2`

## Request

- Base URL: `https://speech-api.oruk.ai`
- URL: `https://speech-api.oruk.ai/v1/audio/resonance-2`
- Auth: HTTP bearer

Returns six signed opposite axes, 19 unipolar scores, all 31 category scores, and calibrated selected labels. Opposite labels cannot both be selected. Send 0.1–120 seconds of audio, at most 30 MiB. Longer files use nonoverlapping 20-second windows and average logits before calibration. Digital silence abstains with zero scores; there is no forced top label. Use regime=f1 (default) or regime=precision as a query parameter. Same shared plan minutes and affect tariff as Resonance 1: $0.0100 per audio minute for legacy metered accounts, one-second minimum. Requires approved organization access; existing accounts retain access. Request at /v1/models/oruk-resonance-2/access.

## Query parameters

- `regime` 'f1' | 'precision'

## Response `200`

Successful Response

- Resonance2SidecarResponse
  - `model` 'oruk-resonance-2'
  - `model_revision` 'b34570175184c22066f9d3b595d52ef62281adb9a1d51c332d3874b8ff66832b' | 'bca79fa889fbf0d8a5b23d41c1dc6303bab43576dcdbc2036980fbfd9b6af9b2'
  - `calibration_revision` 'ccd5948dc3a3cbfd628b158ccf9f95ac582da38c2e8f242128c1e465615e1c07'
  - `duration` number, required
  - `window_count` integer, required
  - `aggregation` 'mean_window_logits'
  - `scores` object, required
  - `axes` object, required
  - `unipolar` object, required
  - `labels` SelectedLabel[], required
    - `label` string, required
    - `score` number, required
  - `regime` 'f1' | 'precision', required
  - `calibrated` true, required
  - `abstained` boolean, required
  - `abstention_reason` 'digital_silence', nullable, required
  - `inference_ms` number, required
  - `id` string, required
  - `object` 'speech.affect.result'
  - `task` 'affect'
  - `usage` Resonance2SidecarUsage, required
    - `audio_seconds` number, required: Measured audio duration
    - `billable_seconds` number, required: Duration used for billing; one-second minimum
    - `rate_per_minute_usd` string, required
    - `estimated_cost_usd` string, required
    - `pricing_version` string, required
    - `billing_unit` 'audio_second' | 'request'
    - `rate_per_request_usd` string, nullable: Flat price per billable check
    - `rate_per_hour_usd` string, nullable

## Other responses

- `403`: model_access_required: organization approval required. No inference or billing occurs.
- `422`: Validation Error

---

[API](https://skmtc.dev/oruk/apis/oruk-speech-api.md) · [All operations](https://skmtc.dev/oruk/apis/oruk-speech-api/llms.txt) · [OpenAPI document](https://skmtc.dev/oruk/apis/oruk-speech-api/revisions/c668cecab401?raw)
