[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/4729016fb98e7045ee4043857be7eef780c01e35/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/4729016fb98e7045ee4043857be7eef780c01e35/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:148](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/core/clients/Studio.ts#L148)
