URL de bază și autentificare
URL-ul de bază pentru toate solicitările este https://api.veniceaiapipricing.com/v1. Te autentifici trecând cheia API în Authorization header ca un token bearer. Această configurare funcționează cu orice SDK standard OpenAI. Înlocuiește YOUR_API_KEY cu cheia generată din panoul contului dvs.
- Punct final:
POST /v1/chat/completions - Header:
Authorization: Bearer YOUR_API_KEY
curl https://api.veniceaiapipricing.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Return server status code 200"}]
}'
Punctul final /v1/chat/completions
Trimite istoricul conversației tale către /v1/chat/completions utilizând uncensored ID-ul modelului. API-ul acceptă obiecte standard de mesaje cu role și content câmpuri. Tokenii de intrare costă $0.15 per milion, iar tokenii de ieșire costă $0.50 per milion. Erorile și respingerile nu consumă credit.
Acest endpoint suportă generarea exclusivă de text. Nu gestionează imagini, audio sau embeddings. Puteți primi răspunsuri în flux continuu sau să obțineți textul complet într-un singur obiect JSON.
from openai import OpenAI
client = OpenAI(base_url="https://api.veniceaiapipricing.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Răspunsuri în streaming (SSE)
Activați streaming-ul setând stream: true în corpul cererii tale. API-ul returnează Evenimente trimise de server (SSE) pentru fiecare token generat. Fragmentul final conține statisticile complete de utilizare a tokenilor. Această metodă reduce latența percepută pentru răspunsurile lungi.
Gestionarea streaming-ului este esențială pentru aplicațiile în timp real. Poți procesa tokenii pe măsură ce sosesc, în loc să aștepți finalizarea completă.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Apelarea funcțiilor și modul JSON
API-ul suportă output-uri structurate și definiții de instrumente. Utilizați response_format: {"type": "json_object"} pentru a forța output-ul JSON. De asemenea, puteți transmite tools pentru apelarea funcțiilor, permițând modelului să returneze date structurate pentru logica aplicației tale.
Această funcționalitate este utilă pentru extragerea de date sau declanșarea unor acțiuni. Modelul returnează apelurile de instrumente într-un format standardizat. Apoi puteți executa funcțiile și puteți alimenta rezultatele înapoi în conversație.
Parametri: Temperatură, Top P, Seed-uri
Controlează creativitatea cu temperature și top_p. The seed parametrul asigură output-uri deterministe pentru testare. Acești parametri urmează convențiile standard OpenAI. Ajustarea lor afectează aleatorietatea textului generat.
Setează temperature că 0.7 pentru o creativitate echilibrată. Utilizați seed pentru rezultate reproducibile. API-ul ignoră parametrii nesuportați în mod elegant.
Limite de rată și constrângeri
Ești limitat la 300 de cereri pe minut per cheie. Sunt permise un maximum de 8 cereri concurente per cheie. Dimensiunea corpului cererii este limitată la 8 MB. Fereastra de context este de 100.000 de tokeni pentru input și output combinate. Outputul maxim per cerere este de 16.000 de tokeni.
Depășirea acestor limite returnează o eroare 429. Asigură-te că clientul tău gestionează reîncercările în mod adecvat. Cheia API este unică per cont; generarea unei noi chei înlocuiește cea veche.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.veniceaiapipricing.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);