Referência da API
Text completions
POST /v1/completions para o formato legado, com prompt na entrada e texto na saída.
O endpoint de prompt legado, para ferramentas que ainda falam esse formato. Ele roda o prompt como uma única mensagem de usuário nos mesmos modelos. Para qualquer coisa nova, use chat completions.
POST
https://api.notholy.com/v1/completionsPOST https://api.notholy.com/v1/completionsRequisição
| Campo | Tipo | Obrigatório | Observações |
|---|---|---|---|
model | string | Sim | Um ID de modelo |
prompt | string ou array | Sim | Uma string ou um array com exatamente uma string |
max_tokens | number | Não | O padrão é 16. Limitado à saída máxima do modelo |
stream | boolean | Não | true retorna chunks text_completion e data: [DONE] |
temperature, top_p, stop | Não | Repassados ao modelo | |
n | number | Não | Só 1 |
Aqui não há ferramentas nem esforço de raciocínio. echo, logprobs e suffix são ignorados.
Resposta
{
"id": "cmpl-4Qz7",
"object": "text_completion",
"created": 1793836800,
"model": "notholy-specter",
"choices": [{ "index": 0, "text": " ../../etc/passwd encoded as %2e%2e%2f…", "finish_reason": "length", "logprobs": null }],
"usage": { "prompt_tokens": 14, "completion_tokens": 60, "total_tokens": 74 }
}- Num stream, cada chunk traz
choices[0].text. O último chunk temfinish_reasoneusage.
Exemplo
curl https://api.notholy.com/v1/completions \
-H "Authorization: Bearer $NOTHOLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "notholy-specter", "prompt": "A path traversal payload in a file download parameter looks like", "max_tokens": 60}'import os
from openai import OpenAI
client = OpenAI(base_url="https://api.notholy.com/v1", api_key=os.environ["NOTHOLY_API_KEY"])
r = client.completions.create(model="notholy-specter", prompt="The OWASP category for SSRF is", max_tokens=30)
print(r.choices[0].text)Erros
400 falta prompt, mais de um prompt ou n acima de 1 · 401 chave inválida · 402 sem créditos · 404 modelo desconhecido · 429 ocupado · 503 modelo indisponível. Veja Erros.