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

# Gemini API hızlı başlangıç: CometAPI ile native ve OpenAI-compatible istekleri kullanın

> Gemini metin modellerini CometAPI üzerinden native generateContent istekleri veya OpenAI-compatible Chat Completions istekleriyle çağırın.

## Neler oluşturacaksınız

Native bir Gemini `POST /v1beta/models/\{model\}:generateContent` isteği gönderecek, ardından bunu, zaten Chat Completions istek biçimlerini kullanan uygulamalar için OpenAI-compatible `POST /v1/chat/completions` seçeneğiyle karşılaştıracaksınız.

## Ön koşullar

* `COMETAPI_KEY` içinde saklanan bir CometAPI API anahtarı
* [Models page](/tr/overview/models) üzerinden bir Gemini metin model ID
* `curl`, Python 3.10+ veya Node.js 18+

## API anahtarı, base URL, kimlik doğrulama

Gemini istek alanlarını kullanmak istediğinizde Gemini native endpoint'ini kullanın:

```text theme={null}
https://api.cometapi.com/v1beta/models/{model}:generateContent
```

Doğrudan native Gemini HTTP istekleri için `x-goog-api-key` kullanın:

```text theme={null}
x-goog-api-key: $COMETAPI_KEY
```

OpenAI-compatible base URL'yi yalnızca uygulamanız zaten Chat Completions kullanıyorsa kullanın:

```text theme={null}
https://api.cometapi.com/v1
```

## Native Gemini biçimi

Native Gemini istekleri `contents`, `parts` ve `generationConfig` kullanır. Thinking kontrolleri, medya parçaları, Google Search grounding veya native streaming operatörleri gibi Gemini'ye özgü alanlara ihtiyaç duyduğunuzda bu yolu kullanın.

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://api.cometapi.com/v1beta/models/your-gemini-model-id:generateContent" \
    -H "x-goog-api-key: $COMETAPI_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "contents": [
        {
          "parts": [
            {
              "text": "Explain why base URL configuration matters."
            }
          ]
        }
      ],
      "generationConfig": {
        "temperature": 0.3
      }
    }'
  ```

  ```python Python theme={null}
  import os
  from google import genai

  client = genai.Client(
      api_key=os.environ["COMETAPI_KEY"],
      http_options={"api_version": "v1beta", "base_url": "https://api.cometapi.com"},
  )

  response = client.models.generate_content(
      model="your-gemini-model-id",
      contents="Explain why base URL configuration matters.",
      config={
          "temperature": 0.3,
      },
  )

  print(response.text)
  ```

  ```javascript Node.js theme={null}
  import { GoogleGenAI } from "@google/genai";

  const ai = new GoogleGenAI({
    apiKey: process.env.COMETAPI_KEY,
    httpOptions: {
      baseUrl: "https://api.cometapi.com",
      apiVersion: "v1beta",
    },
  });

  const response = await ai.models.generateContent({
    model: "your-gemini-model-id",
    contents: "Explain why base URL configuration matters.",
    config: {
      temperature: 0.3,
    },
  });

  console.log(response.text);
  ```
</CodeGroup>

## OpenAI-compatible seçenek

Mevcut bir OpenAI SDK veya Chat Completions uygulamasını taşıyorsanız ve Gemini native istek alanlarına ihtiyacınız yoksa OpenAI-compatible rotayı kullanın.

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.cometapi.com/v1/chat/completions \
    -H "Authorization: Bearer $COMETAPI_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "your-gemini-model-id",
      "messages": [
        {
          "role": "user",
          "content": "Explain why base URL configuration matters."
        }
      ]
    }'
  ```

  ```python Python theme={null}
  import os
  from openai import OpenAI

  client = OpenAI(
      api_key=os.environ["COMETAPI_KEY"],
      base_url="https://api.cometapi.com/v1",
  )

  completion = client.chat.completions.create(
      model="your-gemini-model-id",
      messages=[
          {
              "role": "user",
              "content": "Explain why base URL configuration matters.",
          }
      ],
  )

  print(completion.choices[0].message.content)
  ```

  ```javascript Node.js theme={null}
  import OpenAI from "openai";

  const client = new OpenAI({
    apiKey: process.env.COMETAPI_KEY,
    baseURL: "https://api.cometapi.com/v1",
  });

  const completion = await client.chat.completions.create({
    model: "your-gemini-model-id",
    messages: [
      {
        role: "user",
        content: "Explain why base URL configuration matters.",
      },
    ],
  });

  console.log(completion.choices[0].message.content);
  ```
</CodeGroup>

## Akış açıklaması

| Yol               | Endpoint                                        | İstek biçimi                                       | SDK                                 | Şu durumda kullanın                                                                                                         |
| ----------------- | ----------------------------------------------- | -------------------------------------------------- | ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| Gemini native     | `POST /v1beta/models/\{model\}:generateContent` | `contents`, `parts`, `generationConfig`            | Google GenAI SDK veya doğrudan HTTP | Gemini'ye özgü alanlara, multimodal parçalara, thinking kontrollerine, grounding'e veya native streaming'e ihtiyacınız var. |
| OpenAI-compatible | `POST /v1/chat/completions`                     | `messages`, `temperature`, `max_completion_tokens` | OpenAI SDK veya doğrudan HTTP       | Uygulamanız zaten Chat Completions kullanıyor ve bu biçimin arkasında yalnızca bir Gemini metin modeline ihtiyaç duyuyor.   |

İki istek biçimini birbiriyle karıştırmayın. `contents` ve `generationConfig` gibi native Gemini alanları `generateContent` rotasına aittir. `messages` gibi Chat Completions alanları OpenAI-compatible rotaya aittir.

## Sorun giderme / SSS

<AccordionGroup>
  <Accordion title="Hangi yolla başlamalıyım">
    Yeni bir Gemini iş akışı oluşturuyorsanız native Gemini `generateContent` ile başlayın. Mevcut bir uygulama zaten OpenAI SDK veya Chat Completions istek biçimlerine bağlıysa OpenAI-compatible rotayı kullanın.
  </Accordion>

  <Accordion title="Native Gemini alanları Chat Completions üzerinde başarısız oluyor">
    `contents`, `parts`, `generationConfig` ve `streamGenerateContent` isteklerini Gemini native endpoint'ine gönderin. OpenAI-compatible rota `messages` ve Chat Completions parametreleri bekler.
  </Accordion>

  <Accordion title="Gemini model ID başarısız oluyor">
    model ID'nin hesabınız için kullanılabilir olduğunu ve çağırdığınız rotayı desteklediğini doğrulayın. Güncel model ID'leri bulmak için [Models page](/tr/overview/models) sayfasını kullanın.
  </Accordion>

  <Accordion title="SDK yanlış servise işaret ediyor">
    Google GenAI SDK istekleri için base URL'yi `https://api.cometapi.com` olarak ayarlayın. OpenAI SDK istekleri için Python'da `base_url` veya Node.js'te `baseURL` değerini `https://api.cometapi.com/v1` olarak ayarlayın.
  </Accordion>
</AccordionGroup>

## Sonraki adımlar

* Tam `generateContent` istek ve yanıt alanları için [Gemini native API reference](/api/text/gemini-generating-content) belgesini kullanın.
* OpenAI-compatible istek biçimi için [Chat Completions API reference](/api/text/chat) belgesini okuyun.
* OpenAI SDK istemcilerini [Use CometAPI with OpenAI SDKs](/tr/guides/use-cometapi-with-openai-sdk) içinde yapılandırın.
* Kullanılabilir modelleri [List available CometAPI models](/tr/guides/how-to-list-available-models) ile listeleyin.
* [Error codes and retry strategy](/tr/guides/error-codes-and-retry-strategy) ile yeniden deneme ve rate-limit işlemelerini ekleyin.
