Caso de uso
Uma API para ficção interativa e aventuras de texto
Aponte qualquer SDK da OpenAI para o nokeep e use o DeepSeek V4.1 Flash Uncensored como narrador. Ele transmite a prosa à medida que é escrita, aceita os amostradores que a ficção precisa, guarda um milhão de tokens de uma campanha e segue um enredo sombrio sem recusar. Uma sessão de 60 turnos custa cerca de $0.041.
Verificado em 29 de outubro de 2026
O que um jogo de texto precisa, e o que você recebe
| Um jogo de texto precisa de | No nokeep |
|---|---|
| As primeiras palavras rápido | Streaming em todos os modelos. O DeepSeek responde de imediato, a menos que você peça para pensar, então a narração começa assim que a chamada começa. |
| Uma memória longa | O DeepSeek guarda 1.000.000 tokens: uma campanha inteira cabe. O começo repetido de cada chamada é cobrado no preço em cache, $0.011 por milhão em vez de $0.45. |
| Prosa que não entra em loop | O DeepSeek aceita temperature, min_p, top_k e três penalidades. Valores iniciais. |
| Espaço para histórias sombrias | As recusas são removidas dos pesos, e nada é acrescentado ao seu prompt. A única exceção é uma pequena lista de limites rígidos: uma chamada que cruza um deles recebe um 422 com um código e não custa nada. |
| Um custo conhecido | Créditos pré-pagos, a partir de $5, que nunca expiram. Cada resposta informa quanto a chamada custou. |
Quanto custa uma sessão
| Modelo | Uma conversa, nada em cache | Uma conversa, começo repetido em cache |
|---|---|---|
| DeepSeek V4.1 Flash Uncensored | $0.30 | $0.041 |
| GLM 5.3 Flash Uncensored | $0.13 | $0.037 |
Calculado com os preços de hoje: um começo de 1.500 tokens, 60 turnos de 40 tokens de entrada e 250 de saída, e a chamada mais longa com 18.650 tokens. O breve raciocínio do GLM antes de cada resposta adiciona tokens de saída que isso não inclui.
O histórico inteiro é enviado a cada turno, então a 60ª chamada é bem mais longa que a primeira. O cache é o que mantém isso barato: a parte que uma chamada repete da anterior é lida do cache. Sem nenhum acerto no cache, a mesma sessão sai por $0.30 no DeepSeek. Como funciona o cache.
Um narrador em vinte linhas
O mundo e as regras vão na mensagem de sistema. Mantenha-a igual de turno em turno, para que o começo de cada chamada se repita e seja lido do cache. Transmita a resposta e mostre-a conforme ela chega.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://nokeep.ai/v1",
api_key=os.environ["NOKEEP_API_KEY"],
)
history = [{"role": "system", "content": "You are the narrator of a dark fantasy text adventure. The player is a smuggler in the drowned city of Vell. Describe what they see, hear and smell in second person, in under 150 words. Never act or speak for the player. End each turn with the scene open, not with a list of options."}]
def turn(move):
history.append({"role": "user", "content": move})
stream = client.chat.completions.create(
model="deepseek-v4.1-flash-uncensored",
messages=history,
stream=True,
max_tokens=400,
temperature=0.9,
extra_body={"min_p": 0.05, "repetition_penalty": 1.05, "prompt_cache_key": "campaign-42"},
)
text = ""
for chunk in stream:
if chunk.choices:
piece = chunk.choices[0].delta.content or ""
print(piece, end="", flush=True)
text += piece
history.append({"role": "assistant", "content": text})
turn("I row the stolen skiff under the old customs bridge.")prompt_cache_key é qualquer texto que você mantém igual numa campanha. Ele envia as chamadas da campanha para onde o começo já está em cache. Streaming explica o uso no último pedaço e como interromper uma resposta cedo.
Mantenha o jogo no seu código
- Estado fora da prosa. Guarde inventário, vida e flags nos seus próprios dados, e coloque um resumo curto deles na mensagem de sistema. Um modelo lembra bem de uma história e mal de um número.
- Peça JSON quando precisar de dados de volta. Uma segunda chamada curta com
response_formatpode devolver o que mudou neste turno, para o seu código aplicar. Saída em JSON. - Campanhas longas. Um milhão de tokens são muitos turnos, mas cada um é cobrado. Depois de algumas centenas de turnos, substitua os mais antigos por um resumo que você escreve uma vez, e mantenha o resumo no mesmo lugar para que o começo continue se repetindo.
- Ramificações e desfazer. A API não guarda nada entre chamadas, então um ponto de salvamento é apenas a lista de mensagens naquele turno. Reenvie uma lista anterior para voltar atrás.
Qual modelo
| DeepSeek V4.1 Flash Uncensored | GLM 5.3 Flash Uncensored | |
|---|---|---|
| Use para | O narrador. A maioria dos jogos de texto. | Chamadas laterais curtas e baratas, como resumos. |
| Amostradores | Todos | Nenhum; as configurações próprias dele |
| Raciocínio | Desligado, salvo se pedido, então as respostas começam de imediato | Sempre um breve raciocínio antes |
| Contexto | 1.000.000 tokens | 128.000 tokens |
| Imagens na entrada | Sim, até 10 por pedido | Não |
IDs: deepseek-v4.1-flash-uncensored e glm-5.3-flash-uncensored. Compare-os por completo.
O que acontece com as histórias dos seus jogadores
Guardamos uma linha por chamada: a hora, a chave, o modelo, a contagem de tokens, os créditos e o status, por 30 dias. Nunca as mensagens, nunca a resposta. O DeepSeek roda em um nível privado que não armazena prompts nem respostas. As histórias dos jogadores ficam onde o seu jogo as guarda, e em nenhum lugar nosso. O que guardamos.
Perguntas
Posso rodar uma aventura de texto com temas maduros?
Sim, para adultos. Violência, terror, crime e relações adultas são ficção que os modelos escrevem sem um prompt de jailbreak. Só a pequena lista de limites rígidos dos termos é recusada, com um 422 que não custa nada. O responsável por cada chave confirma que tem 18 anos ou mais.
Quantos turnos cabem antes de o modelo esquecer?
O DeepSeek lê 1.000.000 tokens por chamada. Com cerca de 300 tokens por turno, isso dá mais de 3.000 turnos de histórico. A maioria dos jogos resume bem antes disso, para manter cada chamada barata.
Os jogadores podem chamar a API direto da minha página?
A API aceita chamadas do navegador, mas uma chave em uma página pública pode ser copiada. Chame a partir do seu servidor, ou dê a cada jogador a própria chave com um limite diário.
Posso testar antes de pagar?
Sim. A chave de teste gratuita sk-nokeep-test responde uma linha fixa a qualquer pedido, então você pode ligar o seu jogo primeiro. A chave de teste.