# API 키

> API용 키를 만들고, 범위를 정하고, 관리합니다.

Source: https://reverie.im/ko/docs/integrations/api-keys
Language: ko

API 키는 Reverie [Open API](https://reverie.im/ko/docs/integrations/open-api)로 가는 요청을 인증합니다. 키는 **설정 → 더보기 → API 키**에 있고, Labs의 **Open API** 타일도 바로 여기를 가리킵니다. 어떤 계정이든 만들 수 있습니다 — 등급 조건도 없고, 몇 개까지라는 상한도 없습니다.

## 키 만들기 \[#create-a-key]

### 새 API 키 생성 누르기 \[#press-create-new-api-key]

페이지가 비어 있을 때는 버튼에 **첫 번째 API 키 생성**이라고 적혀 있습니다.

### 이름 붙이기 \[#name-it]

**이름**은 필수이고 1–100자입니다. 목록과 사용 통계에서 이 키가 어떻게 표시될지를 정합니다 — "거실 스피커", "staging worker"처럼요.

### 전체로 할지 특정 캐릭터로 할지 고르기 \[#choose-global-or-a-specific-character]

**캐릭터 선택**은 **전체 (모든 캐릭터)** 또는 **특정 캐릭터** 중 하나를 고르는 것이지, 있어도 그만인 항목이 아닙니다. 특정 캐릭터를 고르면 그 캐릭터가 이 키에 고정됩니다.

### 원하면 기기 유형과 만료도 \[#optionally-set-a-device-type-and-an-expiry]

**기기 유형**은 자유 입력입니다(`speaker`, `phone`, `iot`). **만료**는 날짜*와* 시각을 함께 받고, 그 순간이 되면 키는 저절로 멈춥니다.

키는 곧바로 `rk_` 뒤에 16진수 64자가 붙은 모습으로 나타납니다.

## 키는 언제든 다시 볼 수 있습니다 \[#keys-stay-retrievable]

한 번만 보여주고 마는 비밀이 아닙니다. 키가 남아 있는 한 그 카드에는 언제나 **API 키 표시**, **API 키 숨기기**, **API 키 복사**가 있습니다.

> 온전한 비밀 값이 설정에서 계속 읽히므로, 계정 접근을 곧 키 접근이라고 여기세요. 키는 서버나 비밀 관리 도구에 두고, 소스 관리나 브라우저 코드에는 절대 넣지 마세요.

## 전역 키와 고정된 키 \[#global-keys-and-pinned-keys]

|                       | **전체 (모든 캐릭터)** | **특정 캐릭터**                  |
| --------------------- | --------------- | --------------------------- |
| `GET /models`가 돌려주는 것 | 당신의 최근 캐릭터      | 그 캐릭터의 시나리오, 하나도 없으면 캐릭터 자체 |
| `model`을 생략하면         | 가장 최근 대화로 떨어집니다 | 고정된 캐릭터를 씁니다                |
| 짧은 시나리오 ID            | 절대 풀리지 않습니다     | 고정된 캐릭터를 기준으로 풀립니다          |

## 비활성화, 삭제, 교체 \[#disable-delete-rotate]

| 동작        | 효과                             | 되돌릴 수 있나 |
| --------- | ------------------------------ | -------- |
| **활성** 토글 | 꺼져 있는 동안 그 키를 쓴 요청은 거부됩니다      | 예        |
| **삭제**    | 키가 사라지고, 그것을 쓰던 프로그램은 접근을 잃습니다 | 아니요      |

별도의 취소 동작은 없습니다 — 비활성화와 삭제, 이 둘뿐입니다.

> 키 삭제는 되돌릴 수 없고, 그 키의 실적까지 함께 가져갑니다. 지난 트래픽은 사용 통계의 **삭제된 키** 묶음으로 옮겨가고, 그때부터는 어느 연동이 얼마를 썼는지 알 수 없습니다. 기록이 필요할 것 같으면 먼저 비활성화하세요.

교체하려면 대체할 키를 만들고, 배포한 다음, 옛 키를 비활성화하거나 삭제하세요. 자동 교체는 없고 만료 뒤의 유예도 없습니다 — 만료된 키는 다음 요청에서 `api_key_expired`로 거부됩니다.

## 범위 \[#scopes]

키에는 범위가 붙어 있지만, 생성 창은 그것을 보여주지 않습니다. 설정에서 만든 키는 대화 관련 엔드포인트만 호출할 수 있습니다.

캐릭터 가져오기 엔드포인트는 다른 범위가 필요하고, 그런 키를 얻는 유일한 길은 **Labs → 캐릭터 가져오기 스킬**을 여는 것입니다. 거기서 **Reverie Character Importer (Skill)** 이름으로 키가 만들어집니다. 설정에서 만든 평범한 키로 가져오기를 호출하면 403이 돌아옵니다. [캐릭터 가져오기 →](https://reverie.im/ko/docs/characters/import-characters)

## 사용 통계 \[#usage-statistics]

같은 페이지의 **사용 통계** 패널은 **요청**, **토큰**, **크레딧**, **활성 키**를 UTC 날짜별로 묶어 보여주고, **키별 사용량** 아래에 키마다의 내역을 펼쳐 줍니다. 키 하나로 걸러 보거나 **모든 키**로 볼 수 있고, 기간은 7일에서 90일까지 — 기본은 30일입니다. API로 만들어진 대화만 집계됩니다.

키별 지출을 볼 수 있는 곳은 이 패널뿐입니다. 크레딧 기록에는 메시지마다 얼마가 들었는지 남지만 어느 키가 쓴 것인지는 적히지 않으므로, 연동끼리 견줄 때는 여기 통계를 쓰세요.

## 요청 만들기 \[#build-a-request]

**요청 만들기**를 누르면 생성기가 열립니다. 활성 키 하나를 고르고, 그 키가 볼 수 있는 목록에서 캐릭터나 시나리오를 고르고, 메시지를 적고, 스트리밍과 temperature를 정하면, 바로 돌아가는 cURL, TypeScript, Python을 복사할 수 있습니다.

그 키는 브라우저 안에서 캐릭터 목록을 불러오는 데만 쓰입니다. 만들어진 코드는 비밀 값을 박아 넣지 않고 환경에서 `REVERIE_API_KEY`를 읽습니다.

## 한도 \[#limits]

| 한도            | 값                   |
| ------------- | ------------------- |
| 계정당 키 개수      | 제한 없음               |
| 키별 요청 제한      | 없음                  |
| 키별 동시 실행 상한   | 없음                  |
| 실제로 사용량을 묶는 것 | 크레딧 잔액, 그리고 무료 모델 창 |

## 관련 문서 \[#related]

* [Open API](https://reverie.im/ko/docs/integrations/open-api) — 엔드포인트, 요청 형태, 오류
* [캐릭터 가져오기](https://reverie.im/ko/docs/characters/import-characters) — 가져오기용 키가 무엇을 위한 것인지
* [Reverie Labs](https://reverie.im/ko/docs/integrations/labs) — Open API와 가져오기 타일
* [보안](https://reverie.im/ko/docs/account/security) — 계정의 나머지 접근 설정
