> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kazzle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ऐप्स में AI

> Kazzle AI API को ऐप कंपोनेंट में कनेक्ट करें।

# ऐप्स में AI

ऐप्स को AI (चैट, इमेज, स्पीच, ट्रांसक्रिप्शन, वीडियो) **Kazzle AI API** के माध्यम से मिलता है — एक एंडपॉइंट, स्पेस के विरुद्ध क्रेडिट में बिल किया जाता है। उपयोगकर्ताओं से OpenAI/Anthropic/अन्य प्रदाता कुंजियाँ न माँगें जब तक वे विशेष रूप से उन प्रदाताओं को सीधे बिल करना नहीं चाहते।

एंडपॉइंट्स, बिलिंग और उदाहरण [AI API संदर्भ](/platform/ai-api) में एक बार दस्तावेज़ित हैं। यह पृष्ठ केवल इसे ऐप में कनेक्ट करने को कवर करता है।

## API कुंजी को कनेक्ट करना

1. `api_key` टूल के साथ ऐप के लिए एक स्कोप्ड Kazzle API कुंजी बनाएँ।
2. इसे `KAZZLE_API_KEY` नाम के तहत एक सीक्रेट कलेक्शन + एनवायरनमेंट में स्टोर करें (सीक्रेट नाम env var बन जाता है)।
3. प्रोसेस कंपोनेंट को उस कलेक्शन + एनवायरनमेंट की ओर इंगित करें।
4. सर्वर-साइड कोड से केवल `https://api.kazzle.app/ai/*` को कॉल करें।

```ts theme={"theme":"material-theme-darker"}
export default defineConfig({
  components: [
    {
      name: 'server',
      type: 'process',
      path: './server',
      env: { collection: 'my-app', environment: 'default' },
    },
  ],
});
```

रनटाइम पर प्रोसेस `process.env.KAZZLE_API_KEY` देखता है, जो वॉल्ट से रिज़ॉल्व किया जाता है। कोई `env.vars` फील्ड नहीं है — सीक्रेट्स केवल कलेक्शन + एनवायरनमेंट के माध्यम से कंपोनेंट्स तक पहुँचते हैं जो वे इंगित करते हैं।

```ts theme={"theme":"material-theme-darker"}
const apiKey = process.env.KAZZLE_API_KEY;
if (!apiKey) throw new Error('KAZZLE_API_KEY is required');

const res = await fetch('https://api.kazzle.app/ai/audio/transcriptions', {
  method: 'POST',
  headers: { Authorization: `Bearer ${apiKey}` },
  body: formData,
});
```

कुंजी को फ्रंटएंड कोड या `VITE_*` वेरिएबल में कभी न रखें। वॉल्ट वायरिंग के लिए [सीक्रेट्स](/apps/secrets) देखें और हर एंडपॉइंट के लिए [AI API संदर्भ](/platform/ai-api) देखें।
