# Schnellstart (/schnellstart)



<Steps>
  <Step>
    ### API-Key anlegen [#api-key-anlegen]

    Melde dich im [Portal](https://app.promodelhub.de) an. Hat dein Account noch kein Paket, aktiviert der Owner zuerst das Starter-Paket (30 Tage kostenlos) oder bestellt ein größeres ([Abrechnung](/grundlagen/abrechnung#testphase)). Ohne aktives Paket lehnt die API Requests ab.

    Öffne dann **API-Keys** → **Neuer Key**. Optional kannst du den Key auf bestimmte Modelle beschränken, ein Credit-Limit pro Abrechnungszeitraum oder ein Ablaufdatum setzen ([Konto und API-Keys](/grundlagen/konto-und-keys)).

    Der Key wird **nur einmal angezeigt**. Kopiere ihn direkt und speichere ihn sicher, z. B. in einem Passwort-Manager oder Secret-Store.
  </Step>

  <Step>
    ### Key als Umgebungsvariable setzen [#key-als-umgebungsvariable-setzen]

    Lege den Key nie im Quellcode ab. Alle Beispiele in dieser Dokumentation lesen ihn aus der Umgebungsvariable `PRO_MODEL_HUB_API_KEY`:

    ```bash
    export PRO_MODEL_HUB_API_KEY="sk-..."
    ```
  </Step>

  <Step>
    ### Ersten Request senden [#ersten-request-senden]

    Wähle ein Modell aus der [Modellübersicht](/modelle) und setze seine API-ID als `model`.

    <Tabs items="['curl', 'Python', 'Node.js']">
      <Tab value="curl">
        ```bash
        curl https://api.promodelhub.de/v1/chat/completions \
          -H "Authorization: Bearer $PRO_MODEL_HUB_API_KEY" \
          -H "Content-Type: application/json" \
          -d '{
            "model": "mistral-small-24b",
            "messages": [
              {"role": "system", "content": "Du bist ein hilfreicher Assistent."},
              {"role": "user", "content": "Nenne drei Einsatzideen für Sprachmodelle im Kundenservice."}
            ]
          }'
        ```
      </Tab>

      <Tab value="Python">
        Mit dem offiziellen OpenAI-SDK (`pip install openai`) – nur `base_url` und `api_key` ändern sich:

        ```python
        import os
        from openai import OpenAI

        client = OpenAI(
            base_url="https://api.promodelhub.de/v1",
            api_key=os.environ["PRO_MODEL_HUB_API_KEY"],
        )

        response = client.chat.completions.create(
            model="mistral-small-24b",
            messages=[
                {"role": "system", "content": "Du bist ein hilfreicher Assistent."},
                {"role": "user", "content": "Nenne drei Einsatzideen für Sprachmodelle im Kundenservice."},
            ],
        )
        print(response.choices[0].message.content)
        print(response.usage)  # abgerechnete Token
        ```
      </Tab>

      <Tab value="Node.js">
        Mit dem offiziellen OpenAI-SDK (`npm install openai`):

        ```ts
        import OpenAI from "openai";

        const client = new OpenAI({
          baseURL: "https://api.promodelhub.de/v1",
          apiKey: process.env.PRO_MODEL_HUB_API_KEY,
        });

        const response = await client.chat.completions.create({
          model: "mistral-small-24b",
          messages: [
            { role: "system", content: "Du bist ein hilfreicher Assistent." },
            { role: "user", content: "Nenne drei Einsatzideen für Sprachmodelle im Kundenservice." },
          ],
        });
        console.log(response.choices[0].message.content);
        ```
      </Tab>
    </Tabs>
  </Step>

  <Step>
    ### Verbrauch prüfen [#verbrauch-prüfen]

    Jede Antwort enthält im Feld `usage` die verarbeiteten Token. Daraus ergeben sich mit dem Credit-Faktor des Modells die verbrauchten Credits. Den Verbrauch pro Modell und Key siehst du im Portal unter **Kosten & Verbrauch** – mit etwa ein bis zwei Minuten Verzögerung ([Abrechnung](/grundlagen/abrechnung)).
  </Step>
</Steps>

## Ohne Programmierung ausprobieren [#ohne-programmierung-ausprobieren]

Im Portal gibt es unter **Test-Chat** einen Chat, mit dem du alle Modelle direkt im Browser testen kannst – auch mit Bildern bei Modellen mit Bildeingabe. Er verbraucht Credits wie API-Aufrufe.

## Nächste Schritte [#nächste-schritte]

<Cards>
  <Card title="Chat Completions" href="/api/chat-completions" description="Alle Parameter und das Antwortformat." />

  <Card title="Streaming" href="/funktionen/streaming" description="Antworten Token für Token ausgeben." />

  <Card title="Integrationen" href="/integrationen" description="LangChain, LlamaIndex, Open WebUI, Coding-Assistenten." />

  <Card title="Fehler und Retries" href="/api/fehler" description="Welche Fehler auftreten können und wie du sie behandelst." />
</Cards>
