Base URL và xác thực
Gửi yêu cầu đến URL cơ sở https://api.codexapipricing.com/v1 sử dụng khóa API của bạn. Điểm cuối này tương thích với các SDK OpenAI chuẩn, vì vậy bạn chỉ cần cập nhật base URL và cung cấp khóa của bạn. Xác thực bằng cách truyền tiêu đề Authorization: Bearer YOUR_API_KEY với mọi yêu cầu. Bạn có thể tạo khóa ngay lập tức bằng cách đăng nhập bằng Google hoặc email và mật khẩu. Khóa được hiển thị một lần sau khi tạo, vì vậy hãy lưu nó một cách bảo mật. Các gợi ý của bạn không được sử dụng để huấn luyện, đảm bảo quyền riêng tư cho dữ liệu của bạn.
Endpoint hoàn thành trò chuyện
Sử dụng POST /v1/chat/completions endpoint để tạo văn bản. Đây là giao diện chính để gửi prompt và nhận phản hồi. ID mô hình luôn là uncensored, bất kể phiên bản mô hình nào đang chạy trên máy chủ của chúng tôi. Bạn có thể kiểm tra các mô hình có sẵn qua GET /v1/models. Gửi lịch sử tin nhắn của bạn trong messages
Các tham số được hỗ trợ và chế độ JSON
Kiểm soát quá trình sinh văn bản bằng các tham số như temperature, top_p, và stop. Sử dụng response_format được đặt thành {"type": "json_object"} để bắt buộc đầu ra JSON. Điều này hữu ích cho việc trích xuất dữ liệu có cấu trúc hoặc gọi hàm. Bạn cũng có thể đặt max_tokens để giới hạn độ dài đầu ra, mặc định là 2.048 nếu bỏ qua. Cửa sổ ngữ cảnh hỗ trợ lên đến 100.000 token cho cả prompt và phần hoàn thiện. Truyền seed để kết quả xác định hoặc presence_penalty và frequency_penalty để điều chỉnh sự lặp lại. Các tham số này cho phép tinh chỉnh hành vi của mô hình mà không cần cấu hình phức tạp. Chế độ JSON đảm bảo định dạng nghiêm ngặt để phân tích đáng tin cậy trong ứng dụng của bạn.
Các phản hồi dạng stream thông qua SSE
Bật phát trực tiếp bằng cách đặt stream: true trong yêu cầu của bạn. API trả về các Sự kiện gửi từ máy chủ (SSE) khi token được tạo. Điều này làm giảm độ trễ cảm nhận cho các phản hồi dài. Chi tiết sử dụng token xuất hiện trong chunk cuối cùng của luồng. Bạn có thể xử lý token tăng dần để hiển thị văn bản theo thời gian thực. Tính năng này hoạt động với tất cả các SDK tương thích OpenAI. Streaming lý tưởng cho các giao diện trò chuyện nơi người dùng mong đợi phản hồi ngay lập tức. Chunk cuối cùng chứa tổng số token để đảm bảo tính chính xác khi tính phí. Sử dụng phương pháp này để xử lý các đầu ra lớn một cách khéo léo mà không cần chờ phản hồi đầy đủ.
Giới hạn tốc độ và thân yêu cầu
Mỗi khóa API bị giới hạn ở 300 yêu cầu mỗi phút và 8 yêu cầu đồng thời. Kích thước tối đa của phần thân yêu cầu là 8 MB. Nếu vượt quá các giới hạn này, bạn sẽ nhận được lỗi 429. Bạn có thể tạo khóa mới để thay thế các khóa hiện có, nhưng chỉ một khóa hoạt động cho mỗi tài khoản. Lỗi và từ chối không tính vào giới hạn tốc độ của bạn. Cửa sổ ngữ cảnh 100,000 token cho phép lịch sử hội thoại rộng rãi. Hãy giữ phần thân yêu cầu ngắn gọn để nằm trong giới hạn kích thước. Theo dõi việc sử dụng để tránh gián đoạn trong giờ cao điểm. Các giới hạn này đảm bảo sử dụng công bằng cho tất cả khách hàng trả trước.
Xử lý lỗi và khắc phục sự cố
Xử lý lỗi bằng cách kiểm tra mã trạng thái HTTP. Lỗi 401 cho biết khóa API không hợp lệ hoặc bị thiếu. Lỗi 402 nghĩa là tín dụng trả trước của bạn đã cạn. Lỗi 429 báo hiệu bạn đã vượt quá các giới hạn tốc độ. Sử dụng error field trong phản hồi để lấy chi tiết. Những sai sót như tính phí kép sẽ được sửa chữa qua trang Hỗ trợ. Số dư không bao giờ hết hạn, vì vậy bạn có thể nạp thêm sau. Việc từ chối vi phạm chính sách nội dung là miễn phí. Cấu trúc lỗi dự đoán được này giúp bạn gỡ lỗi các vấn đề tích hợp nhanh chóng mà không cần đoán nguyên nhân.
cURL
curl https://api.codexapipricing.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the hourly rates for the large model."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.codexapipricing.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.codexapipricing.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);Phát trực tiếp
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)