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

# Deepseek-R1 - Text To Text - openai

> Deepseek-R1 — Text To Text (openai). GPTProto API reference.

Deepseek's openai format for the text to text API.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST "https://gptproto.com/v1/chat/completions" \
    -H "Authorization: YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
    "model": "deepseek-r1",
    "messages": [
      {
        "role": "user",
        "content": "Who are you?"
      }
    ],
    "stream": false
  }'
  ```

  ```python Python theme={null}
  import requests
  import json

  url = "https://gptproto.com/v1/chat/completions"
  headers = {
      "Authorization": "YOUR_API_KEY",
      "Content-Type": "application/json"
  }

  data = {
    "model": "deepseek-r1",
    "messages": [
      {
        "role": "user",
        "content": "Who are you?"
      }
    ],
    "stream": false
  }

  response = requests.post(url, headers=headers, json=data)
  result = response.json()
  print(json.dumps(result, indent=2))
  ```

  ```javascript JavaScript theme={null}
  const url = "https://gptproto.com/v1/chat/completions";
  const headers = {
    "Authorization": "YOUR_API_KEY",
    "Content-Type": "application/json"
  };

  const data = {
    "model": "deepseek-r1",
    "messages": [
      {
        "role": "user",
        "content": "Who are you?"
      }
    ],
    "stream": false
  };

  fetch(url, {
    method: "POST",
    headers: headers,
    body: JSON.stringify(data)
  })
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error("Error:", error));
  ```

  ```go Go theme={null}
  package main

  import (
      "bytes"
      "encoding/json"
      "fmt"
      "io/ioutil"
      "net/http"
  )

  func main() {
      url := "https://gptproto.com/v1/chat/completions"

      payload := []byte(`{
  "model": "deepseek-r1",
  "messages": [
  {
  "role": "user",
  "content": "Who are you?"
  }
  ],
  "stream": false
  }`)

      req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payload))
      req.Header.Set("Authorization", "YOUR_API_KEY")
      req.Header.Set("Content-Type", "application/json")

      client := &http.Client{}
      resp, err := client.Do(req)
      if err != nil {
          panic(err)
      }
      defer resp.Body.Close()

      body, _ := ioutil.ReadAll(resp.Body)
      fmt.Println(string(body))
  }
  ```
</CodeGroup>

<CodeGroup>
  ```json 401 - Invalid signature theme={null}
  {
    "error": {
      "message": "Invalid signature",
      "type": "401"
    }
  }
  ```

  ```json 403 - Insufficient balance theme={null}
  {
    "error": {
      "message": "Insufficient balance",
      "type": "403"
    }
  }
  ```

  ```json 500 - Internal server error theme={null}
  {
    "error": {
      "message": "Internal server error",
      "type": "500"
    }
  }
  ```

  ```json 503 - Content policy violation theme={null}
  {
    "error": {
      "message": "Input may not meet the guidelines. Please adjust and try again.",
      "type": "503"
    }
  }
  ```
</CodeGroup>

## Parameters

| Parameter  | Type    | Required | Default       | Description                                                                                                                                                              |
| ---------- | ------- | -------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `model`    | string  | ✅ Yes    | `deepseek-r1` | The model to use for the request. `deepseek-r1`                                                                                                                          |
| `messages` | array   | ✅ Yes    | -             | Array of message objects for the conversation   \* role:user,The role of the message. \* role:assistant,The role of the message. \* role:system,The role of the message. |
| `content`  | array   | ✅ Yes    | -             | text                                                                                                                                                                     |
| `text`     | string  | ✅ Yes    | -             | \* type:text,The positive prompt for the generation.                                                                                                                     |
| `stream`   | boolean | ❌ No     | `true`        | Whether to stream the response                                                                                                                                           |
