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

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:


Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.