Run a valid deepgram.transcribe_audio call through the same SDK surface used by every toolkit.

Minimal tool call

ts
import { Eyeball } from "@eyeball/sdk";

const eyeball = new Eyeball({
  apiKey: process.env.EYEBALL_API_KEY!,
  baseUrl: process.env.EYEBALL_EXECUTOR_URL!,
});

const output = await eyeball.tools.run(
  "deepgram.transcribe_audio",
  {
  "audioRef": "example_audioRef",
  "smartFormat": true
},
  { userId: "demo_user" },
);
console.log(output);

The model receives canonical output. Your application retains the execution envelope through tools.execute or the execution APIs when it needs IDs, status, versions, and latency.

Supported canonical tools

ToolPurposeExecutionEffectVersion
deepgram.transcribe_audioTranscribe referenced audio into normalized text. Mock mode resolves deterministic audio_ref registry entries.sync or asyncread1.0.0

Only the rows above are implemented. A capability tool omitted by this manifest returns not_supported; eyeball never synthesizes provider parity.

Supported canonical triggers

This manifest does not implement a canonical trigger.

Input and output schemas

deepgram.transcribe_audio

Input schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:voice_telephony:transcribe_audio:1.0.0:deepgram",
  "type": "object",
  "description": "Audio reference and optional speech-recognition controls.",
  "additionalProperties": false,
  "required": [
    "audioRef"
  ],
  "properties": {
    "audioRef": {
      "type": "string",
      "description": "Opaque audio reference to transcribe.",
      "minLength": 1
    },
    "model": {
      "type": "string",
      "description": "Optional provider recognition model.",
      "minLength": 1
    },
    "language": {
      "type": "string",
      "description": "BCP 47 language hint.",
      "minLength": 1
    },
    "smartFormat": {
      "type": "boolean",
      "description": "Whether the provider should normalize written formatting.",
      "default": true
    }
  }
}

Output schema

JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:eyeball:voice_telephony:transcribe_audio:output:1.0.0:deepgram",
  "type": "object",
  "description": "Best transcript alternative and word timings.",
  "additionalProperties": false,
  "required": [
    "text",
    "confidence",
    "words"
  ],
  "properties": {
    "text": {
      "type": "string",
      "description": "Best transcript text."
    },
    "confidence": {
      "type": "number",
      "minimum": 0,
      "maximum": 1
    },
    "language": {
      "type": "string",
      "description": "Detected or requested transcript language.",
      "minLength": 1
    },
    "words": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "word",
          "startMs",
          "endMs",
          "confidence"
        ],
        "properties": {
          "word": {
            "type": "string",
            "minLength": 1
          },
          "startMs": {
            "type": "integer",
            "minimum": 0
          },
          "endMs": {
            "type": "integer",
            "minimum": 0
          },
          "confidence": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          }
        }
      }
    }
  }
}

Authentication

PropertyValue
Auth classapi_key
Required scopesNone
Optional scopesNone
Credential fieldsapiKey

Credentials are resolved inside the executor by CredentialProvider. They never belong in tool input, x_provider, model context, logs, or execution output.

Provider-specific extensions

This manifest declares no provider-specific schema extensions. Use only canonical fields.

Provider differences may appear only under x_provider.deepgram and only when the schema above declares them.

Sync and async behavior

All tools are synchronous by nature, but callers may choose mode: "async" to queue them.

Mutations require a stable Idempotency-Key. The TypeScript SDK accepts it as idempotencyKey; it is never part of the JSON request body.

REST example

Bash
curl "$EYEBALL_EXECUTOR_URL/v1/execute" \
  -H "Authorization: Bearer $EYEBALL_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{"tool":"deepgram.transcribe_audio","userId":"demo_user","input":{"audioRef":"example_audioRef","smartFormat":true},"mode":"sync"}'

Mock support

Point EYEBALL_EXECUTOR_URL at a mock-configured executor to run through the real catalog, validation, credential seam, adapter, normalized errors, and execution records with no Deepgram account. Mock selection changes the executor endpoint and trusted provider base-URL configuration, never the execute request.

Limitations

  • This page describes the manifest's explicit P0 subset, not every operation offered by the provider.
  • Provider account policy, consent UI, quota details, and current wire compatibility still require a real-provider certification pass.
  • Fields outside the canonical schemas and declared x_provider extensions are rejected.

Versions

ContractVersion
Runtime catalog1.1
Manifest catalog1.0
Manifest schema1.0
Sourcenative
TierP0
Capabilitiesvoice_telephony

Next

Use Testing with mocks to exercise this toolkit before connecting a live provider account.