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

# Translate a transcript into many languages with cue-accurate captions, and optionally dubbed audio.

> Translate a transcript into many languages with cue-accurate captions, and optionally dubbed audio.

**5 credits per language-minute** (250 with dub: true).



## OpenAPI

````yaml /openapi.json post /v1/text/localize
openapi: 3.1.0
info:
  title: Sigmora API
  version: v1
  description: >-
    Whole pipelines as single calls: describe an object and get an animated 3D
    render;

    send raw footage and get an edited cut; hand over a transcript and get it
    captioned and

    dubbed with the cue timing intact.


    **Auth.** `Authorization: Bearer sk_live_...`. A key is bound to one
    workspace, so

    requests carry no tenant id. A session caller may instead name the workspace
    with an `x-workspace-slug` header.


    **Errors.** Every failure carries a stable `code` alongside its message.
    Branch on the

    code; the message is for humans.


    **Jobs.** Long-running work returns a job id, polled at `GET
    /v1/jobs/{jobId}` whatever

    produced it.


    **Projects.** Every call files its output in a project — the container
    holding the

    script, the footage, the renders and the thread that produced them. Pass
    `projectId`

    to choose one, or omit it and get a fresh project back in the response. The
    same

    containers appear in the dashboard, because it is the same API underneath.
servers:
  - url: https://api.sigmora.org
    description: Sigmora API
security:
  - apiKey: []
paths:
  /v1/text/localize:
    post:
      tags:
        - text
      summary: >-
        Translate a transcript into many languages with cue-accurate captions,
        and optionally dubbed audio.
      description: >-
        Translate a transcript into many languages with cue-accurate captions,
        and optionally dubbed audio.


        **5 credits per language-minute** (250 with dub: true).
      operationId: text.localize
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: https://json-schema.org/draft/2020-12/schema
              type: object
              properties:
                transcript:
                  description: >-
                    The transcript to translate. Send exactly one of
                    `transcript` or `assetId`.
                  type: object
                  properties:
                    language:
                      type: string
                      minLength: 1
                      maxLength: 20
                    cues:
                      minItems: 1
                      maxItems: 5000
                      type: array
                      items:
                        type: object
                        properties:
                          start:
                            type: number
                            minimum: 0
                          end:
                            type: number
                            minimum: 0
                          text:
                            type: string
                            minLength: 1
                          speaker:
                            type: string
                            maxLength: 120
                        required:
                          - start
                          - end
                          - text
                  required:
                    - language
                    - cues
                assetId:
                  description: >-
                    Translate a transcript this workspace has already had
                    transcribed instead of sending one. Send exactly one of
                    `transcript` or `assetId`. An asset in another workspace is
                    reported as not found.
                  type: string
                  minLength: 1
                  maxLength: 200
                sourceLanguage:
                  description: >-
                    Source language. Required with `assetId` when no language
                    was recorded for that asset — there is no default, because
                    guessing would mis-translate a non-English asset silently.
                  type: string
                  minLength: 1
                  maxLength: 20
                targetLanguages:
                  minItems: 1
                  maxItems: 20
                  type: array
                  items:
                    type: string
                    minLength: 1
                    maxLength: 20
                dub:
                  default: false
                  type: boolean
                captionFormat:
                  type: string
                  enum:
                    - srt
                    - vtt
                voiceId:
                  type: string
                  maxLength: 120
                provider:
                  type: string
                  maxLength: 60
                context:
                  type: string
                  maxLength: 4000
                projectId:
                  type: string
                  maxLength: 200
                  description: >-
                    The project to file this work under. Required — create one
                    with `POST /v1/projects`. A project this workspace does not
                    own answers `not_found`; the work is never silently filed
                    somewhere else.
              required:
                - targetLanguages
                - projectId
      responses:
        '200':
          description: Completed.
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - projectId
                properties:
                  success:
                    type: boolean
                    enum:
                      - true
                  projectId:
                    type: string
                    description: The project this work was filed under.
                additionalProperties: true
        '400':
          description: '`invalid_request` — the body failed validation.'
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - error
                  - code
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: string
                    description: >-
                      Human-readable. Wording may change between releases — do
                      not match on it.
                  code:
                    type: string
                    enum:
                      - invalid_request
                      - unauthorized
                      - forbidden
                      - origin_not_allowed
                      - not_found
                      - conflict
                      - payload_too_large
                      - insufficient_credits
                      - budget_capped
                      - rate_limited
                      - capability_unavailable
                      - upstream_unavailable
                      - upstream_error
                      - internal_error
                    description: Stable machine-readable cause. Branch on this.
                  details:
                    description: >-
                      Optional structured context, e.g. which field failed
                      validation.
        '401':
          description: '`unauthorized` — missing, invalid or revoked credential.'
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - error
                  - code
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: string
                    description: >-
                      Human-readable. Wording may change between releases — do
                      not match on it.
                  code:
                    type: string
                    enum:
                      - invalid_request
                      - unauthorized
                      - forbidden
                      - origin_not_allowed
                      - not_found
                      - conflict
                      - payload_too_large
                      - insufficient_credits
                      - budget_capped
                      - rate_limited
                      - capability_unavailable
                      - upstream_unavailable
                      - upstream_error
                      - internal_error
                    description: Stable machine-readable cause. Branch on this.
                  details:
                    description: >-
                      Optional structured context, e.g. which field failed
                      validation.
        '402':
          description: >-
            `insufficient_credits` (top up and retry) or `budget_capped` (a
            budget policy caps this user; topping up will not clear it).
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - error
                  - code
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: string
                    description: >-
                      Human-readable. Wording may change between releases — do
                      not match on it.
                  code:
                    type: string
                    enum:
                      - invalid_request
                      - unauthorized
                      - forbidden
                      - origin_not_allowed
                      - not_found
                      - conflict
                      - payload_too_large
                      - insufficient_credits
                      - budget_capped
                      - rate_limited
                      - capability_unavailable
                      - upstream_unavailable
                      - upstream_error
                      - internal_error
                    description: Stable machine-readable cause. Branch on this.
                  details:
                    description: >-
                      Optional structured context, e.g. which field failed
                      validation.
        '403':
          description: >-
            `forbidden` / `origin_not_allowed` — authenticated but not
            permitted.
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - error
                  - code
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: string
                    description: >-
                      Human-readable. Wording may change between releases — do
                      not match on it.
                  code:
                    type: string
                    enum:
                      - invalid_request
                      - unauthorized
                      - forbidden
                      - origin_not_allowed
                      - not_found
                      - conflict
                      - payload_too_large
                      - insufficient_credits
                      - budget_capped
                      - rate_limited
                      - capability_unavailable
                      - upstream_unavailable
                      - upstream_error
                      - internal_error
                    description: Stable machine-readable cause. Branch on this.
                  details:
                    description: >-
                      Optional structured context, e.g. which field failed
                      validation.
        '429':
          description: '`rate_limited` — honour `Retry-After`.'
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - error
                  - code
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: string
                    description: >-
                      Human-readable. Wording may change between releases — do
                      not match on it.
                  code:
                    type: string
                    enum:
                      - invalid_request
                      - unauthorized
                      - forbidden
                      - origin_not_allowed
                      - not_found
                      - conflict
                      - payload_too_large
                      - insufficient_credits
                      - budget_capped
                      - rate_limited
                      - capability_unavailable
                      - upstream_unavailable
                      - upstream_error
                      - internal_error
                    description: Stable machine-readable cause. Branch on this.
                  details:
                    description: >-
                      Optional structured context, e.g. which field failed
                      validation.
        '500':
          description: '`internal_error`.'
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - error
                  - code
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: string
                    description: >-
                      Human-readable. Wording may change between releases — do
                      not match on it.
                  code:
                    type: string
                    enum:
                      - invalid_request
                      - unauthorized
                      - forbidden
                      - origin_not_allowed
                      - not_found
                      - conflict
                      - payload_too_large
                      - insufficient_credits
                      - budget_capped
                      - rate_limited
                      - capability_unavailable
                      - upstream_unavailable
                      - upstream_error
                      - internal_error
                    description: Stable machine-readable cause. Branch on this.
                  details:
                    description: >-
                      Optional structured context, e.g. which field failed
                      validation.
        '502':
          description: '`upstream_error` — a dependency answered with an error.'
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - error
                  - code
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: string
                    description: >-
                      Human-readable. Wording may change between releases — do
                      not match on it.
                  code:
                    type: string
                    enum:
                      - invalid_request
                      - unauthorized
                      - forbidden
                      - origin_not_allowed
                      - not_found
                      - conflict
                      - payload_too_large
                      - insufficient_credits
                      - budget_capped
                      - rate_limited
                      - capability_unavailable
                      - upstream_unavailable
                      - upstream_error
                      - internal_error
                    description: Stable machine-readable cause. Branch on this.
                  details:
                    description: >-
                      Optional structured context, e.g. which field failed
                      validation.
        '503':
          description: >-
            `upstream_unavailable` (retry with backoff) or
            `capability_unavailable` (this deployment cannot serve it; retrying
            will not help).
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - error
                  - code
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: string
                    description: >-
                      Human-readable. Wording may change between releases — do
                      not match on it.
                  code:
                    type: string
                    enum:
                      - invalid_request
                      - unauthorized
                      - forbidden
                      - origin_not_allowed
                      - not_found
                      - conflict
                      - payload_too_large
                      - insufficient_credits
                      - budget_capped
                      - rate_limited
                      - capability_unavailable
                      - upstream_unavailable
                      - upstream_error
                      - internal_error
                    description: Stable machine-readable cause. Branch on this.
                  details:
                    description: >-
                      Optional structured context, e.g. which field failed
                      validation.
components:
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: A workspace API key (`sk_live_...`), minted from workspace settings.

````