openapi: 3.2.0 info: version: '' title: Translate and Lip Sync Transcribe API description: This RESTful API offers dubbing and lip sync resources for enterprise use. With this API an audio or video input can be dubbed to new language(s). termsOfService: https://www.adobe.com/content/dam/cc/en/legal/terms/enterprise/pdfs/PSLT-AdobeCreativeAPI-WW-2024v2.pdf servers: - url: https://audio-video-api.adobe.io description: Production environment - url: https://audio-video-api-stage.adobe.io description: Staging environment security: - AccessToken: [] X-Api-Key: [] tags: - name: Transcribe paths: /v1/transcribe: post: summary: Transcribe media description: Generates transcripts for the input audio or video. operationId: transcribe requestBody: description: Transcribe request body. required: true content: application/json: schema: $ref: '#/components/schemas/TranscribeRequest' examples: AudioInputToGenerateTranscriptFromSourceAudio: $ref: '#/components/examples/AudioInputToGenerateTranscriptFromSourceAudio' AudioInputToGenerateTranscriptFromTargetLanguageAudio: $ref: '#/components/examples/AudioInputToGenerateTranscriptFromTargetLanguageAudio' VideoInputToGenerateTranscriptFromSourceVideo: $ref: '#/components/examples/VideoInputToGenerateTranscriptFromSourceVideo' VideoInputToGenerateTranscriptFromTargetLanguageVideo: $ref: '#/components/examples/VideoInputToGenerateTranscriptFromTargetLanguageVideo' AudioInputToGenerateTranscriptAndCaptionsFromTargetFormatsFromSourceAudio: $ref: '#/components/examples/AudioInputToGenerateTranscriptAndCaptionsFromTargetFormatsFromSourceAudio' VideoInputToGenerateTranscriptAndCaptionsFromTargetFormatsFromSourceVideo: $ref: '#/components/examples/VideoInputToGenerateTranscriptAndCaptionsFromTargetFormatsFromSourceVideo' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/JobStatusLinkResponse' examples: TranscribeResponse: $ref: '#/components/examples/JobStatusLinkResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorBody' examples: ErrorBodyBadRequest: $ref: '#/components/examples/ErrorBodyBadRequest' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorBody' examples: ErrorBodyUnauthorized: $ref: '#/components/examples/ErrorBodyUnauthorized' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorBody' examples: ErrorBodyForbidden: $ref: '#/components/examples/ErrorBodyForbidden' '404': description: Resource Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorBody' examples: ErrorBodyResourceNotFound: $ref: '#/components/examples/ErrorBodyResourceNotFound' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ErrorBody' examples: ErrorBodyMethodNotAllowed: $ref: '#/components/examples/ErrorBodyMethodNotAllowed' '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/ErrorBody' examples: ErrorBodyMethodNotAllowed: $ref: '#/components/examples/ErrorBodyMethodNotAllowed' ValidationErrorVideoSourceBlank: $ref: '#/components/examples/ValidationErrorVideoSourceBlank' ValidationErrorAudioSourceBlank: $ref: '#/components/examples/ValidationErrorAudioSourceBlank' ValidationErrorInputSourceBlank: $ref: '#/components/examples/ValidationErrorInputSourceBlank' ValidationErrorVideoAndAudioSimultaneous: $ref: '#/components/examples/ValidationErrorVideoAndAudioSimultaneous' ValidationErrorVideoInputMediaTypeMissing: $ref: '#/components/examples/ValidationErrorVideoInputMediaTypeMissing' ValidationErrorAudioInputMediaTypeMissing: $ref: '#/components/examples/ValidationErrorAudioInputMediaTypeMissing' ValidationErrorSourceUrlEmpty: $ref: '#/components/examples/ValidationErrorSourceUrlEmpty' ValidationErrorInvalidVideoAudioSourceUrl: $ref: '#/components/examples/ValidationErrorInvalidVideoAudioSourceUrl' ValidationErrorBlankTranscriptSourceField: $ref: '#/components/examples/ValidationErrorBlankTranscriptSourceField' ValidationErrorInvalidTranscriptUrl: $ref: '#/components/examples/ValidationErrorInvalidTranscriptUrl' ValidationErrorUnsupportedVideoMediaType: $ref: '#/components/examples/ValidationErrorUnsupportedVideoMediaType' ValidationErrorUnsupportedAudioMediaType: $ref: '#/components/examples/ValidationErrorUnsupportedAudioMediaType' ValidationErrorUnsupportedTargetLocaleCode: $ref: '#/components/examples/ValidationErrorUnsupportedTargetLocaleCode' ValidationErrorBlankTargetLocaleCode: $ref: '#/components/examples/ValidationErrorBlankTargetLocaleCode' ValidationErrorMissingTargetLocaleCode: $ref: '#/components/examples/ValidationErrorMissingTargetLocaleCode' ValidationErrorLocaleCodeNotRequiredForEditedTranscript: $ref: '#/components/examples/ValidationErrorLocaleCodeNotRequiredForEditedTranscript' ValidationErrorEitherTargetLocaleCodesOrTranscriptionRequired: $ref: '#/components/examples/ValidationErrorEitherTargetLocaleCodesOrTranscriptionRequired' ValidationErrorCaptionGenerationNotSupportedWithTranslation: $ref: '#/components/examples/ValidationErrorCaptionGenerationNotSupportedWithTranslation' '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/ErrorBody' examples: ErrorBodyTooManyRequests: $ref: '#/components/examples/ErrorBodyTooManyRequests' '451': description: Unauthorized due to legal reasons content: application/json: schema: $ref: '#/components/schemas/ErrorBody' examples: ErrorBodyLegalReasons: $ref: '#/components/examples/ErrorBodyLegalReasons' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorBody' examples: ErrorBodyInternalServerError: $ref: '#/components/examples/ErrorBodyInternalServerError' tags: - Transcribe components: examples: ValidationErrorUnsupportedTargetLocaleCode: summary: Error for unsupported target locale code value: error_code: validation_error message: 'Unsupported target locale code: <>' ErrorBodyForbidden: summary: Error Body Forbidden value: error_code: '403220' message: Token not allowed in the current context ValidationErrorMissingTargetLocaleCode: summary: Error for missing target locale code value: error_code: validation_error message: At least one target locale code required ErrorBodyLegalReasons: summary: Unauthorized due to legal reasons value: message: Unauthorized due to legal reasons error_code: unauthorized_legal_reasons ErrorBodyUnauthorized: summary: Error Body Unauthorized value: error_code: '401013' message: Oauth token is not valid ErrorBodyInternalServerError: summary: Error Body Internal Server Error value: error_code: '500001' message: An internal server error occurred. Please try again later. ValidationErrorLocaleCodeNotRequiredForEditedTranscript: summary: Error indicating locale code is not required with edited transcript value: error_code: validation_error message: Locale code not needed when providing an edited transcript ValidationErrorInvalidTranscriptUrl: summary: Error for invalid transcript input source URL value: error_code: validation_error message: 'Invalid transcript input source URL: <>' ValidationErrorBlankTranscriptSourceField: summary: Transcript source field cannot be blank value: error_code: validation_error message: Transcript source field cannot be blank ValidationErrorUnsupportedVideoMediaType: summary: Error for unsupported video media type value: error_code: validation_error message: 'Unsupported input video media type: <>' AudioInputToGenerateTranscriptFromSourceAudio: summary: Generate transcript for audio input value: audio: source: url: mediaType: audio/mp3 JobStatusLinkResponse: summary: Successful Submission value: jobId: statusUrl: https:///v1/status/ VideoInputToGenerateTranscriptAndCaptionsFromTargetFormatsFromSourceVideo: summary: Generate transcript and captions from target formats for Video input value: video: source: url: mediaType: video/mp4 captions: targetFormats: - SRT ErrorBodyBadRequest: summary: Error Body Bad Request value: error_code: '400001' message: Invalid request. Please check the input data. ValidationErrorAudioInputMediaTypeMissing: summary: Error for missing audio input media type value: error_code: validation_error message: Audio input media type must be specified VideoInputToGenerateTranscriptFromSourceVideo: summary: Generate transcript for video input value: video: source: url: mediaType: video/mp4 ValidationErrorCaptionGenerationNotSupportedWithTranslation: summary: Error indicating captions generation not supported with translation request value: error_code: validation_error message: Captions generation is not supported with translation request ValidationErrorInvalidVideoAudioSourceUrl: summary: Error for invalid video/audio input source URL value: error_code: validation_error message: 'Invalid video/audio input source URL: <>' ValidationErrorVideoAndAudioSimultaneous: summary: Error for providing both video and audio inputs simultaneously value: error_code: validation_error message: Cannot provide both video and audio input simultaneously ValidationErrorEitherTargetLocaleCodesOrTranscriptionRequired: summary: Error for missing target locale codes or transcription input value: error_code: validation_error message: Provide either target locale codes or transcription input for dubbing VideoInputToGenerateTranscriptFromTargetLanguageVideo: summary: Generate transcript for video input in specified languages value: video: source: url: mediaType: video/mp4 targetLocaleCodes: - da-DK - en-IN - en-GB - es-AR - es-419 - fr-CA - hi-IN - ja-JP - ko-KR - nb-NO - nl-NL - pt-BR - sv-SE - zh-CN - en-US - es-ES - de-DE - fr-FR - it-IT - pt-PT ValidationErrorInputSourceBlank: summary: Error for blank input source field value: error_code: validation_error message: Input source field cannot be blank ErrorBodyTooManyRequests: summary: Error Body Too Many Requests value: message: Too Many Requests error_code: '429011' ValidationErrorSourceUrlEmpty: summary: Error for empty source URL field value: error_code: validation_error message: Source URL field cannot be empty ErrorBodyMethodNotAllowed: summary: Error Body Method Not Allowed value: error_code: '405001' message: The requested method is not allowed on this endpoint. ErrorBodyResourceNotFound: summary: Error Body Resource Not Found value: error_code: unknown_job_id message: The requested resource 123e4567-e89b-12d3-a456-426614174002 was not found. ValidationErrorVideoInputMediaTypeMissing: summary: Error for missing video input media type value: error_code: validation_error message: Video input media type must be specified ValidationErrorAudioSourceBlank: summary: Error for blank audio source field value: error_code: validation_error message: Audio source field cannot be blank ValidationErrorUnsupportedAudioMediaType: summary: Error for unsupported audio media type value: error_code: validation_error message: 'Unsupported input audio media type: <>' AudioInputToGenerateTranscriptFromTargetLanguageAudio: summary: Generate transcript for audio input in specified languages value: audio: source: url: mediaType: audio/mp3 targetLocaleCodes: - da-DK - en-IN - en-GB - es-AR - es-419 - fr-CA - hi-IN - ja-JP - ko-KR - nb-NO - nl-NL - pt-BR - sv-SE - zh-CN - en-US - es-ES - de-DE - fr-FR - it-IT - pt-PT AudioInputToGenerateTranscriptAndCaptionsFromTargetFormatsFromSourceAudio: summary: Generate transcript and captions from target formats for Audio input value: audio: source: url: mediaType: audio/mp3 captions: targetFormats: - SRT ValidationErrorBlankTargetLocaleCode: summary: Target locale codes cannot be empty value: error_code: validation_error message: Target locale codes cannot be empty ValidationErrorVideoSourceBlank: summary: Error for blank video source field value: error_code: validation_error message: Video source field cannot be blank schemas: TranscribeVideoInput: type: object properties: video: $ref: '#/components/schemas/VideoInput' required: - video description: The request body for transcribing video. VideoInputMediaType: type: string enum: - video/mp4 - video/quicktime - video/mov description: The video media type of the input file. Use a supported type. AudioInputMediaType: type: string enum: - audio/mp3 - audio/mpeg - audio/x-wav - audio/wav - audio/vnd.dlna.adts - audio/aac description: The audio media type of the input file. Use a supported type. Captions: type: object properties: targetFormats: type: array items: $ref: '#/components/schemas/TargetCaptionFormats' description: 'Accepted values: [''SRT'']' JobStatusLinkResponse: type: object properties: statusUrl: type: string description: URL to download the results of the job. jobId: type: string description: The job ID. required: - statusUrl - jobId description: Job status response. AudioInput: type: object properties: source: $ref: '#/components/schemas/Source' mediaType: $ref: '#/components/schemas/AudioInputMediaType' required: - url - mediaType description: The audio input details for a dub request. ErrorBody: type: object description: The error response object. properties: message: type: string description: The error message. error_code: type: string description: Associated error code. required: - error_code - message TranscriptInputLocale: type: string enum: - da-DK - en-IN - en-GB - es-AR - es-419 - fr-CA - hi-IN - ja-JP - ko-KR - nb-NO - nl-NL - pt-BR - sv-SE - zh-CN - en-US - es-ES - de-DE - fr-FR - it-IT - pt-PT description: The languages that the transcript will be generated in. Use supported locale codes. Source: type: object properties: url: type: string format: uri description: The pre-signed URL pointing to the input source. TargetCaptionFormats: type: string enum: - SRT description: Supported target formats for caption generation VideoInput: type: object properties: source: $ref: '#/components/schemas/Source' mediaType: $ref: '#/components/schemas/VideoInputMediaType' metadata: type: object properties: dialogTrackNumber: type: integer required: - url - mediaType description: The video input details for a dub request. TranscribeRequest: type: object oneOf: - $ref: '#/components/schemas/TranscribeAudioInput' - $ref: '#/components/schemas/TranscribeVideoInput' properties: targetLocaleCodes: type: array items: $ref: '#/components/schemas/TranscriptInputLocale' captions: $ref: '#/components/schemas/Captions' description: Captions related details to generate captions for transcribe request description: Transcribe request body. TranscribeAudioInput: type: object properties: audio: $ref: '#/components/schemas/AudioInput' required: - audio description: The request body for transcribing audio. securitySchemes: AccessToken: type: http scheme: bearer X-Api-Key: type: apiKey name: x-api-key in: header