Utilizar DeepSeek con API gratis y OpenRouter

Tiempo de lectura: 2 minutos

Hoy vamos a aprender a utilizar DeepSeek usando su API de forma gratuita usando OpenRouter.

Deep ocean

Lo primero que haremos es registrarnos en la web de OpenRouter: https://openrouter.ai/

Una vez tenemos la cuenta creada e iniciada la sesión tenemos que ir a buscar el modelo «DeepSeek R1 (free)»

Y aquí tendremos toda la información necesaria.

Pulsaremos en API y generamos un API Key y la copiamos.

Y ahora podemos utilizarlo de la sigueinte forma:

Voy a utilizar código en Python.

Utilizando el API de OpenaAI:

Instalamos OpenAI:

pip install openai

Y usamos este código completando nuestros datos.

from openai import OpenAI

client = OpenAI(
  base_url="https://openrouter.ai/api/v1",
  api_key="<OPENROUTER_API_KEY>",
)

completion = client.chat.completions.create(
  extra_headers={
    "HTTP-Referer": "<YOUR_SITE_URL>", # Optional. Site URL for rankings on openrouter.ai.
    "X-Title": "<YOUR_SITE_NAME>", # Optional. Site title for rankings on openrouter.ai.
  },
  model="deepseek/deepseek-r1:free",
  messages=[
    {
      "role": "user",
      "content": "Quién eres?"
    }
  ]
)
print(completion.choices[0].message.content)

También podemos utilizarlo en TypeScript:

Instalos la librería con npm

npm i openai

Y modificamos este código con nuestros datos:

import OpenAI from "openai"

const openai = new OpenAI({
  baseURL: "https://openrouter.ai/api/v1",
  apiKey: "<OPENROUTER_API_KEY>",
  defaultHeaders: {
    "HTTP-Referer": "<YOUR_SITE_URL>", // Optional. Site URL for rankings on openrouter.ai.
    "X-Title": "<YOUR_SITE_NAME>", // Optional. Site title for rankings on openrouter.ai.
  }
})

async function main() {
  const completion = await openai.chat.completions.create({
    model: "deepseek/deepseek-r1:free",
    messages: [
      {
        "role": "user",
        "content": "Quién eres?"
      }
    ]
  })

  console.log(completion.choices[0].message)
}
main()

Y si queremos utilizarlo sin instalar la librería:

En Python:

import requests
import json

response = requests.post(
  url="https://openrouter.ai/api/v1/chat/completions",
  headers={
    "Authorization": "Bearer <OPENROUTER_API_KEY>",
    "HTTP-Referer": "<YOUR_SITE_URL>", # Optional. Site URL for rankings on openrouter.ai.
    "X-Title": "<YOUR_SITE_NAME>", # Optional. Site title for rankings on openrouter.ai.
  },
  data=json.dumps({
    "model": "deepseek/deepseek-r1:free", # Optional
    "messages": [
      {
        "role": "user",
        "content": "Quién eres?"
      }
    ]
    
  })
)

En TypeScript:

fetch("https://openrouter.ai/api/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <OPENROUTER_API_KEY>",
    "HTTP-Referer": "<YOUR_SITE_URL>", // Optional. Site URL for rankings on openrouter.ai.
    "X-Title": "<YOUR_SITE_NAME>", // Optional. Site title for rankings on openrouter.ai.
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "model": "deepseek/deepseek-r1:free",
    "messages": [
      {
        "role": "user",
        "content": "Quién eres?"
      }
    ]
  })
});

Desde la propia consola de linux:

curl https://openrouter.ai/api/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer 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" \
  -d '{
  "model": "deepseek/deepseek-r1:free",
  "messages": [
    {
      "role": "user",
      "content": "Quién eres?"
    }
  ]
  
}'

Y nos responderá de esta forma:

Respuesta Deep Seek Usando Terminal

Deja un comentario