oruk-ai Models API

The Models API from oruk-ai — 2 operation(s) for models.

Operations 3

GET /v1/models List public models and supported tasks #
GET /v1/models/oruk-resonance-2/access Read organization Resonance-2 access #
POST /v1/models/oruk-resonance-2/access Request Resonance-2 access #

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/oruk-ai:oruk-ai-models-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

oruk-ai-models-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: oruk Speech Models API
  version: 1.0.0
  description: HTTP file API for English transcription, emotion detection, speaking style, speech analysis, and speaking-proficiency scoring. Realtime is a separate multilingual WebSocket preview. Subscription models use plan minutes. Orukeet is an English preview included in every subscription at $0.00045 per audio minute ($0.027 per audio hour); optional tasks add their published rates. Orukeet usage.cost_microusd is usage valued at task rates, not an additional charge when covered by the monthly allowance. Only excess usage is billed. Existing credit-only accounts retain their credit balance. See https://oruk.ai/docs#orukeet and https://oruk.ai/pricing. Spectra-2 (oruk-spectra-2) adds 25-language transcription and 31 clip-level emotion/style scores through the main analysis and transcription routes. Uses shared speech understanding plan minutes. See https://oruk.ai/docs#spectra-2.
servers:
- url: https://speech-api.oruk.ai
  description: Production
security:
- bearerAuth: []
tags:
- name: Models
paths:
  /v1/models:
    get:
      operationId: listModels
      summary: List public models and supported tasks
      responses:
        '200':
          description: Model catalog
          content:
            application/json:
              schema:
                type: object
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Models
  /v1/models/oruk-resonance-2/access:
    get:
      summary: Read organization Resonance-2 access
      operationId: getResonance2Access
      security:
      - HTTPBearer: []
      responses:
        '200':
          description: Organization model access status
          content:
            application/json:
              schema:
                type: object
                required:
                - model
                - status
                - approved
                properties:
                  model:
                    type: string
                    const: oruk-resonance-2
                  status:
                    type: string
                    enum:
                    - not_requested
                    - pending
                    - approved
                    - denied
                    - revoked
                  approved:
                    type: boolean
                  request_access_url:
                    type: string
                    format: uri
        '401':
          description: Invalid API key
      tags:
      - Models
    post:
      summary: Request Resonance-2 access
      operationId: requestResonance2Access
      security:
      - HTTPBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - use_case
              properties:
                use_case:
                  type: string
                  minLength: 10
                  maxLength: 2000
      responses:
        '200':
          description: Organization model access status
          content:
            application/json:
              schema:
                type: object
                required:
                - model
                - status
                - approved
                properties:
                  model:
                    type: string
                    const: oruk-resonance-2
                  status:
                    type: string
                    enum:
                    - not_requested
                    - pending
                    - approved
                    - denied
                    - revoked
                  approved:
                    type: boolean
                  request_access_url:
                    type: string
                    format: uri
        '202':
          description: Organization model access status
          content:
            application/json:
              schema:
                type: object
                required:
                - model
                - status
                - approved
                properties:
                  model:
                    type: string
                    const: oruk-resonance-2
                  status:
                    type: string
                    enum:
                    - not_requested
                    - pending
                    - approved
                    - denied
                    - revoked
                  approved:
                    type: boolean
                  request_access_url:
                    type: string
                    format: uri
        '400':
          description: Invalid use case or JSON
        '401':
          description: Invalid API key
        '413':
          description: Body exceeds 12 KB
        '415':
          description: Requires application/json
        '429':
          description: Too many requests
      tags:
      - Models
components:
  responses:
    Error:
      description: Stable error envelope
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
  schemas:
    ErrorEnvelope:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - type
          - code
          - message
          properties:
            type:
              type: string
            code:
              type: string
            message:
              type: string
            param:
              type:
              - string
              - 'null'
            request_id:
              type:
              - string
              - 'null'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: oruk API key
    HTTPBearer:
      type: http
      scheme: bearer
x-orukeet:
  model: oruk-orukeet
  billing_basis: subscription
  usd_per_audio_minute: '0.00045'
  optional_tasks:
    emotion_detection: '0.0080'
    diarize: '0.0040'
  max_audio_seconds: 60
  max_multipart_bytes: 4194304
  websocket_url: wss://orukeet-direct.oruk.ai/v1/audio/transcriptions/stream
  docs: https://oruk.ai/docs#orukeet
x-resonance-2:
  id: oruk-resonance-2
  availability: preview
  endpoint: /v1/audio/resonance-2
  documentation: https://oruk.ai/docs#resonance-2
  schema: https://oruk.ai/resonance-2.openapi.json
  pricing: Same shared plan minutes and legacy affect rate as Resonance 1.
x-spectra-2:
  model: oruk-spectra-2
  docs: https://oruk.ai/docs#spectra-2
  lifecycle: Stable
  supported_tasks:
  - transcription
  - analysis
  transcription_languages:
  - bg
  - hr
  - cs
  - da
  - nl
  - en
  - et
  - fi
  - fr
  - de
  - el
  - hu
  - it
  - lv
  - lt
  - mt
  - pl
  - pt
  - ro
  - ru
  - sk
  - sl
  - es
  - sv
  - uk
  language_details:
  - code: bg
    name: Bulgarian
  - code: hr
    name: Croatian
  - code: cs
    name: Czech
  - code: da
    name: Danish
  - code: nl
    name: Dutch
  - code: en
    name: English
  - code: et
    name: Estonian
  - code: fi
    name: Finnish
  - code: fr
    name: French
  - code: de
    name: German
  - code: el
    name: Greek
  - code: hu
    name: Hungarian
  - code: it
    name: Italian
  - code: lv
    name: Latvian
  - code: lt
    name: Lithuanian
  - code: mt
    name: Maltese
  - code: pl
    name: Polish
  - code: pt
    name: Portuguese
  - code: ro
    name: Romanian
  - code: ru
    name: Russian
  - code: sk
    name: Slovak
  - code: sl
    name: Slovenian
  - code: es
    name: Spanish
  - code: sv
    name: Swedish
  - code: uk
    name: Ukrainian
  language_detection: automatic
  min_audio_seconds: 0.045
  max_audio_seconds: 60
  max_file_bytes: 4194304
  max_multipart_bytes: 4210688
  sample_rate: 16000
  channels: 1
  formats:
  - wav
  - flac
  - pcm16
  - float32le
  score_scope: clip
  emotion_labels:
  - happy
  - excited
  - hopeful
  - sad
  - worried
  - angry
  - frustrated
  - disappointed
  - scared
  - disgusted
  - surprised
  - embarrassed
  - proud
  - relieved
  - neutral
  style_labels:
  - energetic
  - passionate
  - irritated
  - warm
  - playful
  - sarcastic
  - deadpan
  - hesitant
  - confident
  - sincere
  - skeptical
  - tired
  - formal
  - casual
  - impatient
  - distracted
  subscription_allowance: shared_audio_minutes
  minimum_billable_seconds: 1
  reference_usd_per_audio_minute:
    transcription: '0.0080'
    analysis: '0.0120'
  streaming:
    url: wss://speech-api.oruk.ai/v1/audio/spectra-2/stream
    authentication: Authorization bearer header from server clients
    input: mono 16 kHz PCM16 little-endian binary frames
    max_frame_bytes: 32768
    max_audio_seconds: 60
    finalization: explicit finish message
    output: one final Spectra2Result after finish
    provisional_results: false
    prepared_connection:
      session_endpoint: /v1/audio/sessions
      connection_endpoint: /v1/audio/stream-sessions
      lifetime_seconds: 30
      server_only: true
      recording_limit: Use max_audio_seconds from ready and finish before expires_at_ms.