Files
YouTube.js/docs/api/namespaces/Clients/classes/Studio.md
Luan 25d0876b91 refactor(Player)!: Use AST-based JS extraction with side-effect safe code emission (#1052)
* chore(deps): Add `meriyah`

* feat(utils): Implement AST-based JS extractors

* chore(utils): Remove old ast walker code

* fix(Player): Migrate js extraction logic

* chore(JsExtractor): Fix typo in tsdoc

* perf(JsAnalyzer): Simplify main AST analysis logic

* fix(JsAnalyzer): Change `break` to `return` in AST matching logic

* chore: Update docs

* chore: Don't export `PlayerInitializationOptions`

* chore(evaluate): Update error message to include doc link

* perf: Use a `for-loop` to find iife
2025-10-12 09:08:51 -03:00

90 lines
1.9 KiB
Markdown

[youtubei.js](../../../README.md) / [Clients](../README.md) / Studio
# Class: Studio
## Constructors
### new Studio()
> **new Studio**(`session`): [`Studio`](Studio.md)
#### Parameters
**session**: [`Session`](../../../classes/Session.md)
#### Returns
[`Studio`](Studio.md)
#### Defined in
[src/core/clients/Studio.ts:25](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/core/clients/Studio.ts#L25)
## Methods
### updateVideoMetadata()
> **updateVideoMetadata**(`video_id`, `metadata`): `Promise`\<[`ApiResponse`](../../../interfaces/ApiResponse.md)\>
Updates the metadata of a video.
#### Parameters
**video\_id**: `string`
**metadata**: `Partial`\<`object`\>
#### Returns
`Promise`\<[`ApiResponse`](../../../interfaces/ApiResponse.md)\>
#### Example
```ts
const videoId = 'abcdefg';
const thumbnail = fs.readFileSync('./my_awesome_thumbnail.jpg');
const response = await yt.studio.updateVideoMetadata(videoId, {
tags: [ 'astronomy', 'NASA', 'APOD' ],
title: 'Artemis Mission',
description: 'A nicely written description...',
category: 27,
license: 'creative_commons',
thumbnail,
// ...
});
```
#### Defined in
[src/core/clients/Studio.ts:47](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/core/clients/Studio.ts#L47)
***
### upload()
> **upload**(`file`, `metadata`): `Promise`\<[`ApiResponse`](../../../interfaces/ApiResponse.md)\>
Uploads a video to YouTube.
#### Parameters
**file**: `BodyInit`
**metadata**: `Partial`\<`object`\> = `{}`
#### Returns
`Promise`\<[`ApiResponse`](../../../interfaces/ApiResponse.md)\>
#### Example
```ts
const file = fs.readFileSync('./my_awesome_video.mp4');
const response = await yt.studio.upload(file.buffer, { title: 'Wow!' });
```
#### Defined in
[src/core/clients/Studio.ts:150](https://github.com/LuanRT/YouTube.js/blob/af92984523f90200a18314b94478a2697c9deab0/src/core/clients/Studio.ts#L150)