---
title: "Initiate a new pre recorded job"
method: POST
path: "/v2/pre-recorded"
tags: ["Pre-recorded V2"]
---

# Initiate a new pre recorded job

`POST /v2/pre-recorded`

## Request body

- InitTranscriptionRequest
  - `custom_vocabulary` boolean — **[Beta]** Can be either boolean to enable custom_vocabulary for this audio or an array with specific vocabulary list to feed the transcription model with
  - `custom_vocabulary_config` CustomVocabularyConfigDTO
    - `vocabulary` union[], required — Specific vocabulary list to feed the transcription model with. Each item can be a string or an object with the following properties: value, intensity, pronunciations, language.
      - union
        - CustomVocabularyEntryDTO
          - `value` string, required — The text used to replace in the transcription.
          - `intensity` number — The global intensity of the feature.
          - `pronunciations` string[] — The pronunciations used in the transcription.
          - `language` 'af' | 'am' | 'ar' | 'as' | 'az' | 'ba' | 'be' | 'bg' | 'bn' | 'bo' | 'br' | 'bs' | 'ca' | 'cs' | 'cy' | 'da' | 'de' | 'el' | 'en' | 'es' | 'et' | 'eu' | 'fa' | 'fi' | 'fo' | 'fr' | 'gl' | 'gu' | 'ha' | 'haw' | 'he' | 'hi' | 'hr' | 'ht' | 'hu' | 'hy' | 'id' | 'is' | 'it' | 'ja' | 'jw' | 'ka' | 'kk' | 'km' | 'kn' | 'ko' | 'la' | 'lb' | 'ln' | 'lo' | 'lt' | 'lv' | 'mg' | 'mi' | 'mk' | 'ml' | 'mn' | 'mr' | 'ms' | 'mt' | 'my' | 'ne' | 'nl' | 'nn' | 'no' | 'oc' | 'pa' | 'pl' | 'ps' | 'pt' | 'ro' | 'ru' | 'sa' | 'sd' | 'si' | 'sk' | 'sl' | 'sn' | 'so' | 'sq' | 'sr' | 'su' | 'sv' | 'sw' | 'ta' | 'te' | 'tg' | 'th' | 'tk' | 'tl' | 'tr' | 'tt' | 'uk' | 'ur' | 'uz' | 'vi' | 'yi' | 'yo' | 'zh' — Specify the language in which it will be pronounced when sound comparison occurs. Default to transcription language.
        - string
    - `default_intensity` number — Default intensity for the custom vocabulary
  - `callback_url` string, uri — **[Deprecated]** Use `callback`/`callback_config` instead. Callback URL we will do a `POST` request to with the result of the transcription
  - `callback` boolean — Enable callback for this transcription. If true, the `callback_config` property will be used to customize the callback behaviour
  - `callback_config` CallbackConfigDto
    - `url` string, uri, required — The URL to be called with the result of the transcription
    - `method` 'POST' | 'PUT' — The HTTP method to be used. Allowed values are `POST` or `PUT` (default: `POST`)
  - `subtitles` boolean — Enable subtitles generation for this transcription
  - `subtitles_config` SubtitlesConfigDTO
    - `formats` SubtitlesFormatEnum[] — Subtitles formats you want your transcription to be formatted to
    - `minimum_duration` number — Minimum duration of a subtitle in seconds
    - `maximum_duration` number — Maximum duration of a subtitle in seconds
    - `maximum_characters_per_row` integer — Maximum number of characters per row in a subtitle
    - `maximum_rows_per_caption` integer — Maximum number of rows per caption
    - `style` 'default' | 'compliance' — Style of the subtitles. Compliance mode refers to : https://loc.gov/preservation/digital/formats//fdd/fdd000569.shtml#:~:text=SRT%20files%20are%20basic%20text,alongside%2C%20example%3A%20%22MyVideo123
  - `diarization` boolean — Enable speaker recognition (diarization) for this audio
  - `diarization_config` DiarizationConfigDTO
    - `number_of_speakers` integer — Exact number of speakers in the audio
    - `min_speakers` integer — Minimum number of speakers in the audio
    - `max_speakers` integer — Maximum number of speakers in the audio
  - `translation` boolean — **[Beta]** Enable translation for this audio
  - `translation_config` TranslationConfigDTO
    - `target_languages` TranslationLanguageCodeEnum[], required — Target language in `iso639-1` format you want the transcription translated to
    - `model` 'base' | 'batch' | 'enhanced' — Model you want the translation model to use to translate
    - `match_original_utterances` boolean — Align translated utterances with the original ones
    - `lipsync` boolean — Whether to apply lipsync to the translated transcription.
    - `context_adaptation` boolean — Enables or disables context-aware translation features that allow the model to adapt translations based on provided context.
    - `context` string — Context information to improve translation accuracy
    - `informal` boolean — Forces the translation to use informal language forms when available in the target language.
  - `summarization` boolean — Enable summarization for this audio
  - `summarization_config` SummarizationConfigDTO
    - `type` 'general' | 'bullet_points' | 'concise' — The type of summarization to apply
  - `named_entity_recognition` boolean — **[Alpha]** Enable named entity recognition for this audio
  - `custom_spelling` boolean — **[Alpha]** Enable custom spelling for this audio
  - `custom_spelling_config` CustomSpellingConfigDTO
    - `spelling_dictionary` object, required — The list of spelling applied on the audio transcription
  - `sentiment_analysis` boolean — Enable sentiment analysis for this audio
  - `audio_to_llm` boolean — Enable audio to LLM processing for this audio
  - `audio_to_llm_config` AudioToLlmListConfigDTO
    - `prompts` array[], required — The list of prompts applied on the audio transcription
      - unknown[]
        - unknown
    - `model` string — The model to use for the prompt execution. You can find the list of supported models [here](https://openrouter.ai/models).
  - `pii_redaction` boolean — Enable PII redaction for this audio
  - `pii_redaction_config` PiiRedactionConfigDTO
    - `entity_types` 'APPI' | 'APPI_SENSITIVE' | 'CCI' | 'CORE_ENTITIES' | 'CPRA' | 'GDPR' | 'GDPR_SENSITIVE' | 'HEALTH_INFORMATION' | 'HIPAA_SAFE_HARBOR' | 'LIDI' | 'NUMERICAL_EXCL_PCI' | 'PCI' | 'QUEBEC_PRIVACY_ACT' | 'ACCOUNT_NUMBER' | 'AGE' | 'DATE' | 'DATE_INTERVAL' | 'DOB' | 'DRIVER_LICENSE' | 'DURATION' | 'EMAIL_ADDRESS' | 'EVENT' | 'FILENAME' | 'GENDER' | 'HEALTHCARE_NUMBER' | 'IP_ADDRESS' | 'LANGUAGE' | 'LOCATION' | 'LOCATION_ADDRESS' | 'LOCATION_ADDRESS_STREET' | 'LOCATION_CITY' | 'LOCATION_COORDINATE' | 'LOCATION_COUNTRY' | 'LOCATION_STATE' | 'LOCATION_ZIP' | 'MARITAL_STATUS' | 'MONEY' | 'NAME' | 'NAME_FAMILY' | 'NAME_GIVEN' | 'NAME_MEDICAL_PROFESSIONAL' | 'NUMERICAL_PII' | 'OCCUPATION' | 'ORGANIZATION' | 'ORGANIZATION_MEDICAL_FACILITY' | 'ORIGIN' | 'PASSPORT_NUMBER' | 'PASSWORD' | 'PHONE_NUMBER' | 'PHYSICAL_ATTRIBUTE' | 'POLITICAL_AFFILIATION' | 'RELIGION' | 'SEXUALITY' | 'SSN' | 'TIME' | 'URL' | 'USERNAME' | 'VEHICLE_ID' | 'ZODIAC_SIGN' | 'BLOOD_TYPE' | 'CONDITION' | 'DOSE' | 'DRUG' | 'INJURY' | 'MEDICAL_PROCESS' | 'STATISTICS' | 'BANK_ACCOUNT' | 'CREDIT_CARD' | 'CREDIT_CARD_EXPIRATION' | 'CVV' | 'ROUTING_NUMBER' | 'CORPORATE_ACTION' | 'DAY' | 'EFFECT' | 'FINANCIAL_METRIC' | 'MEDICAL_CODE' | 'MONTH' | 'ORGANIZATION_ID' | 'PRODUCT' | 'PROJECT' | 'TREND' | 'YEAR' — The entity types to redact
    - `processed_text_type` 'MARKER' | 'MASK' — The type of processed text to return (marker or mask)
  - `custom_metadata` object — Custom metadata you can attach to this transcription
  - `sentences` boolean — Enable sentences for this audio
  - `punctuation_enhanced` boolean — **[Alpha]** Use enhanced punctuation for this audio
  - `language_config` LanguageConfig
    - `languages` TranscriptionLanguageCodeEnum[] — If one language is set, it will be used for the transcription. Otherwise, language will be auto-detected by the model.
    - `code_switching` boolean — If true, language will be auto-detected on each utterance. Otherwise, language will be auto-detected on first utterance and then used for the rest of the transcription. If one language is set, this option will be ignored.
  - `audio_url` string, uri, required — URL to a Gladia file or to an external audio or video file

## Response `201`

The pre recorded job has been initiated

- InitPreRecordedTranscriptionResponse
  - `id` string, uuid, required — Id of the job
  - `result_url` string, uri, required — Prebuilt URL with your transcription `id` to fetch the result

## Other responses

- `400` — Something is wrong with the request
- `401` — You don't have the permissions to initiate a new pre recorded job
- `422` — The parameters you gave are incorrect

---

[API](https://skmtc.net/gladia/apis/gladia-control-api.md) · [All operations](https://skmtc.net/gladia/apis/gladia-control-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gladia/gladia-control-api/versions/8ec9ebfee489/schema)
