Workers AI 완전 튜토리얼: 하루 10,000회급 대규모 모델 호출을 무료로 쓰고 OpenAI보다 90% 절약하기

제 OpenAI API 청구서가 한 달에 200달러를 넘긴 적이 있습니다. 시작은 작은 프로젝트를 며칠 테스트한 것뿐이었습니다. Workers AI는 Cloudflare의 엣지 기능을 살펴보다가 찾은 대안입니다. 하루 10,000 Neurons 무료 한도가 있고, 개인 용도로 일주일 정도 돌려보니 일상적인 대화량에는 충분했습니다.
이 글에서는 Workers AI를 호출하는 세 가지 방식과 OpenAI에서 옮겨올 때 어떤 설정을 바꾸면 되는지 정리합니다.
Workers AI란 무엇이고, 왜 살펴볼 만한가요?
간단히 말해 Workers AI는 Cloudflare가 제공하는 서버리스 AI 추론 서비스입니다. GPU를 직접 구매할 필요도, 서버를 관리할 필요도 없습니다. 몇 줄의 코드만으로 Llama, Mistral 같은 오픈소스 대규모 모델을 호출할 수 있습니다.
가장 중요한 점은 세 가지입니다.
-
하루 10,000 Neurons 무료 한도
- 실제 테스트 기준으로 수백 회의 대화를 처리할 수 있어 개인 프로젝트에는 충분합니다.
- Llama 3.1-8B 모델로 간단한 대화 1,000회를 테스트했을 때 약 8,000 Neurons를 사용했습니다.
-
유료도 저렴합니다: $0.011/1000 Neurons
- OpenAI GPT-3.5보다 60-70% 저렴합니다.
- GPT-4보다 90% 이상 저렴합니다.
-
전 세계 엣지 네트워크 가속
- Cloudflare는 300개 이상의 노드를 보유하고 있습니다.
- 응답 속도도 많은 클라우드 제공업체보다 빠른 편입니다.
다른 선택지와 비교해 보면
무료 서비스가 실제로 쓸 만한지 궁금할 수 있습니다. 그래서 간단히 표로 비교해 봤습니다.
| 방식 | 무료 한도 | 유료 가격 | 응답 속도 | 모델 선택 |
|---|---|---|---|---|
| Workers AI | 10,000 Neurons/일 | $0.011/1k Neurons | 빠름(엣지 노드) | 50+ 오픈소스 모델 |
| OpenAI API | 신규 사용자 $5(일회성) | $0.002/1k tokens(GPT-3.5) | 보통 | GPT 계열 |
| HuggingFace | 제한적인 무료 호출 | 모델별 과금 | 비교적 느림 | 매우 많은 모델 |
| 자체 서버 | - | GPU 임대 비용 높음 | 구성에 따라 다름 | 임의 모델 |
언제 Workers AI가 잘 맞을까요?
- ✅ 개인 프로젝트, 프로토타입 검증, 학습 실험
- ✅ 중소규모 프로덕션 애플리케이션(QPS < 300)
- ✅ 비용에 민감한 초기 스타트업 프로젝트
언제는 덜 적합할까요?
- ⚠️ 대규모 배치 처리(하루 수십만 회 호출)
- ⚠️ 지연 시간에 극도로 민감한 실시간 애플리케이션(< 100ms 응답 필요)
- ⚠️ 최신 GPT-4급 모델이 꼭 필요한 시나리오
"Llama 3.1-8B로 한국어/중국어 대화 처리를 테스트했을 때, 간단한 Q&A(100자 이내)는 회당 5-8 Neurons, 긴 텍스트 요약(입력 1000자)은 회당 30-50 Neurons, 코드 생성(코드 500줄)은 회당 20-40 Neurons 정도를 사용했습니다."
무료 한도는 충분할까요? 직접 계산해 봅시다
이 “Neurons”는 Cloudflare가 자체적으로 정의한 과금 단위입니다. 처음에는 저도 조금 헷갈렸습니다. 쉽게 보면 다음과 같습니다.
Neurons = (입력 tokens + 출력 tokens) × 모델 계수
모델마다 계수가 다릅니다.
- Llama 3.1-8B: 계수 약 0.8
- Llama 3.1-70B: 계수 약 3.5
- Mistral 7B: 계수 약 0.7
실제로 몇 번이나 쓸 수 있을까요?
이 사용량을 기준으로 계산하면 하루 10,000 Neurons로 대략 다음 정도를 처리할 수 있습니다.
- 간단한 대화 1,000-2,000회
- 긴 텍스트 처리 200-300회
- 코드 생성 250-500회
솔직히 개인 개발자에게는 꽤 넉넉합니다. 저는 지금 Workers AI로 작은 봇을 돌리고 있는데, 하루에 수백 건의 메시지를 처리해도 무료 한도 안에 들어옵니다.
무료 한도를 넘으면 어떻게 되나요?
자동으로 유료 모드로 전환되며 가격은 $0.011/1000 Neurons입니다.
초과하더라도 비용은 낮습니다.
- 하루 50,000 Neurons를 쓴다고 가정해 봅니다. 무료 한도의 5배입니다.
- 초과분: 40,000 Neurons
- 비용: 40,000 / 1000 × $0.011 = 하루 $0.44
- 한 달로 계산해도 약 $13
OpenAI와 비교하면 같은 호출량에 $50-100이 들 수 있습니다. Workers AI가 확실히 저렴합니다.
빠르게 시작하기: Workers AI를 호출하는 세 가지 방식
사전 준비는 간단합니다.
- Cloudflare 계정을 만듭니다. 무료입니다.
- Node.js를 설치합니다. 두 번째, 세 번째 방식을 사용할 때 필요합니다.
이제 세 가지 호출 방식을 소개하겠습니다. 쉬운 방식부터 조금 더 실전적인 방식까지 있으니 필요에 맞게 고르면 됩니다.
방식 1: 가장 간단하게 REST API 직접 호출
가장 빠르게 체험하는 방법입니다. 코드를 작성할 필요도 없이 curl 명령만으로 테스트할 수 있습니다.
1단계: API Token과 Account ID 받기
- Cloudflare에 로그인하고 https://dash.cloudflare.com 에 접속합니다.
- 주소 표시줄에
https://dash.cloudflare.com/xxxxxxxxx형태가 보입니다. 여기서xxxxxxxxx가 바로 Account ID입니다. 복사해 둡니다. - 오른쪽 위 프로필 이미지 → My Profile → API Tokens로 이동합니다.
- “Create Token”을 클릭하고 “Workers AI” 템플릿을 찾은 뒤 “Use template”을 선택합니다.
- 마지막 단계까지 진행하면 Token이 생성됩니다. 이 값은 한 번만 표시되므로 반드시 저장해 둡니다.
2단계: 호출 테스트
터미널을 열고 아래 명령을 실행합니다. Account ID와 Token은 본인의 값으로 바꿔야 합니다.
curl https://api.cloudflare.com/client/v4/accounts/{your_Account_ID}/ai/run/@cf/meta/llama-3.1-8b-instruct \
-H "Authorization: Bearer {your_API_Token}" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{"role": "system", "content": "당신은 친절한 AI 어시스턴트입니다"},
{"role": "user", "content": "Cloudflare Workers AI를 한 문장으로 소개해 주세요"}
]
}'
아래와 비슷한 JSON이 반환되면 성공입니다.
{
"result": {
"response": "Cloudflare Workers AI는 서버리스 AI 추론 플랫폼입니다..."
},
"success": true
}
자주 만나는 오류 처리:
- 오류 7003: Token 또는 Account ID가 잘못되었습니다. 전체 값을 복사했는지 확인합니다.
- 오류 10000: 모델 이름이 틀렸습니다.
@cf/meta/llama-3.1-8b-instruct처럼@cf/를 빠뜨리지 않아야 합니다. - 타임아웃: 첫 호출은 콜드 스타트 때문에 조금 느릴 수 있습니다. 약 10초 정도 기다리면 이후 호출은 빨라집니다.
방식 2: 추천 방식, Workers + Wrangler로 배포하기
공식적으로 권장되는 방식입니다. 영구적으로 사용할 수 있는 API로 배포할 수 있고, 설정 관리도 더 편합니다.
1단계: Wrangler CLI 설치
npm install -g wrangler
이어서 Cloudflare 계정에 로그인합니다.
wrangler login
브라우저가 자동으로 열리고 권한 승인을 요청합니다. 동의하면 됩니다.
2단계: Worker 프로젝트 만들기
npm create cloudflare@latest my-ai-worker
몇 가지 질문이 나오면 다음처럼 선택합니다.
- Select a project type: “Hello World” Worker
- Do you want to use TypeScript? 취향에 따라 선택합니다. 저는 JavaScript를 쓰려고 No를 골랐습니다.
- Do you want to use git? Yes
- Do you want to deploy? 우선 No를 고르고, 테스트한 뒤 배포합니다.
3단계: Workers AI 바인딩 설정
프로젝트 디렉터리로 들어가 wrangler.toml 파일을 열고 맨 아래에 다음 줄을 추가합니다.
[ai]
binding = "AI"
이렇게 하면 코드에서 env.AI로 Workers AI 서비스에 접근할 수 있습니다. Token을 직접 넘길 필요가 없습니다.
4단계: 코드 작성
src/index.js 또는 index.ts를 열고 내용을 다음처럼 바꿉니다.
export default {
async fetch(request, env) {
// CORS 처리(웹페이지에서 호출하려는 경우)
if (request.method === 'OPTIONS') {
return new Response(null, {
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST',
'Access-Control-Allow-Headers': 'Content-Type',
},
});
}
// POST 요청만 허용
if (request.method !== 'POST') {
return new Response('Method not allowed', { status: 405 });
}
try {
// 요청 파싱
const { messages } = await request.json();
// AI 모델 호출
const response = await env.AI.run('@cf/meta/llama-3.1-8b-instruct', {
messages: messages || [
{ role: 'user', content: '안녕하세요!' }
]
});
// 결과 반환
return new Response(JSON.stringify(response), {
headers: {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
},
});
} catch (error) {
return new Response(JSON.stringify({ error: error.message }), {
status: 500,
headers: { 'Content-Type': 'application/json' },
});
}
},
};
5단계: 로컬 테스트
wrangler dev
보통 http://localhost:8787에서 로컬 서버가 시작됩니다.
curl로 테스트해 봅니다.
curl http://localhost:8787 \
-X POST \
-H "Content-Type: application/json" \
-d '{
"messages": [
{"role": "user", "content": "당신에 대해 소개해 주세요"}
]
}'
정상적으로 응답하면 배포할 수 있습니다.
6단계: 프로덕션 배포
wrangler deploy
배포가 성공하면 *.workers.dev 도메인이 표시됩니다. 예를 들면 다음과 같습니다.
https://my-ai-worker.your-name.workers.dev
이 주소가 곧 당신의 AI API 엔드포인트입니다. 어디서든 호출할 수 있습니다.
방식 3: OpenAI SDK로 거의 그대로 마이그레이션하기
이전에 OpenAI API를 쓰고 있었고 지금 Workers AI로 바꾸고 싶다면 이 방식이 가장 편합니다. 코드를 거의 바꾸지 않아도 됩니다.
Workers AI는 OpenAI 호환 엔드포인트를 제공합니다. baseURL만 바꾸면 됩니다.
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.CLOUDFLARE_API_TOKEN, // Cloudflare Token 사용
baseURL: `https://api.cloudflare.com/client/v4/accounts/${process.env.ACCOUNT_ID}/ai/v1`,
});
// OpenAI와 거의 같은 호출 방식
const chatCompletion = await client.chat.completions.create({
model: '@cf/meta/llama-3.1-8b-instruct', // Workers AI 모델명으로 변경
messages: [
{ role: 'system', content: '당신은 친절한 AI 어시스턴트입니다' },
{ role: 'user', content: 'Hello!' }
],
});
console.log(chatCompletion.choices[0].message.content);
주의할 점:
apiKey에는 Cloudflare API Token을 사용합니다.baseURL은 Workers AI 엔드포인트로 바꿉니다.model은 Workers AI가 지원하는 모델명으로 바꿉니다. 앞에@cf/가 필요합니다.
전에 OpenAI를 쓰던 Next.js 프로젝트가 하나 있었는데, Workers AI로 옮기는 데 10분 정도 걸렸습니다. 위 세 곳만 바꾸면 됐습니다.
어떤 모델을 쓸 수 있고, 어떻게 고르면 될까요?
Workers AI는 현재 50개가 넘는 모델을 지원합니다. 자주 쓸 만한 모델 몇 개만 추려서 소개하겠습니다.
텍스트 생성 모델(가장 많이 사용)
| 모델 | 파라미터 수 | 특징 | 추천 시나리오 | 모델 ID |
|---|---|---|---|---|
| Llama 3.1 | 8B | 균형이 좋고 빠름 | 일상 대화, 고객 지원, 요약 | @cf/meta/llama-3.1-8b-instruct |
| Llama 3.1 | 70B | 품질이 더 높고 조금 느림 | 복잡한 추론, 긴 텍스트 | @cf/meta/llama-3.1-70b-instruct |
| Mistral 7B v0.2 | 7B | 32k 컨텍스트 | 긴 문서 분석 | @cf/mistral/mistral-7b-instruct-v0.2 |
| DeepSeek-R1 | 32B | 추론 성능이 강함 | 수학, 코드, 논리 | @cf/deepseek/deepseek-r1-distill-qwen-32b |
제가 추천하는 선택 기준은 이렇습니다.
-
처음에는 Llama 3.1-8B로 시작
- 응답이 빠릅니다. 보통 1-2초입니다.
- 품질도 충분하고 GPT-3.5에 크게 뒤지지 않습니다.
- 무료 한도 소모가 적습니다.
-
요구 수준이 높으면 Llama 3.1-70B 또는 DeepSeek-R1
- 추론 성능이 더 강합니다.
- 생성 품질이 GPT-4에 가깝습니다.
- 대신 조금 느리고(3-5초), 사용량도 3-4배 더 듭니다.
-
긴 문서 분석에는 Mistral 7B v0.2
- 32k 컨텍스트 창을 지원합니다. Llama 3.1은 8k입니다.
- 긴 논문이나 긴 코드를 처리할 때 적합합니다.
실전 사례: 실제로 쓸 수 있는 세 가지 예시
사례 1: 지능형 Q&A API 만들기(가장 간단)
시나리오: 블로그나 문서 사이트에 AI 고객 지원 기능을 붙입니다.
전체 코드입니다. 방식 2를 기준으로 합니다.
export default {
async fetch(request, env) {
// CORS 허용
const corsHeaders = {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST, OPTIONS',
'Access-Control-Allow-Headers': 'Content-Type',
};
if (request.method === 'OPTIONS') {
return new Response(null, { headers: corsHeaders });
}
try {
const { question } = await request.json();
// system 프롬프트에 사이트의 배경 지식을 넣을 수 있습니다.
const messages = [
{
role: 'system',
content: '당신은 기술 블로그의 AI 어시스턴트입니다. 주로 Web 개발과 AI 활용에 관한 질문에 답합니다. 답변은 간결하고 친절해야 합니다.'
},
{
role: 'user',
content: question
}
];
const response = await env.AI.run(
'@cf/meta/llama-3.1-8b-instruct',
{ messages }
);
return new Response(
JSON.stringify({ answer: response.response }),
{ headers: { ...corsHeaders, 'Content-Type': 'application/json' } }
);
} catch (error) {
return new Response(
JSON.stringify({ error: '처리에 실패했습니다. 잠시 후 다시 시도해 주세요.' }),
{ status: 500, headers: { ...corsHeaders, 'Content-Type': 'application/json' } }
);
}
}
};
비용 추정: 하루에 사용자 200명이 질문하고, 대화 한 번에 10 Neurons를 쓴다고 가정하면 총 2,000 Neurons입니다. 무료 한도 안에 충분히 들어옵니다.
사례 2: 대량 텍스트 요약 생성
시나리오: RSS 구독이나 뉴스 수집처럼 많은 글에 대한 요약을 생성해야 합니다.
async function generateSummary(text, env) {
const messages = [
{
role: 'system',
content: '당신은 전문적인 텍스트 요약 어시스턴트입니다. 사용자가 제공한 글을 2-3문장으로 요약하고 핵심 관점을 드러내 주세요.'
},
{
role: 'user',
content: `다음 글을 요약해 주세요:\n\n${text}`
}
];
const response = await env.AI.run(
'@cf/meta/llama-3.1-8b-instruct',
{
messages,
max_tokens: 150 // 출력 길이를 제한해 Neurons를 절약합니다.
}
);
return response.response;
}
속도 제한 주의:
- Llama 3.1-8B의 제한은 분당 300 요청입니다.
- 대량으로 처리하려면 지연을 넣거나 큐를 사용하는 것이 좋습니다.
비용 계산 예시:
- 글 한 편이 1,000자이고 100자 요약을 생성한다고 가정합니다.
- 회당 약 30 Neurons를 사용합니다.
- 글 300편 처리 = 9,000 Neurons로, 여전히 무료 한도 안입니다.
사례 3: 다국어 번역 서비스
시나리오: 번역 도구를 만들거나 애플리케이션에 국제화 기능을 추가합니다.
async function translate(text, targetLang, env) {
const messages = [
{
role: 'system',
content: `당신은 전문 번역 어시스턴트입니다. 사용자 입력을 ${targetLang}(으)로 번역하고 원문의 스타일과 어조를 유지하세요. 번역 결과만 반환하고 설명은 추가하지 마세요.`
},
{
role: 'user',
content: text
}
];
const response = await env.AI.run(
'@cf/meta/llama-3.1-8b-instruct',
{ messages }
);
return response.response;
}
비용 비교:
- Google Cloud Translation API: 백만 문자당 $20
- Workers AI(Llama 3.1): 백만 문자당 약 $1.65
10배 이상 저렴합니다.
정리: Workers AI는 써볼 만한가요?
한 달 동안 테스트한 뒤 제 결론은 이렇습니다. 개인 개발자와 작은 팀에게는 충분히 시도해 볼 만합니다.
장점:
- ✅ 넉넉한 무료 한도(하루 10,000 Neurons)
- ✅ 저렴한 유료 가격(OpenAI보다 60-90% 저렴)
- ✅ 쉬운 시작(REST API와 OpenAI 호환 인터페이스 제공)
- ✅ 빠른 응답 속도(전 세계 엣지 네트워크)
- ✅ 다양한 모델 선택(50+ 오픈소스 모델)
제안:
- 개인 프로젝트라면 바로 써보세요. 무료 한도가 충분하고 서버 비용도 줄일 수 있습니다.
- 초기 스타트업 프로젝트라면 먼저 써볼 수 있습니다. 규모가 커진 뒤 다른 방식으로 옮길지 판단해도 됩니다.
- 기업 애플리케이션은 신중히 평가하세요. SLA와 데이터 컴플라이언스 같은 조건을 함께 봐야 합니다.
저렴한 AI 솔루션을 찾고 있다면 Workers AI를 한 번 테스트해 볼 만합니다. 계정 생성은 5분, 첫 예제를 실행하는 데도 15분 정도면 충분합니다. 의외로 지금 만들고 있는 프로젝트에 딱 맞을 수도 있습니다.
FAQ
Workers AI의 무료 한도는 충분한가요?
• 간단한 대화 1,000-2,000회
• 긴 텍스트 요약 200-300회
• 코드 생성 250-500회
개인 프로젝트와 소규모 애플리케이션에는 충분합니다.
Workers AI는 OpenAI보다 얼마나 저렴한가요?
• OpenAI GPT-3.5보다 60-70% 저렴합니다.
• GPT-4보다 90% 이상 저렴합니다.
비용 예시는 다음과 같습니다.
• 하루 50,000 Neurons를 사용한다고 가정하면 월 비용은 약 $13입니다.
• 같은 호출량을 OpenAI로 처리하면 $50-100 정도가 필요할 수 있습니다.
OpenAI에서 Workers AI로 어떻게 마이그레이션하나요?
1) apiKey를 Cloudflare Token으로 변경합니다.
2) baseURL을 Workers AI 엔드포인트로 변경합니다.
3) model을 Workers AI가 지원하는 모델로 변경합니다. 예: @cf/meta/llama-3.1-8b-instruct
Workers AI는 어떤 모델을 지원하나요?
• Llama 3.1 (8B/70B)
• Mistral 7B (32k 컨텍스트)
• DeepSeek-R1 (강한 추론 성능)
• Stable Diffusion XL (이미지 생성)
• Whisper (음성 인식) 등
Workers AI는 어떻게 시작하나요?
1) REST API: 가장 간단하며 curl로 바로 테스트할 수 있습니다.
2) Workers + Wrangler 배포: 추천 방식이며 영구 API로 배포할 수 있습니다.
3) OpenAI SDK 호환 방식: OpenAI에서 마이그레이션할 때 적합합니다.
Cloudflare 계정을 만든 뒤 5-15분이면 첫 호출까지 해볼 수 있습니다.
3분 읽기 · 게시일: 2025년 11월 21일 · 수정일: 2026년 10월 21일
Cloudflare AI Stack 가이드
이 시리즈의 첫 글을 읽고 있습니다. 다음 글로 이어가거나 시리즈 허브에서 전체 경로를 확인하세요.



댓글
GitHub로 로그인하여 댓글을 남기세요