> ## Documentation Index > Fetch the complete documentation index at: https://bunny.net/docs/llms.txt > Use this file to discover all available pages before exploring further. # Upload Video ## OpenAPI ````yaml https://video.bunnycdn.com/openapi/bunnynet-video-api.public.json put /library/{libraryId}/videos/{videoId} openapi: 3.0.0 info: title: Stream API termsOfService: https://bunny.net/tos contact: name: bunny.net url: https://docs.bunny.net email: support@bunny.net version: 1.6.21 servers: - url: https://video.bunnycdn.com security: [] tags: - name: Manage Collections - name: Encoding Statistics - name: Manage Videos paths: /library/{libraryId}/videos/{videoId}: put: tags: - Manage Videos summary: Upload Video operationId: Video_UploadVideo parameters: - name: libraryId in: path required: true description: The ID of the video library. schema: type: integer format: int64 x-position: 1 - name: videoId in: path required: true description: The GUID of the video. schema: type: string x-position: 2 - name: jitEnabled in: query description: >- Marks whether JIT encoding should be enabled for this video (works only when Premium Encoding is enabled), overrides library settings schema: type: boolean x-position: 3 - name: enabledResolutions in: query description: >- Comma separated list of resolutions enabled for encoding, available options: 240p, 360p, 480p, 720p, 1080p, 1440p, 2160p schema: type: string default: '' nullable: true x-position: 4 - name: enabledOutputCodecs in: query description: >- List of codecs that will be used to encode the file (overrides library settings). Available values: x264, vp9 schema: type: string default: '' nullable: true x-position: 6 - name: transcribeEnabled in: query description: >- Setting this to true will enable transcription on this video. Enabling this will incur transcription charges schema: type: boolean nullable: true x-position: 7 - name: transcribeLanguages in: query description: >- Comma separated list of languages that will be used as target languages, use ISO 639-1 language codes. schema: type: string nullable: true x-position: 8 - name: sourceLanguage in: query description: Language spoken in the video, use ISO 639-1 language codes. schema: type: string nullable: true x-position: 9 - name: generateTitle in: query description: Whether video title should be generated from transcription. schema: type: boolean nullable: true x-position: 10 - name: generateDescription in: query description: Whether video description should be generated from transcription. schema: type: boolean nullable: true x-position: 11 - name: generateChapters in: query description: Whether video chapters should be generated from transcription. schema: type: boolean nullable: true x-position: 12 - name: generateMoments in: query description: Whether video moments should be generated from transcription. schema: type: boolean nullable: true x-position: 13 requestBody: description: Video file to upload content: application/octet-stream: schema: type: string format: binary nullable: false required: true responses: '200': description: The video was successfully uploaded content: application/json: schema: $ref: '#/components/schemas/StatusModel' '400': description: The requested video was already uploaded content: application/json: schema: $ref: '#/components/schemas/StatusModel' '401': description: The request authentication failed content: application/json: schema: $ref: '#/components/schemas/StatusModel' '403': description: The request authorization failed content: application/json: schema: $ref: '#/components/schemas/StatusModel' '404': description: The requested video was not found content: application/json: schema: $ref: '#/components/schemas/StatusModel' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/StatusModel' security: - AccessKey: [] components: schemas: StatusModel: type: object additionalProperties: false properties: success: type: boolean description: Determines if the request was successful message: type: string description: >- Human-readable message describing the result, typically populated with error details when Success is false. nullable: true statusCode: type: integer description: The HTTP status code corresponding to the result of the request. format: int32 securitySchemes: AccessKey: type: apiKey description: AccessKey based authentication name: AccessKey in: header ```` This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.