> ## Documentation Index
> Fetch the complete documentation index at: https://guide.omnia-voice.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Begin recognition after upload

> Second step of the signed-URL flow. Call once the `PUT` to `uploadUrl` has
completed. Idempotent — calling it again returns the current status.




## OpenAPI

````yaml /openapi-stt.yaml post /batch/{operationId}/start
openapi: 3.0.0
info:
  title: Omnia Speech-to-Text API
  description: >
    Standalone transcription. Send audio in, get text back — no agent involved.


    Three modes:

    - `POST /transcribe` — files up to 60 seconds, synchronous.

    - `POST /batch` — long audio up to 8 hours, asynchronous with polling.

    - `wss://stt.omnia-voice.com/stream` and `/v2/stream` — live audio.
    WebSocket
      endpoints are documented on the [Streaming protocol](/api-reference/speech-to-text/streaming) page.

    Authenticate with your Omnia API key in the `X-API-Key` header.
  version: 2.1.0
  contact:
    email: support@omnia-voice.com
servers:
  - url: https://stt.omnia-voice.com
    description: Production
security:
  - ApiKeyAuth: []
tags:
  - name: Transcription
    description: File and long-audio transcription
  - name: Languages
    description: Supported languages
paths:
  /batch/{operationId}/start:
    post:
      tags:
        - Transcription
      summary: Begin recognition after upload
      description: >
        Second step of the signed-URL flow. Call once the `PUT` to `uploadUrl`
        has

        completed. Idempotent — calling it again returns the current status.
      operationId: startBatchAfterUpload
      parameters:
        - $ref: '#/components/parameters/OperationId'
      responses:
        '202':
          description: Operation started
          content:
            application/json:
              schema:
                type: object
                properties:
                  operationId:
                    type: string
                  status:
                    type: string
                  pollUrl:
                    type: string
                  audioBytes:
                    type: integer
        '400':
          description: No file uploaded yet
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Unknown operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  parameters:
    OperationId:
      name: operationId
      in: path
      required: true
      schema:
        type: string
        example: batch_a1b2c3d4-0000-0000-0000-000000000000
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: Human-readable description.
        message:
          type: string
          description: Same text as `error`.
        code:
          type: string
          description: Machine-readable code.
          example: INVALID_API_KEY
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Your Omnia API key (`om_…` or `ck_…`)

````