openapi: 3.2.0 info: title: Gumlet Audio Upload API description: Gumlet helps developers deliver online video and images. This API encompasses Gumlet Video, Image and Video Analytics functionality to help you build your products better and faster than ever before. version: '1.4' contact: name: Gumlet Support Team url: https://www.gumlet.com/contact/ email: support@gumlet.com termsOfService: https://www.gumlet.com/terms/ license: name: Apache 2.0 url: https://opensource.org/license/apache-2.0 x-scalar-sdk-installation: - lang: TypeScript description: '```sh npm install @gumlet/nodejs-sdk ```' - lang: Python description: '```sh pip install gumlet ```' servers: - url: https://api.gumlet.com/v1 security: - API_KEY: [] tags: - name: Audio Upload description: Add additional audio tracks to an existing asset. paths: /video/assets/{asset_ID}/audio/upload: post: summary: Add Audio description: 'Add any audio file to the video asset. The response of this API call gives `upload_url` for each language specified. You need to send a `PUT` request of the audio files to those URLs. Once that''s done, you need to call the audio upload complete API. Only after that will Gumlet add audio to the asset.' operationId: asset-audio-upload parameters: - name: asset_ID in: path description: An asset id for the previously created asset. schema: type: string required: true requestBody: content: application/json: schema: type: object properties: language_codes: type: array description: List of language codes to upload audio file (use ISO 639-1 Language Codes) items: type: string examples: Example 1: value: language_codes: - en responses: '200': description: '200' content: application/json: examples: Result: value: signed_urls: - language_code: en upload_url: asset_id: 6a8491aaf180d34362c9587a schema: title: '' type: object properties: asset_id: type: string description: Gumlet Asset ID signed_urls: type: array items: type: object properties: language_code: type: string upload_url: type: string x-apidog-orders: - language_code - upload_url required: - language_code - upload_url x-apidog-orders: - asset_id - signed_urls required: - asset_id - signed_urls '400': description: Bad Request content: application/json: examples: Result: value: error: code: asset_id_not_valid message: The asset ID is not valid. schema: type: object properties: error: type: object properties: code: type: string example: asset_id_not_valid message: type: string example: The asset ID is not valid. required: - code - message required: - error '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' deprecated: false tags: - Audio Upload x-codeSamples: - label: TypeScript lang: TypeScript source: "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst audioUpload = await client.audioUpload.upload('assetId');\n\nconsole.log(audioUpload);" - label: Python lang: Python source: "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n api_key=os.environ.get(\"API_KEY\"),\n)\n\naudio_upload = client.audio_upload.upload(\n asset_id=\"assetId\",\n language_codes=[\"en\"],\n)\n\nprint(audio_upload)" /video/assets/{asset_ID}/audio/upload/event: post: summary: Complete Audio Upload description: 'This API must be called after adding audio(s); The add audio call gives you URLs to upload, and you complete a `PUT` request to those URLs. Once that is done, calling this initiates the process to actually add the subtitle to the video.' operationId: complete-audio-upload parameters: - name: asset_ID in: path description: An asset id for the previously created asset. schema: type: string required: true requestBody: content: application/json: schema: type: object properties: upload_responses: type: array items: properties: language_code: type: string description: Language code for uploaded audio file. uploaded: type: boolean description: Status of language uploaded audio file. (If status code was 200, You can mark true else false) type: object examples: Example 1: value: upload_responses: - language_codes: - en uploaded: true responses: '200': description: '200' content: application/json: examples: Result: value: {} schema: type: object properties: {} '400': description: Bad Request content: application/json: examples: Result: value: error: code: no_additional_track message: No track request exists. Please upload a track first. schema: type: object properties: error: type: object properties: code: type: string example: no_additional_track message: type: string example: No track request exists. Please upload a track first. required: - code - message required: - error '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' deprecated: false tags: - Audio Upload x-codeSamples: - label: TypeScript lang: TypeScript source: "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst audioUpload = await client.audioUpload.complete('assetId');\n\nconsole.log(audioUpload);" - label: Python lang: Python source: "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n api_key=os.environ.get(\"API_KEY\"),\n)\n\naudio_upload = client.audio_upload.complete(\n asset_id=\"assetId\",\n upload_responses=[{\"language_codes\": [\"en\"], \"uploaded\": True}],\n)\n\nprint(audio_upload)" components: schemas: Error: type: object required: - error properties: error: type: object required: - code - message properties: code: type: string description: Machine-readable error code message: type: string description: Human-readable error message param: type: string description: Optional parameter name related to the error responses: Forbidden: description: Forbidden — unpaid account or insufficient role permissions content: application/json: examples: Result: value: error: code: unauthorized message: You don't have access to this feature. Please contact your organization owner. schema: $ref: '#/components/schemas/Error' Unauthorized: description: Unauthorized — missing or invalid API key / bearer token content: application/json: examples: Result: value: error: code: invalid_api_key message: API key supplied with request is invalid schema: $ref: '#/components/schemas/Error' InternalServerError: description: Internal Server Error content: application/json: examples: Result: value: error: code: internal_server_error message: We have encountered some server error. We have been notified and will fix it soon. schema: $ref: '#/components/schemas/Error' securitySchemes: API_KEY: type: http scheme: bearer x-tagGroups: - name: Video on Demand tags: - Video Assets - Global Search - Multipart Upload - Audio Upload - Subtitle Upload - Recycle Bin - Video Workspaces - Folders - Video Playlists - Channel Viewers - Video Usage Analytics - Video Profiles - Webhooks - name: Live Streams tags: - Live Stream Workspaces - Live Stream Assets - Live Stream Analytics - name: Image APIs tags: - Image Sources - Image Usage Analytics - name: Video Analytics tags: - Video Analytics - name: Webhooks tags: - Webhooks - name: Account Endpoints tags: - User Data - Billing - Organization Data - Audit Logs x-ext-urls: {}