--- title: "Custom 화질 생성" slug: "media-livestation-quality-qualitycreate" tags: ["Live Station", "Quality Profile"] updated: 2026-09-17T09:16:48Z published: 2026-09-17T09:16:48Z canonical: "api.ncloud-docs.com/media-livestation-quality-qualitycreate" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Custom 화질 생성 Classic/VPC 환경에서 이용 가능합니다. System 화질 이외의 별도 화질이 필요한 경우, 원하는 화질을 정의하여 Custom 화질을 생성합니다. ## 요청 요청 형식을 설명합니다. 요청 형식은 다음과 같습니다. | 메서드 | URI | | --- | --- | | POST | /api/v2/qualityProfiles | ### 요청 헤더 Live Station API에서 공통으로 사용하는 헤더에 대한 정보는 [Live Station 요청 헤더](/docs/media-livestation#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. ### 요청 바디 요청 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `name` | String | Required | 화질 이름 - 영문자, 숫자, 특수 문자 '-'를 조합하여 3~20자 이내로 입력 - 이름 중복 가능 | | `type` | String | Required | 화질 타입 - `NORMAL` \| `AUDIO` - `NORMAL`: 비디오, 오디오 출력 - `AUDIO`: 오디오 전용 출력 | | `video` | Object | Conditional | 비디오 설정 정보 - `type`이 `NORMAL`인 경우, 필수 입력 | | `video.codec` | String | Conditional | 비디오 코덱 포맷 - `H264` (유효 값) | | `video.profile` | String | Conditional | 비디오 코덱 프로필 - `BASELINE` \| `MAIN` \| `HIGH` - `BASELINE`: 기본 옵션(저사양 단말용, 최소 기능 제공) - `MAIN`: HD 권장 옵션 - `HIGH`: Full HD 권장 옵션 - 비디오의 사용 용도에 맞게 H.264 코덱의 특정 기술을 사용할 수 있도록 미리 정의해 둔 표준 명세 - `video.width`x`video.height`가 1280x720보다 작은 경우, `BASELINE`만 입력 가능 | | `video.level` | Integer | Conditional | 비디오 코덱 레벨 - `-1`: AUTO (유효 값) - 재생(디코딩)에 필요한 하드웨어의 성능 한계치를 미리 정의해 둔 표준 명세 | | `video.width` | Integer | Conditional | 출력 비디오의 너비(픽셀) - 128~1920 - 짝수만 입력 가능 | | `video.height` | Integer | Conditional | 출력 비디오의 높이(픽셀) - 96~1920 - 짝수만 입력 가능 | | `video.fps` | Float | Conditional | 초당 프레임 수(fps) - 1~60 | | `video.bitrate` | Integer | Conditional | 비디오 스트림의 비트레이트(bps) - 1~204800000 | | `video.videoH264ParamRefFrames` | Integer | Optional | H.264 참조 프레임 수 - `1` (유효 값) | | `video.rateControl` | String | Optional | 비트레이트 배분 방식 - `VBR` (기본값) \| `CBR` - `VBR`: 가변 비트레이트(Variable Bitrate) - `CBR`: 고정 비트레이트(Constant Bitrate) | | `video.bframes` | Integer | Optional | B-프레임(양방향 예측 프레임) 수 - 0~4 (기본값: 0) - `video.width`x`video.height`가 1280x720 미만인 경우, 0~2 입력 가능 - `video.width`x`video.height`가 854x480 미만인 경우, 0만 입력 가능 | | `video.bypass` | Boolean | Optional | 비디오 스트림 바이패스 여부 - `true` \| `false` (기본값) - `true`: 원본 스트림 그대로 사용(pass-through) - `false`: 설정 정보에 맞춰 트랜스코딩 | | `video.orientation` | String | Optional | 비디오 방향 전환 설정 - `FIX` \| `FREE` - `FIX`: 고정 - `FREE`: 전환 가능 | | `audio` | Object | Required | 오디오 설정 정보 | | `audio.codec` | String | Required | 오디오 코덱 포맷 - `AAC` \| `MP3` | | `audio.profile` | String | Conditional | 오디오 코덱 프로필 - `LC`: AAC-LC (유효 값) - `audio.codec`이 `AAC`인 경우에만 입력 가능하며, 필수 입력 | | `audio.samplerate` | Integer | Required | 오디오 샘플링 레이트(Hz) - `audio.codec`이 `AAC`인 경우, 입력 가능 값: `8000` \| `11025` \| `12000` \| `16000` \| `22050` \| `24000` \| `32000` \| `44100` (기본값) \| `48000` \| `64000` \|`88200` \| `96000` - `audio.codec`이 `MP3`인 경우, 입력 가능 값: `8000` \| `11025` \| `12000` \| `16000` \| `22050` \| `24000` \|`32000` \| `44100` (기본값) \| `48000` - 초당 샘플링 수 | | `audio.channels` | Integer | Required | 오디오 채널 수 - `audio.codec`이 `AAC`인 경우, 입력 가능 범위: 0~8 (기본값: 0) - `audio.codec`이 `MP3`인 경우, 입력 가능 범위: 0~2 (기본값: 0) | | `audio.bitrate` | Integer | Required | 오디오 스트림의 비트레이트(Kbps) - 16~320 | | `audio.bypass` | Boolean | Optional | 오디오 스트림 바이패스 여부 - `true` \| `false` (기본값) - `true`: 원본 스트림 그대로 사용(pass-through) - `false`: 설정 정보에 맞춰 트랜스코딩 | ### 요청 예시 요청 예시는 다음과 같습니다. ``` curl --location --request POST 'https://livestation.apigw.ntruss.com/api/v2/qualityProfiles' \ --header 'x-ncp-apigw-timestamp: {Timestamp}' \ --header 'x-ncp-iam-access-key: {Access Key}' \ --header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \ --header 'Content-Type: application/json' \ --header 'x-ncp-region_code: KR' \ --data '{ "name": "quality000", "type": "NORMAL", "video": { "codec": "H264", "profile": "HIGH", "level": -1, "width": 1920, "height": 1080, "fps": 60, "bitrate": 204800000, "videoH264ParamRefFrames": 1, "rateControl": "VBR", "bframes": 4, "bypass": false }, "audio": { "codec": "AAC", "profile": "LC", "samplerate": 44100, "channels": 2, "bitrate": 320, "bypass": false } }' ``` ## 응답 응답 형식을 설명합니다. ### 응답 바디 응답 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `content` | Object | - | 응답 결과 | | `content.disabled` | Boolean | - | 화질 비활성화 여부 - `true` \| `false` - `true`: 비활성 - `false`: 활성 | | `content.id` | Integer | - | 화질 아이디 | | `content.status` | String | - | 화질 상태 - `CREATED`: 생성 완료 (유효 값) | | `content.createdTime` | Integer | - | 화질 생성 일시(밀리초) - Unix Timestamp 형식 | | `content.genType` | String | - | 설정 분류 - `CUSTOM`: 직접 생성 (유효 값) | | `content.name` | String | - | 화질 이름 | | `content.type` | String | - | 화질 타입 - `NORMAL` \| `AUDIO` - `NORMAL`: 비디오, 오디오 출력 - `AUDIO`: 오디오 전용 출력 | | `content.video` | Object | - | 비디오 설정 정보 - `content.type`이 `AUDIO`인 경우, 미표시 | | `content.video.fps` | Float | - | 초당 프레임 수(fps) | | `content.video.bitrate` | Integer | - | 비디오 스트림의 비트레이트(bps) | | `content.video.bframes` | Integer | - | B-프레임(양방향 예측 프레임) 수 | | `content.video.level` | Integer | - | 비디오 코덱 레벨 - `-1`: AUTO (유효 값) - 재생(디코딩)에 필요한 하드웨어의 성능 한계치를 미리 정의해 둔 표준 명세 | | `content.video.width` | Integer | - | 출력 비디오의 너비(픽셀) | | `content.video.height` | Integer | - | 출력 비디오의 높이(픽셀) | | `content.video.bypass` | Boolean | - | 비디오 스트림 바이패스 여부 - `true` \| `false` - `true`: 원본 스트림 그대로 사용(pass-through) - `false`: 설정 정보에 맞춰 트랜스코딩 | | `content.video.codec` | String | - | 비디오 코덱 포맷 - `H264` (유효 값) | | `content.video.orientation` | String | - | 비디오 방향 전환 설정 - `FIX` \| `FREE` - `FIX`: 고정 - `FREE`: 전환 가능 | | `content.video.profile` | String | - | 비디오 코덱 프로필 - `BASELINE` \| `MAIN` \| `HIGH` - `BASELINE`: 기본 옵션(저사양 단말용, 최소 기능 제공) - `MAIN`: HD 권장 옵션 - `HIGH`: Full HD 권장 옵션 - 비디오의 사용 용도에 맞게 H.264 코덱의 특정 기술을 사용할 수 있도록 미리 정의해 둔 표준 명세 | | `content.video.rateControl` | String | - | 비트레이트 배분 방식 - `VBR` \| `CBR` - `VBR`: 가변 비트레이트(Variable Bitrate) - `CBR`: 고정 비트레이트(Constant Bitrate) | | `content.video.videoH264ParamRefFrames` | Integer | - | H.264 참조 프레임 수 - `1` (유효 값) | | `content.audio` | Object | - | 오디오 설정 정보 | | `content.audio.codec` | String | - | 오디오 코덱 포맷 - `AAC` \| `MP3` | | `content.audio.profile` | String | - | 오디오 코덱 프로필 - `LC`: AAC-LC (유효 값) | | `content.audio.samplerate` | Integer | - | 오디오 샘플링 레이트(Hz) - 초당 샘플링 수 | | `content.audio.channels` | Integer | - | 오디오 채널 수 | | `content.audio.bitrate` | Integer | - | 오디오 스트림의 비트레이트(Kbps) | | `content.audio.bypass` | Boolean | - | 오디오 스트림 바이패스 여부 - `true` \| `false` - `true`: 원본 스트림 그대로 사용(pass-through) - `false`: 설정 정보에 맞춰 트랜스코딩 | ### 응답 상태 코드 Live Station API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 [Live Station 응답 상태 코드](/docs/media-livestation#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. ### 응답 예시 응답 예시는 다음과 같습니다. ``` { "content": { "disabled": false, "id": ****, "status": "CREATED", "createdTime": 1755134603531, "genType": "CUSTOM", "name": "quality000", "type": "NORMAL", "video": { "fps": 60.0, "bitrate": 204800000, "bframes": 4, "level": -1, "width": 1920, "height": 1080, "bypass": false, "codec": "H264", "profile": "HIGH", "rateControl": "VBR", "videoH264ParamRefFrames": 1 }, "audio": { "codec": "AAC", "profile": "LC", "samplerate": 44100, "channels": 2, "bitrate": 320, "bypass": false } } } ```