배포된 앱의 AI 크레딧

DontCode로 출시한 앱 안에서 발생하는 모든 AI 호출은 에디터에서 사용하시는 것과 동일한 크레딧 잔액에서 차감됩니다. 잔액이 0이 되면 라이브 앱의 AI 기능은 크레딧을 다시 구매하실 때까지 일시 중지됩니다. 운영자와 사용자에게 정확히 어떻게 보이는지 안내드립니다.

6분 분량
프로젝트 소유자용

이 문서가 중요한 이유

앱에서 AI 이미지 분석, 텍스트 생성, 에이전트, 이미지 생성을 사용하신다면 해당 호출마다 비용이 발생합니다. 앱의 최종 사용자는 운영자의 계정에 크레딧을 구매해 줄 수 없기 때문에, AI 기능이 멈췄을 때 직접 해결할 수 없습니다. 해결할 수 있는 사람은 운영자 본인뿐입니다. 이 페이지에서는 잔액이 소진된 순간 운영자에게 어떤 이메일이 도착하는지, 그리고 사용자에게는 어떤 화면이 보이는지 정리해 드립니다.

AI 결제가 동작하는 방식

DontCode 계정마다 공유 크레딧 잔액이 하나 있습니다. 앱을 만드는 에디터의 AI와, 배포된 앱에서 사용자가 호출하는 AI 기능 모두 같은 잔액에서 차감됩니다. 채팅, 비전, 에이전트는 토큰 단위로 과금되며, 이미지 생성은 이미지 한 장 단위로 과금됩니다. 모델 원가에 약간의 플랫폼 마진이 더해집니다.

  • 라이브 앱의 모든 AI 요청은 프로젝트 단위로 인증되므로, 어느 계정의 잔액에서 차감해야 하는지 확인할 수 있습니다.
  • 실제 사용되는 모델은 SDK 호출 시 지정하신 'intent' 값에 따라 달라집니다: quick, balanced, thorough.
  • 호출이 완료되는 즉시 사용 내역이 크레딧 원장에 기록됩니다.
  • 인프라와 호스팅 비용을 충당하기 위해 모델 원가에 소폭의 플랫폼 마진이 추가됩니다.

잔액이 0이 되면 어떤 일이 일어나는지

모든 AI 호출 전에 잔액을 확인합니다. 잔액이 0 이하이면 AI가 실행되기 전에 호출이 거부되므로, 실패한 호출에 대해 부분적으로 과금되는 일은 없습니다. 배포된 앱은 구조화된 402 응답을 받게 되며, @dontcode/ai SDK가 이를 타입이 지정된 InsufficientCreditsError로 변환합니다.

프로젝트당 24시간에 한 번, 첫 번째 거부가 발생한 시점에 계정 이메일로 알림 메일을 보내드립니다. 같은 24시간 안에 추가로 발생하는 거부는 카운터에만 기록되고 추가 메일은 발송되지 않으므로, 트래픽이 많은 앱이 메일함을 가득 채우는 일은 없습니다. 크레딧을 다시 구매하시면 카운터가 초기화되고, 다음 소진 시점부터 다시 알림이 발송됩니다.

최종 사용자에게 보이는 화면

기본 설정에서 SDK는 영어 또는 한국어로 다음과 같은 일반적인 메시지를 표시합니다. "이 기능은 현재 사용할 수 없습니다. 사이트 운영자에게 알림이 전송되었습니다." "크레딧이 소진되었다"거나 "DontCode"라는 단어는 일부러 노출하지 않습니다. 최종 사용자는 결제 담당자가 아니고, 크레딧이라는 개념도 모르며, 운영자의 앱 안에 플랫폼 브랜드가 보이는 것은 혼란만 줄 수 있기 때문입니다.

필요하시면 이 문구를 직접 덮어쓰실 수 있습니다. 예를 들어 "이번 달 AI 사용량이 모두 소진되었습니다. 고객센터로 문의해 주세요"처럼 제품에 맞춘 메시지를 보여줄 수 있습니다. SDK는 `error.userFacingMessage`, `error.userFacingMessageKo` 필드를 제공하며, `error.code === "INSUFFICIENT_CREDITS"`로 이 상황을 안정적으로 구분할 수 있습니다.

클라이언트 앱에서 감지하는 방법

import { isInsufficientCreditsError, useChat } from '@dontcode/ai/client'

function MyChatPage() {
  const { error } = useChat({ intent: 'balanced' })

  if (isInsufficientCreditsError(error)) {
    // 안내 메시지를 표시합니다. 운영자에게는 이미 알림이 전송되었습니다.
    return <p>{error.forLocale('ko')}</p>
  }
  // ...기본 UI
}

운영자에게 발송되는 이메일

잔액이 소진된 뒤 첫 요청이 차단되는 시점에, "DontCode Billing" 발신자로 계정 이메일에 알림이 도착합니다. 제목은 다음과 같습니다.

[DontCode] "프로젝트명" is out of AI credits

본문에는 어떤 프로젝트가 소진됐는지, 어떤 AI 기능(채팅, 비전, 이미지 생성, 에이전트)이 차단됐는지, 잔액 소진 이후 차단된 사용자 요청 수, 그리고 크레딧 구매 페이지로 바로 이동하는 링크가 담겨 있습니다. 구매가 완료되면 즉시 AI 기능이 재개됩니다. 재배포는 필요 없습니다.

런칭 전에 점검해야 할 사항

작업에 적합한 가장 저렴한 intent를 선택하세요.

"quick"은 가장 작은 모델을 사용해 비용이 가장 적습니다. "balanced"가 기본값으로 적절합니다. "thorough"는 비용보다 정확도가 진짜로 중요한 경우에만 사용하시기 바랍니다.

에디터의 크레딧 대시보드를 주기적으로 확인하세요.

프로젝트의 크레딧 잔액과 사용 내역은 대시보드의 결제 영역에서 확인하실 수 있습니다. 소진 속도를 파악하시기 전까지는 주간 리마인더를 설정해 두시는 것을 권장드립니다.

자동 구매를 켜 두세요.

결제 페이지의 자동 구매는 잔액이 정해 둔 기준("잔액이 이 수치 미만 시 구매") 아래로 내려가면 크레딧 패키지를 구매합니다. 카드 결제 수단이 필요합니다. 24시간 단위 알림 메일은 안전망일 뿐, 모니터링을 대체하는 수단은 아닙니다.

사용자에게 어떻게 설명할지 미리 정해 두세요.

기본 오류 메시지는 의도적으로 모호하게 작성되어 있습니다. 사내 도구나 소규모 고객 앱이라면, 고객센터 연락처가 포함된 문구로 덮어쓰는 것을 권장드립니다.

"갑자기 작동하지 않아요" 진단 순서

사용자가 AI 기능이 동작하지 않는다고 알려오면 다음 순서로 확인해 주세요.

  1. 대시보드에서 크레딧 잔액을 확인하세요. 잔액이 0이라면 원인이 확정된 것이며, 크레딧을 구매하시면 즉시 정상화됩니다.
  2. 받은편지함(스팸 폴더 포함)에서 DontCode Billing이 보낸 "AI 크레딧 소진" 메일을 확인하세요. 메일이 있다면 원인이 확정된 것입니다.
  3. 잔액이 충분한데도 실패한다면, 프로젝트 분석의 오류 화면을 확인한 다음 기록의 자세히 아래 배포 로그를 확인하세요. 실제 버그는 402가 아닌 500을 반환합니다.
  4. 특정 AI 호출 하나만 계속 실패한다면, 결제 문제가 아니라 프롬프트나 입력 데이터의 문제일 가능성이 높습니다.

잔액 관리 바로가기

결제 페이지에서 현재 잔액과 구매 옵션을 확인하실 수 있습니다.

여전히 헷갈리시나요?

결제 관련 문의는 가능한 빨리 답변드리고 싶은 부분입니다. 이메일을 보내 주세요. 모든 메일을 직접 확인합니다.