Endpoint và giao thức
Chọn endpoint theo model và tính năng.
Chọn model có hỗ trợ endpoint, công cụ và đầu vào cần dùng. Chat Completions, Responses và Messages có cấu trúc khác nhau; không thể đổi đường dẫn mà giữ nguyên mọi trường.
Điểm cuối API
| Phương thức | Đường dẫn | Mô tả |
|---|---|---|
| POST | /v1/messages | Anthropic Messages API (khuyến nghị) |
| POST | /v1/chat/completions | OpenAI Chat Completions (tương thích) |
| POST | /v1/images/generations | OpenAI Images Generations (req/gpt-image-2) |
| POST | /v1/images/edits | OpenAI Images Edits / ảnh tham chiếu (req/gpt-image-2) |
| POST | /v1/audio/speech | Speech API: chỉ dùng khi có model Text-to-speech đang được niêm yết; endpoint tồn tại không có nghĩa mọi model đều hỗ trợ. |
| POST | /v1/videos | OpenAI Videos — tạo video |
| GET | /v1/videos/{id} | Tra tiến độ video (không trừ thêm tiền) |
| GET | /v1/videos/{id}/content | Tải file MP4 (không trừ thêm tiền) |
| DELETE | /v1/videos/{id} | Hủy phụ thuộc tuyến và trạng thái tác vụ; tuyến Seedvis hiện không hỗ trợ DELETE. Không coi lệnh hủy là cam kết hoàn tiền. |
| POST | /v1/responses | OpenAI Responses API (tương thích) |
| GET | /v1/models | Danh sách model và giá |
| POST | /v1/messages/count_tokens | Ước lượng token (miễn phí) |
Chọn model có hỗ trợ endpoint, công cụ và đầu vào cần dùng. Chat Completions, Responses và Messages có cấu trúc khác nhau; không thể đổi đường dẫn mà giữ nguyên mọi trường.
Responses và gọi công cụ
Ví dụ Responses dùng POST /v1/responses và tự mang ngữ cảnh trong input. Tài liệu này không hứa hỗ trợ các thao tác lưu, lấy lại hoặc liệt kê response chưa được công bố.
import os
from getpass import getpass
from openai import OpenAI
client = OpenAI(api_key=os.getenv("STALI_API_KEY") or getpass("STALI_API_KEY: "), base_url="https://api.cadhayvn.com/v1")
stream = client.responses.create(model="gpt-5.6-sol", input="Hello", stream=True, store=False)
for event in stream:
if event.type == "response.output_text.delta":
print(event.delta, end="", flush=True)
elif event.type in ("error", "response.failed", "response.incomplete"):
raise RuntimeError(str(event))Hai mẫu tools là JSON gửi tới Chat Completions hoặc Messages tương ứng. Ứng dụng phải kiểm tra tên công cụ và tham số, tự thực thi công cụ, rồi gửi kết quả kèm đúng call ID để model tiếp tục; gateway không tự chạy các hàm này.
Ví dụ được rà soát ở mức mã và kiểm thử cục bộ; không khẳng định đã chạy trên mọi phiên bản ứng dụng. Hãy kiểm tra cấu hình, gửi một yêu cầu nhỏ và xác nhận usage trước khi dùng thật.
