Cherry Studio 비용 통계 읽기: Requests의 빈 Cost, Token 추정과 실제 청구
Usage → Requests의 요청 한 건에서 비용 출처와 Token·이미지 과금 단위를 확인하고 공급자 기록과 대조하는 방법입니다. 정식 v2.1.6과 main에 병합된 이미지 단가 설정을 구분하며 빈 Cost, 0, 통화, 과거 가격 스냅샷이 뜻하는 바를 설명합니다.
목차

Cherry Studio에서 이미지는 생성됐는데 Requests의 Cost가 비어 있거나 대시로 표시돼도 무료였다는 뜻은 아닙니다. 금액이 보여도 곧바로 공급자의 청구 내역으로 받아들일 수는 없습니다. 먼저 **설정 → 사용량 → 요청(Settings → Usage → Requests)**에서 해당 기록을 찾고, 비용 출처와 과금 단위, 실제 차감액을 대조하세요. 가격을 설정하지 않은 것인지, 클라이언트가 추정할 수 없는 것인지, 아니면 양쪽에서 서로 다른 호출을 집계하는 것인지 구분할 수 있습니다.
기존 요청과 청구 기록을 먼저 보관하세요. Cost에 숫자를 표시하려고 이미지를 반복해서 생성할 필요는 없습니다. 아래의 화면과 계산 설명은 공식 릴리스 소스 코드와 병합된 변경 사항을 바탕으로 합니다. 클라이언트가 비용을 기록하는 방식을 설명하는 것이며, 특정 공급자·모델·계정 조합을 실제 호출로 검증한 결과는 아닙니다.
먼저 버전을 확인하세요: 이미지 단가 설정의 main 병합과 정식 출시는 다릅니다
2026-10-17 기준 공식 latest 릴리스는 v2.1.6이며, 이미지 단가 입력 기능을 추가한 PR #21892는 같은 날 main에 병합됐습니다. main은 개발 브랜치입니다. 병합 기록만으로 설치된 정식 버전에 해당 기능이 포함됐다고 판단할 수는 없습니다. 정식 릴리스 기록과 이미지 단가 설정 PR을 확인하세요.
2026-10-16에 codeBennyLaw는 Windows v2.1.6의 Issue #21870에서 모델 가격 설정에 100만 Token당 단가 필드만 있고, 일부 이미지 요청의 Cost가 대시로 표시된다고 보고했습니다. 이는 해당 사용자의 환경에 관한 보고이며, 모든 이미지 모델이 무료라는 의미는 아닙니다. 이 Issue는 PR 병합과 함께 닫혔지만, 본인의 화면을 판단할 때는 여전히 설치된 버전을 확인해야 합니다.
| 실제로 사용하는 화면 | 가능한 작업 | 권장 확인 방법 |
|---|---|---|
| v2.1.6의 모델 가격 편집기 | 입력·출력·캐시 Token 단가와 가격 구간을 편집할 수 있으며 이미지 단가 입력란은 없음 | Token 기준 과금 모델은 Token 단가를 확인하고, 이미지 기준 과금 요청은 공급자 기록과 직접 대조 |
| PR #21892가 포함됐고 Price unit과 Image price가 실제로 보이는 빌드 | 생성된 이미지 한 장당 가격을 편집할 수 있음 | 공급자가 이미지 수에 따라 과금하는지 확인한 뒤 단가를 입력하고 새 요청으로 검증 |
| 위와 화면이 다른 새 빌드나 맞춤 빌드 | 해당 빌드에 따라 기능이 달라짐 | 그 빌드의 설명과 실제 필드를 먼저 확인하고, 다른 버전의 화면만 보고 설정을 추측하지 않기 |
이 구분은 v2.1.6 가격 편집기와 변경 사항이 병합된 버전의 가격 편집기에 근거합니다. 아래에서는 위치를 찾기 쉽도록 영어 항목명을 사용합니다. 실제 표시 문구는 클라이언트 언어에 따라 달라질 수 있습니다.
Requests에서 같은 요청을 찾으세요
금액보다 먼저 요청의 일치 여부를 확인하세요. 클라이언트 버전, 당시 사용한 공급자 설정, 정확한 모델 ID, 같은 공급자 계정의 사용량 또는 차감 기록을 준비합니다. 화면에 표시된 모델 이름이 같다는 것만으로 같은 모델이나 과금 경로라고 단정할 수는 없습니다.
- Settings → Usage → Requests를 열고 해당 요청이 포함되는 기간을 선택한 다음 Date를 기준으로 기록을 찾습니다.
- 각 행의 모델 이름과 그 아래 공급자 이름을 대조합니다. Source는 어떤 어시스턴트, 세션, 기능에서 호출이 발생했는지를 나타내며 비용 출처가 아닙니다.
- 날짜와 시간, Tokens, Cost, 통화를 기록합니다. 원하는 기록이 보이지 않으면 먼저 Date 정렬로 돌아가 기간을 확인하고, 목록 아래에서 기록을 더 불러옵니다. Cost 정렬에는 선택한 통화의 필터도 적용되므로 비용이 없는 기록은 결과에서 빠질 수 있습니다.
- 공급자의 같은 시간대 기록도 보관합니다. 클라이언트 기록의 날짜는 호출이 완료된 시각입니다. 공급자는 별도의 계상 시각과 시간대를 사용할 수 있으므로, 먼저 요청이 진행된 전체 시간을 포함하는 범위로 맞춰 보세요.
항목과 표시 방식은 공식 Requests 테이블 소스와 기록 저장 로직에서 확인할 수 있습니다.
목록 전체에 기록이 없으면 기간, 추가 로딩, 호출 완료 여부부터 확인합니다. Cost만 비어 있으면 가격과 비용 출처를 계속 확인합니다. 두 경우의 다음 조치는 다릅니다. 앱을 재설치하거나 기록을 지우는 것만으로는 공급자가 요금을 차감했는지 알 수 없습니다.
Cost의 세 가지 상태는 Source 열로 구분할 수 없습니다
금액이 얼마나 정밀하게 보이는지보다 그 금액의 출처가 더 중요합니다. 공식 기록 로직은 조건을 충족하는 공급자 비용을 먼저 받아들입니다. 이를 사용할 수 없으면 요청 당시 저장한 가격 스냅샷으로 추정하고, 둘 다 불가능하면 비용을 비워 둡니다. 비용 기록 로직에 이 순서가 정의돼 있습니다.
| 기록의 상태 | 의미 | 대조할 때의 용도 |
|---|---|---|
costSource가 provider | 클라이언트가 공급자가 반환한 비용을 받아들인 상태. 공급자의 기능 선언과 금액·통화 조건이 충족돼야 함 | 해당 응답에 담긴 비용 정보로 보고, 계정의 실제 차감 기록과 다시 대조 |
costSource가 computed | 클라이언트가 사용량과 당시 가격 스냅샷으로 계산한 금액 | 추정치와 추세를 확인하는 데 활용하고, 로컬 단가가 실제 계정 조건과 일치하는지 점검 |
| Cost와 출처가 모두 비어 있음 | 사용할 수 있는 공급자 금액이 없고 로컬 계산도 완료할 수 없음 | 금액을 알 수 없는 상태이므로 공급자 기록에서 실제 차감액 확인. 0으로 바꾸지 않기 |
v2.1.6은 Cost가 없으면 **-**로 표시합니다. 확인한 main의 영어 문구는 Unable to estimate입니다. 현재 Requests 테이블에는 별도의 costSource 열이나 비용 출처를 알려 주는 툴팁이 없습니다. Source 열을 대신 사용하거나 금액 하나만 보고 출처를 추정하지 마세요. 화면에 출처가 명시되지 않으면 우선 출처 미확인으로 처리합니다. main 테이블과 영어 표시 문구를 참고하세요.
공급자가 응답에 비용 필드를 넣었다고 해서 클라이언트가 반드시 받아들이는 것은 아닙니다. 실제 청구 금액을 반환한다고 선언한 공급자인지, 통화를 식별할 수 있는지 등의 조건도 있습니다. 이를 위해 내부 기록을 수정할 필요는 없습니다. 실제 차감액과 맞는지는 결국 공급자 계정에서 확인해야 합니다. 공식 비용 처리 설명에 관련 조건이 나와 있습니다.
Token 비용을 추정할 때는 단위와 분류부터 확인하세요
Requests의 Tokens는 전체 사용량이므로 하나의 단가를 그대로 곱할 수 없습니다. computed는 금액을 로컬에서 계산했다는 뜻일 뿐, Token 수까지 로컬 추정치라는 뜻은 아닙니다. 공식 합계 함수는 totalTokens를 우선 사용하고, 합계가 없으면 알고 있는 입력·출력 수를 더합니다. 둘 다 알 수 없으면 빈 값으로 남깁니다. Token 합계 정의를 확인하세요.
Settings → Model Provider → 공급자 선택 → 해당 모델의 톱니바퀴 → More settings에서 가격 영역을 찾습니다. 같은 계정, 같은 모델, 같은 가격 구간에 적용되는 현재 단가와 대조하세요.
- Input Price / Output Price: 각각 100만 입력·출력 Token당 단가입니다. 공급자가 1,000 Token당 가격을 안내한다면 먼저 100만 Token 기준으로 환산해야 합니다. 숫자만 그대로 복사하지 마세요.
- Cache Read Price / Cache Write Price: 캐시 읽기와 쓰기 단가를 각각 확인합니다. 현재 편집기에서 비워 두면 해당 구간의 입력 단가를 적용합니다. 0을 입력해야 로컬 계산에서 무료 단가로 처리합니다. 빈칸은 무료라는 뜻이 아닙니다.
- 입력 길이에 따른 가격 구간: 클라이언트는 이번 호출의 전체 입력량으로 구간 하나를 선택하고 그 단가를 호출 전체에 적용합니다. 사용량을 구간별로 나눠 서로 다른 단가를 순서대로 적용하는 누진 방식이 아닙니다. 필요한 사용량이나 단가가 없으면 추정치는 여전히 비어 있을 수 있습니다.
필드와 저장 로직은 가격 편집기, 계산 기준은 비용 처리 설명을 참고하세요.
대조 기록에는 분류별 수량과 단가를 함께 적습니다. 계산 형태는 캐시를 사용하지 않은 입력 × 입력 단가 + 캐시 읽기 × 읽기 단가 + 캐시 쓰기 × 쓰기 단가 + 출력 × 출력 단가이며, 각 항목을 100만 Token 기준으로 맞춰 계산해야 합니다. 입력 합계에 캐시가 이미 포함돼 있다면 먼저 분리하고, 캐시 수량을 일반 입력에 다시 더하지 마세요. 추론 Token이 출력에 포함돼 있다면 이 역시 한 번 더 더하면 안 됩니다. 분류별 수량을 얻을 수 없으면 알 수 없는 값으로 기록하고, 전체 Tokens만으로 정밀한 청구액을 만들어 내지 마세요.
통화도 구분해야 합니다. 확인한 가격 편집기에서 $는 USD, ¥는 CNY이며 JPY가 아닙니다. 기호를 바꿔도 환율에 따른 금액 변환은 이뤄지지 않습니다. 충전 내역이나 은행 명세서는 현지 통화인데 모델 단가는 미국 달러라면, 먼저 달러 기준 호출 비용을 대조하세요. 이후 충전 환율과 수수료를 별도로 확인하고, 서로 다른 통화의 금액을 그대로 더하지 않습니다. 통화 대응 관계와 가격 저장 소스에 정의돼 있습니다.
가격을 바꾼 뒤 입력란 밖을 클릭하고, 같은 모델을 다시 열어 값이 저장됐는지 확인합니다. 공급자에 가격 배율이나 시간대별 가격 규칙이 설정돼 있는지도 확인하세요. 이미 배율이 반영된 실제 단가에 배율을 또 적용하지 않도록 해야 합니다. 과거 요청은 원래의 가격 스냅샷을 사용하므로 지금 가격을 바꿔도 새 가격으로 자동 변경되지 않습니다. 배율·시간대 규칙 소스와 요청 당시 가격 스냅샷을 참고하세요.
이미지 Cost가 비어 있다면 요청당 과금인지 이미지당 과금인지 확인하세요
요청 한 번, 이미지 한 장, 이미지 Token을 기준으로 요금을 매기는 것은 서로 다른 과금 조건입니다. 요청 한 번이 여러 이미지를 반환할 수 있습니다. 요청당 고정 금액을 이미지 한 장의 단가로 바로 입력하거나, Input Price나 Output Price에 넣어서는 안 됩니다.
v2.1.6의 내부 구현에는 이미지당 비용을 계산하는 조건이 있지만, 데스크톱 가격 편집기에는 해당 입력란이 없습니다. 로컬 이미지 비용 계산에는 실행 시점의 가격 스냅샷에 perImage가 있고, unit이 image이며, 호출에서 imageCount를 제공해야 합니다. Token 단가만 있거나 단위가 pixel인 경우는 충분하지 않습니다. 이미지 비용 계산 조건을 확인하세요.
사용 중인 빌드에 새 항목이 실제로 있고, 공급자가 생성된 이미지 수에 따라 과금한다고 명시한 경우에는 다음과 같이 설정합니다.
- 같은 공급자, 같은 모델의 가격 영역에서 Price unit을 Image로 변경합니다.
- Image price에 해당 통화의 이미지 한 장당 단가를 입력합니다. 입력란에서 포커스를 옮기면 자동 저장되므로 모델을 다시 열어 확인합니다.
- 가격을 모르면 비워 둡니다. 실제 단가가 0일 때만 0을 입력하세요. 임의로 0을 넣으면 로컬 표시가 바뀔 뿐, 공급자의 요금 차감이 중단되지는 않습니다.
- 이 선택은 어떤 가격을 편집할지만 정하며 Token 단가와 이미지 단가를 모두 보존합니다. 새로운 “요청당 고정 요금” 모드를 추가한 것이 아니며, 픽셀이나 이미지 Token 기준 추정도 해결하지 않습니다.
- 가격 변경 후 새로 생성하는 한 건으로 대조합니다. 결과를 받은 뒤 실제 반환된 이미지 수, 요청 시각, 새 Cost를 기록하고 공급자 내역과 비교하세요. 로컬 계산은 “생성된 이미지 수 × 요청 당시 유효한 이미지 단가”를 사용하며, 적용되는 공급자 배율이나 시간대 규칙도 고려해야 합니다. 확인용 새 요청도 유료일 수 있으므로, 원래 필요했던 다음 이미지 생성으로 확인하는 편이 좋습니다.
이 절차는 새 가격 편집기와 가격 저장 함수에 근거합니다. 항목이 없으면 먼저 공급자의 실제 기록으로 대조하고, 설치한 정식 버전에 기능이 포함됐다고 확인한 뒤 설정하세요.
이미지 단가를 입력한 뒤에도 새 요청의 Cost가 비어 있을 수 있습니다. 실제로 다른 모델 설정을 사용했거나, 이미지 수를 얻지 못했거나, 통화 정보가 불완전하거나, 실제 계약이 이미지당 과금과 다를 수 있으므로 각각 확인해야 합니다. 공식 맞춤형 이미지 작업 경로는 반환된 이미지 URL의 수를 imageCount로 기록합니다. 따라서 내 컴퓨터에서 다운로드에 성공한 파일 수로 바로 대체할 수 없습니다. 이 수량이 모든 공급자의 청구 기준과 일치한다는 보장도 아닙니다. 이미지 작업 기록 소스를 참고하세요.
공급자의 실제 차감액과 대조하고 차이를 설명할 기록을 남기세요
양쪽 월간 합계를 바로 비교하기보다 완료된 요청 한 건부터 대조하면 차이를 찾기 쉽습니다. 같은 공급자 계정을 사용하고, Key 라벨이나 그룹으로 구분할 수 있으면 함께 기록합니다. 다만 전체 키를 스크린샷이나 문의 내용에 넣지는 마세요.
| 보관할 항목 | Cherry Studio 측 | 공급자 측 |
|---|---|---|
| 식별 정보 | 클라이언트 버전, 공급자 설정, 모델 표시 이름과 정확한 ID | 실제 계정, 모델 ID, 적용 가격 구간 |
| 시간 | 요청 완료 시각과 로컬 시간대 | 계상 시각, 시간대, 같은 호출이 포함된 범위 |
| 수량 | 표시되는 Tokens, 이미지 작업에서 실제로 반환된 수량 | 입력·출력·캐시 등의 사용량 분류, 과금된 요청 수 또는 이미지 수 |
| 금액 | Cost, 통화, 빈 값을 원래대로 보관 | 실제 차감액, 통화, 확인 가능한 환급 또는 조정 |
| 대응 관계 | 요청이 속한 세션이나 기능 | 공급자가 제공하는 요청 또는 청구 식별자 |
양쪽에 같은 공급자 요청 ID가 명확히 제공되면 우선 그 ID로 맞춥니다. 그렇지 않으면 계정, 모델, 시간 범위, 수량을 조합해 대조하세요. Cherry Studio의 내부 요청 식별자에는 자체 명명 방식이 있으므로 공급자 ID와 같다고 가정하면 안 됩니다. 공식 기록 구조에 설명돼 있습니다.
이미 BetterToken을 사용하고 있다면 공식 사용량 안내에 따라 콘솔에서 현재 사용량과 차감 이력을 확인할 수 있습니다. 그런 다음 화면이 실제로 제공하는 필드를 기준으로 모델, 시간, 상태, Token을 대조하세요.
금액이 일치하지 않으면 다음 순서로 확인합니다.
- 수량부터 다를 때: 같은 계정을 다른 도구에서도 사용하는지, 한 번의 작업에서 여러 호출이 발생했는지 확인합니다. 클라이언트가 관측하지 못한 SDK 재시도는 Requests에 기록되지 않을 수 있습니다. 양쪽 건수가 항상 일대일로 대응한다고 기대할 수는 없습니다.
- 수량은 같지만 금액이 다를 때: 모델, 이미지당·요청당·Token 과금 단위, 캐시 규칙, 가격 구간, 통화, 배율, 계정의 실제 단가를 확인한 뒤 요청 당시의 과거 가격 스냅샷도 살펴봅니다.
- 공급자에는 차감 내역이 있지만 Cost가 비어 있을 때: 빈 값을 유지하고, 해당 금액과 함께 “클라이언트는 추정 불가, 공급자는 과금 완료”라고 기록합니다. 임의로 빈 값을 0으로 바꾸지 마세요.
- 클라이언트에는 기록이 없거나 실패로 보이지만 공급자에는 기록이 있을 때: 먼저 공급자의 완료 판정, 과금, 환급 규칙을 확인합니다. 민감 정보를 가린 시간, 모델, 공급자 요청 식별자를 제공하고, 재현하려고 곧바로 여러 요청을 다시 보내지는 마세요.
공식 설명은 이 사용량 기록을 가능한 범위에서 수집하는 분석 데이터로 정의합니다. 클라이언트가 관측하지 못한 재시도, 실패, 이전 버전에서 옮겨 온 기록 등은 수량 비교에 영향을 줄 수 있습니다. 실제 차감액은 공급자 기록을 기준으로 하며, 그 기록에서 불명확한 부분은 공급자에게 설명을 요청해야 합니다. 빈 Cost만으로 추측할 수는 없습니다. 기록 범위와 한계를 확인하세요.
어떤 상태가 되면 대조를 마쳤다고 볼 수 있나요?
같은 요청에 대해 양쪽 기록을 남기고 세 가지를 설명할 수 있어야 합니다. 어떤 모델과 과금 단위를 사용했는지, 클라이언트 금액의 출처가 명확한지 또는 추정·미확인 상태인지, 공급자가 최종적으로 얼마를 차감했으며 차이가 있다면 왜 생겼는지입니다. 로컬 가격을 바꿨다면 새 요청으로 저장 상태와 계산 결과를 확인합니다. 기존 요청의 원래 값은 보존하고, 과거 데이터가 새 가격으로 다시 계산되기를 기대하지 마세요.
지금은 기존 이미지 요청 한 건부터 시작하세요. 버전, 모델, 시간, 실제 이미지 수, Cost, 공급자 차감액을 기록합니다. 그 한 건을 설명할 수 있게 되면 집계 기간을 넓히세요. 설명할 수 없다면 부족한 필드와 해당 요청을 정리해 공급자나 클라이언트 개발 프로젝트에 확인을 요청하세요.