Alejandro Rioja.
AI Agents Growth

Cloudflare पर कंटेंट एजेंट चलाने का सबसे सस्ता तरीका

Alejandro Rioja
Alejandro Rioja
7 मिनट पढ़ें
TL;DR

आप Cloudflare Workers + Claude API पर पूरी कंटेंट जेनरेशन और ट्रांसलेशन पाइपलाइन Sonnet 3.5 के साथ लगभग $0.50 प्रति पोस्ट, या Haiku के साथ $0.12 में चला सकते हैं। Cloudflare का फ्री टियर 100K रिक्वेस्ट/दिन हैंडल करता है — आप केवल तब भुगतान करते हैं जब स्केल की जरूरत हो। सीमा लंबे LLM कॉल्स की कोल्ड-स्टार्ट लेटेंसी है, जिसे Queues हल करता है।

मुफ़्त न्यूज़लेटर

हर बुधवार। 28,400+ पाठक। बिना फालतू बात।

विषय सूची

मई 2026 को अपडेट किया गया।

TL;DR: आप Cloudflare Workers + Claude API पर पूरी कंटेंट जेनरेशन और ट्रांसलेशन पाइपलाइन Sonnet 3.5 के साथ लगभग $0.50 प्रति पोस्ट, या Haiku के साथ $0.12 में चला सकते हैं। Cloudflare का फ्री टियर 100K रिक्वेस्ट/दिन हैंडल करता है — आप केवल तब भुगतान करते हैं जब स्केल की जरूरत हो। सीमा लंबे LLM कॉल्स की कोल्ड-स्टार्ट लेटेंसी है, जिसे Queues हल करता है।

[ऑपरेटर का नजरिया] मैं alejandrorioja.com के लिए बिल्कुल यही पाइपलाइन चलाता हूं: एक TypeScript Worker पोस्ट लिखता है, 12 ट्रांसलेशन जॉब्स वितरित करता है, और सब कुछ KV में स्टोर करता है — सब कुछ एक HTTP कॉल से शुरू होता है। यहां बताया गया है कि इसकी लागत कितनी है और यह कैसे कॉन्फ़िगर है।

AWS या Vercel के बजाय Cloudflare क्यों

AWS Lambda GB-सेकंड कंप्यूट के लिए चार्ज करता है। Vercel प्रति एग्जीक्यूशन चार्ज करता है और Hobby टियर पर आक्रामक रेट लिमिट्स हैं। दोनों स्केल पर कोल्ड-स्टार्ट अप्रत्याशितता जोड़ते हैं।

Cloudflare Workers कंटेनर नहीं, V8 आइसोलेट्स पर चलता है। कोल्ड स्टार्ट मिलीसेकंड से कम हैं। फ्री टियर सच में उपयोगी है: प्रति दिन 100,000 रिक्वेस्ट, प्रति रिक्वेस्ट 10ms CPU टाइम (वॉल-क्लॉक टाइम अधिक है)। पेड प्लान 10 मिलियन रिक्वेस्ट के लिए $5/महीना है।

AI कंटेंट पाइपलाइन के लिए, Workers का कंप्यूट कॉस्ट लगभग शून्य है। असली लागत Claude API है। वही एकमात्र वेरिएबल है जिसे आपको ऑप्टिमाइज़ करना है।

आर्किटेक्चर (टेक्स्ट डायग्राम)

code
HTTP ट्रिगर (cron या webhook)


  Worker: ऑर्केस्ट्रेटर

        ├─ जॉब मेटाडेटा → KV में लिखें (स्टेटस: "pending")

        └─ 1 EN जेनरेशन जॉब क्यू करें


         Queue: content-jobs

        ┌──────┴──────┐
        ▼             ▼
  Worker: राइटर   Worker: ट्रांसलेटर (×12 लोकेल)
        │                    │
        ▼                    ▼
  Claude API             Claude API
        │                    │
        └──────┬─────────────┘

        KV: posts/{slug}/{locale}


     Webhook → GitHub → डिप्लॉय

ऑर्केस्ट्रेटर Worker एंट्री पॉइंट है। यह KV में प्रारंभिक स्टेटस रिकॉर्ड लिखता है, फिर Cloudflare Queue में एक जॉब पुश करता है। Queue का फैन-आउट राइटर Worker (EN) को शुरू करता है और, EN बॉडी तैयार होने पर, 12 ट्रांसलेटर Workers को पैरेलल में चलाता है। सब कुछ {slug}/{locale} की के साथ KV में जाता है। एक फाइनल webhook GitHub Actions डिप्लॉय ट्रिगर करता है।

Cloudflare लागत तालिका

संसाधनफ्री टियरपेड ($5/माह)मेरा वास्तविक उपयोग
Workers रिक्वेस्ट100K/दिन10M/माह~500/दिन
Workers CPU टाइम10ms/req30s/req~8ms/req
KV रीड्स100K/दिन10M/माह~2K/दिन
KV राइट्स1K/दिन1M/माह~300/दिन
Queue मैसेज1M/माह शामिल~300/माह
KV स्टोरेज1 GB1 GB शामिल~200 MB

10 पोस्ट/माह पब्लिश करने वाली साइट के लिए, Cloudflare बिल फ्री टियर पर $0 है। Workers फ्री हैं। उस वॉल्यूम पर KV रीड/राइट फ्री हैं। मेरी एकमात्र पेड फीचर Queues है — जिसके लिए $5/माह Workers Paid प्लान चाहिए, लेकिन उस प्लान में 1M queue मैसेज शामिल हैं।

मेरा Cloudflare बिल: $5/माह फिक्स, ~3,000 पोस्ट/माह तक पोस्ट वॉल्यूम चाहे कुछ भी हो।

Claude API लागत तालिका

असली पैसा यहीं जाता है। प्रति पोस्ट विस्तृत विवरण।

EN जेनरेशन (एक पोस्ट, ~1,500 शब्द):

मॉडलइनपुट टोकनआउटपुट टोकनलागत
Claude Haiku 3.5~2,000~2,500$0.005
Claude Sonnet 3.5~2,000~2,500$0.042

12 ट्रांसलेशन (प्रत्येक ~1,500 शब्द):

मॉडलइनपुट टोकन (×12)आउटपुट टोकन (×12)लागत
Claude Haiku 3.5~24,000~30,000$0.054
Claude Sonnet 3.5~24,000~30,000$0.500

प्रति पोस्ट कुल (EN + 12 ट्रांसलेशन):

मॉडलकुल लागत
Claude Haiku 3.5~$0.059
Claude Sonnet 3.5~$0.542

मैं EN जेनरेशन के लिए Sonnet उपयोग करता हूं (कैनोनिकल पोस्ट के लिए गुणवत्ता मायने रखती है) और ट्रांसलेशन के लिए Haiku (सोर्स टेक्स्ट पहले से लिखा है; मॉडल को बस उसे विश्वासपूर्वक अनुवाद करना है)। यह ब्लेंडेड अप्रोच व्यवहार में लगभग $0.10 प्रति पोस्ट का खर्च आता है।

TypeScript Worker: ऑर्केस्ट्रेटर

typescript
// src/workers/orchestrator.ts
import { Queue } from "@cloudflare/workers-types";

interface Env {
  CONTENT_QUEUE: Queue;
  POSTS_KV: KVNamespace;
}

export default {
  async fetch(request: Request, env: Env): Promise<Response> {
    const { slug, topic } = await request.json<{ slug: string; topic: string }>();

    // प्रारंभिक स्टेटस लिखें
    await env.POSTS_KV.put(
      `status:${slug}`,
      JSON.stringify({ status: "pending", createdAt: Date.now() })
    );

    // EN जेनरेशन जॉब क्यू करें
    await env.CONTENT_QUEUE.send({
      type: "generate",
      slug,
      topic,
      locale: "en",
    });

    return Response.json({ queued: true, slug });
  },
};

TypeScript Worker: राइटर + ट्रांसलेटर

typescript
// src/workers/content-processor.ts
interface Env {
  CONTENT_QUEUE: Queue;
  POSTS_KV: KVNamespace;
  ANTHROPIC_API_KEY: string;
}

const LOCALES = ["ar","de","es","fr","hi","it","ja","ko","nl","pt","ru","zh"];

export default {
  async queue(batch: MessageBatch<ContentJob>, env: Env): Promise<void> {
    for (const msg of batch.messages) {
      const job = msg.body;

      if (job.type === "generate") {
        const post = await generatePost(job.topic, env.ANTHROPIC_API_KEY);
        await env.POSTS_KV.put(`post:${job.slug}:en`, post);

        // ट्रांसलेशन फैन आउट
        for (const locale of LOCALES) {
          await env.CONTENT_QUEUE.send({
            type: "translate",
            slug: job.slug,
            locale,
            sourceText: post,
          });
        }
      }

      if (job.type === "translate") {
        const translated = await translatePost(
          job.sourceText,
          job.locale,
          env.ANTHROPIC_API_KEY,
          // लागत कम करने के लिए ट्रांसलेशन में Haiku उपयोग करें
          "claude-haiku-3-5-20241022"
        );
        await env.POSTS_KV.put(`post:${job.slug}:${job.locale}`, translated);
      }

      msg.ack();
    }
  },
};

async function generatePost(topic: string, apiKey: string): Promise<string> {
  const res = await fetch("https://api.anthropic.com/v1/messages", {
    method: "POST",
    headers: {
      "x-api-key": apiKey,
      "anthropic-version": "2023-06-01",
      "content-type": "application/json",
    },
    body: JSON.stringify({
      model: "claude-sonnet-3-5-20241022",
      max_tokens: 4096,
      messages: [{ role: "user", content: `Write a detailed blog post about: ${topic}` }],
    }),
  });
  const data = await res.json<{ content: Array<{ text: string }> }>();
  return data.content[0].text;
}

async function translatePost(
  text: string,
  locale: string,
  apiKey: string,
  model: string
): Promise<string> {
  const res = await fetch("https://api.anthropic.com/v1/messages", {
    method: "POST",
    headers: {
      "x-api-key": apiKey,
      "anthropic-version": "2023-06-01",
      "content-type": "application/json",
    },
    body: JSON.stringify({
      model,
      max_tokens: 4096,
      messages: [
        {
          role: "user",
          content: `Translate the following blog post to ${locale}. Preserve all markdown. Keep code blocks in English.\n\n${text}`,
        },
      ],
    }),
  });
  const data = await res.json<{ content: Array<{ text: string }> }>();
  return data.content[0].text;
}

विकल्पों की तुलना

प्लेटफॉर्मबेस कॉस्टप्रति रिक्वेस्ट लागतकोल्ड स्टार्टTypeScript DX
Cloudflare Workers$0–$5/माहलगभग शून्यSub-msउत्कृष्ट
AWS Lambda$0 (सीमित)$0.20/1M req100ms–1sअच्छा
Vercel Functions$0 (सीमित)उपयोग-आधारित200ms–2sअच्छा
Self-hosted VPS$5–$20/माह$0कोई नहीं (हमेशा चालू)कोई भी
Fly.io Machines$0 (सीमित)प्रति GB-sec~500msअच्छा

सेल्फ-होस्टिंग एकमात्र मामला है जहां Cloudflare हारता है। $6/माह का Hetzner VPS बिना कोल्ड स्टार्ट और बिना प्रति-रिक्वेस्ट लागत के 24/7 Node चलाता है। लेकिन आप खुद डिप्लॉयमेंट, अपटाइम और स्केलिंग मैनेज करते हैं। मेरे वॉल्यूम पर Workers यह सब मुफ्त में हैंडल करता है।

AWS Lambda की तुलना कागज पर प्रतिस्पर्धी लगती है, लेकिन Lambda की 15 मिनट की अधिकतम एग्जीक्यूशन टाइम लंबी LLM चेन के लिए एक असली सीमा है। Workers के पास पेड प्लान पर 30 सेकंड का CPU लिमिट है — जो बुरा लगता है लेकिन ठीक है क्योंकि आप async काम के लिए Queues उपयोग करते हैं, एक Lambda को ब्लॉक नहीं करते।

स्टेट मैनेजमेंट के लिए KV

KV Cloudflare का ग्लोबली डिस्ट्रिब्यूटेड की-वैल्यू स्टोर है। रीड्स हर जगह तेज हैं (edge-cached)। राइट्स 60 सेकंड से कम में ग्लोबली प्रोपेगेट होते हैं।

कंटेंट पाइपलाइन के लिए, मैं तीन की पैटर्न उपयोग करता हूं:

typescript
// जॉब स्टेटस
await kv.put(`status:${slug}`, JSON.stringify({ status, updatedAt: Date.now() }));

// पोस्ट कंटेंट
await kv.put(`post:${slug}:${locale}`, markdownContent);

// लिस्टिंग के लिए इंडेक्स
const index = await kv.get<string[]>("index:posts", "json") ?? [];
await kv.put("index:posts", JSON.stringify([...index, slug]));

मेरे स्केल पर KV लागत: $0। फ्री टियर 1K राइट्स/दिन और 100K रीड्स/दिन देता है। मैं ~300 KV एंट्री प्रति माह लिखता हूं (25 पोस्ट × 13 लोकेल = 325)। लिमिट से काफी दूर।

अगर आप 12 लोकेल में 100+ पोस्ट/माह पब्लिश करते हैं, तो आप ~39,000 राइट्स/माह तक पहुंचेंगे — अभी भी $5 पेड प्लान में शामिल 1M/माह से कम।

ऑपरेटर का अंतिम निष्कर्ष

मेरी पूरी कंटेंट पाइपलाइन — जेनरेट, ट्रांसलेट, स्टोर, डिप्लॉय — इंफ्रास्ट्रक्चर पर $5.10/माह का खर्च आता है ($5 Cloudflare Workers Paid + 10 पोस्ट/माह पर $0.10 Claude API)। बस इतना ही। कोई सर्वर मैनेज नहीं, कोई कंटेनर ऑर्केस्ट्रेशन नहीं, Lambda कोल्ड स्टार्ट से कोई सरप्राइज बिल नहीं।

मिक्स्ड मॉडल स्ट्रैटेजी (EN के लिए Sonnet, ट्रांसलेशन के लिए Haiku) ट्रांसलेशन में कोई ध्यान देने योग्य गुणवत्ता गिरावट के बिना Claude लागत 80% कम करती है। अपने वॉल्यूम के लिए नंबर कैलकुलेट करें और आप पाएंगे कि Cloudflare + Claude Haiku फाउंडर स्केल पर इस तरह की पाइपलाइन चलाने का सबसे सस्ता तरीका है।

पढ़ते रहें

AI प्लेबुक अपने इनबॉक्स में पाएं

हर बुधवार। 28,400+ पाठक। बिना फालतू बात।

↵ सभी परिणाम देखें esc esc बंद करें