> ## Documentation Index
> Fetch the complete documentation index at: https://docs.case.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Create transcription job

> Creates an asynchronous transcription job for audio files. Supports two modes:

**Vault-based (recommended)**: Pass `vault_id` and `object_id` to transcribe audio from your vault. The transcript will automatically be saved back to the vault when complete.

**Direct URL (legacy)**: Pass `audio_url` for direct transcription without automatic storage.



## OpenAPI

````yaml /openapi.json post /voice/transcription
openapi: 3.1.0
info:
  title: Case.dev API
  description: >-
    The AI-native platform for legal technology. Build smarter legal
    applications with our suite of AI-powered APIs.
  version: 1.0.0
  contact:
    name: Case.dev Support
    email: support@casemark.com
    url: https://case.dev
  license:
    name: Proprietary
    url: https://case.dev/terms
servers:
  - url: https://api.case.dev
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Vaults
    description: Secure document storage with semantic search and GraphRAG
  - name: Memory
    description: >-
      Persistent memory for AI agents with semantic search and 12 generic
      indexed tag fields
  - name: OCR
    description: Extract text from PDFs, images, and scanned documents
  - name: Voice
    description: Audio transcription and text-to-speech
  - name: LLMs
    description: Access 40+ language models through a unified API
  - name: Search
    description: Web search, AI answers, and deep research
  - name: Mail
    description: Managed inboxes for agent email workflows
  - name: Media
    description: Transcript retrieval and captioned media clip generation
  - name: Legal
    description: Legal research tools including citation verification
  - name: Privilege
    description: Privilege detection for e-discovery and litigation workflows
  - name: Compute
    description: Serverless GPU and CPU infrastructure
  - name: Format
    description: Document formatting and template rendering (MD/JSON to PDF/DOCX)
  - name: SuperDoc
    description: Document conversion and template automation
  - name: Webhooks
    description: Webhook endpoint management
  - name: System
    description: Public system metadata and discovery endpoints
  - name: Usage
    description: Usage reporting and webhook subscriptions
  - name: Database
    description: Serverless PostgreSQL databases with instant branching
  - name: Translation
    description: Language detection and translation for multilingual legal workflows
  - name: Skills
    description: Search and read legal AI skills for agents
  - name: Agents
    description: >-
      Create, manage, and execute AI agents with tool access, sandbox
      environments, and async run workflows
  - name: Matters
    description: Matter-native legal workspaces and orchestration primitives
  - name: Applications Projects
    description: Web application project management
  - name: Applications Deployments
    description: Web application deployment management
  - name: Applications Domains
    description: Custom domain configuration for applications
  - name: Applications Env Vars
    description: Environment variable management for applications
paths:
  /voice/transcription:
    post:
      tags:
        - Voice
      summary: Create transcription job
      description: >-
        Creates an asynchronous transcription job for audio files. Supports two
        modes:


        **Vault-based (recommended)**: Pass `vault_id` and `object_id` to
        transcribe audio from your vault. The transcript will automatically be
        saved back to the vault when complete.


        **Direct URL (legacy)**: Pass `audio_url` for direct transcription
        without automatic storage.
      operationId: createTranscription
      requestBody:
        description: Transcription job configuration
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                vault_id:
                  type: string
                  description: Vault ID containing the audio file (use with object_id)
                object_id:
                  type: string
                  description: Object ID of the audio file in the vault (use with vault_id)
                format:
                  type: string
                  enum:
                    - json
                    - text
                  default: json
                  description: Output format for the transcript when using vault mode
                audio_url:
                  type: string
                  description: >-
                    URL of the audio file to transcribe (legacy mode, no
                    auto-storage)
                language_code:
                  type: string
                  description: >-
                    Language code (e.g., 'en_us', 'es', 'fr'). If not specified,
                    language will be auto-detected
                speaker_labels:
                  type: boolean
                  description: Enable speaker identification and labeling
                  default: false
                speakers_expected:
                  type: integer
                  description: Expected number of speakers (improves accuracy when known)
                auto_highlights:
                  type: boolean
                  description: Automatically extract key phrases and topics
                  default: false
                content_safety:
                  type: boolean
                  description: Enable content moderation and safety labeling
                  default: false
                language_detection:
                  type: boolean
                  description: Enable automatic language detection
                  default: false
                speech_models:
                  type: array
                  items:
                    type: string
                  description: Priority-ordered speech models to use
                  default:
                    - universal-3-pro
                    - universal-2
                punctuate:
                  type: boolean
                  description: Add punctuation to the transcript
                  default: true
                format_text:
                  type: boolean
                  description: Format text with proper capitalization
                  default: true
                word_boost:
                  type: array
                  items:
                    type: string
                  description: Custom vocabulary words to boost (e.g., legal terms)
                boost_param:
                  type: string
                  enum:
                    - low
                    - default
                    - high
                  description: How much to boost custom vocabulary
      responses:
        '200':
          description: Transcription job created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Unique transcription job ID
                  status:
                    type: string
                    description: Current status of the transcription job
                    enum:
                      - queued
                      - processing
                      - completed
                      - error
                  vault_id:
                    type: string
                    description: Vault ID (only for vault-based transcription)
                  source_object_id:
                    type: string
                    description: >-
                      Source audio object ID (only for vault-based
                      transcription)
              example:
                id: tr_abc123def456
                status: processing
                vault_id: vault_xyz789
                source_object_id: obj_audio_123
        '400':
          description: Bad request - missing required fields or invalid parameters
        '401':
          description: Unauthorized - invalid or missing API key
        '403':
          description: Forbidden - API key lacks voice/transcription service permissions
        '404':
          description: Vault or object not found
        '502':
          description: >-
            Transcription provider temporarily unavailable (e.g., billing or
            out-of-funds error)
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: 'null'
                    description: Always null for provider errors
                  status:
                    type: string
                    enum:
                      - error
                    description: Error status indicating provider failure
                  error:
                    type: string
                    description: Human-readable error message
                required:
                  - id
                  - status
                  - error
              example:
                id: null
                status: error
                error: >-
                  Transcription service temporarily unavailable due to a
                  provider billing issue. Please try again later.
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: API key starting with `sk_case_`

````