Quay lại tài liệu

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ẫnMô tả
POST/v1/messagesAnthropic Messages API (khuyến nghị)
POST/v1/chat/completionsOpenAI Chat Completions (tương thích)
POST/v1/images/generationsOpenAI Images Generations (req/gpt-image-2)
POST/v1/images/editsOpenAI Images Edits / ảnh tham chiếu (req/gpt-image-2)
POST/v1/audio/speechSpeech 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/videosOpenAI Videos — tạo video
GET/v1/videos/{id}Tra tiến độ video (không trừ thêm tiền)
GET/v1/videos/{id}/contentTả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/responsesOpenAI Responses API (tương thích)
GET/v1/modelsDanh sách model và giá
POST/v1/messages/count_tokensƯớc lượng token (miễn phí)

Xem hướng dẫn đầy đủ

/v1/messages/count_tokens

Endpoint này ước lượng cục bộ miễn phí, không dùng tokenizer chính thức của model. input_tokens bị giới hạn tối đa 200.000 nên không dùng kết quả để xác nhận prompt lớn vừa ngữ cảnh hoặc chốt phí. Usage thực tế của lượt tạo nội dung mới là căn cứ đối chiếu. JSON dưới đây là minh họa, không phải kết quả gọi trực tiếp.

curl --fail-with-body "https://thapi.cloud/v1/messages/count_tokens" \
  -H "x-api-key: ${STALI_API_KEY:?STALI_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-fable-5","messages":[{"role":"user","content":"Hello"}]}'

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://thapi.cloud/v1", max_retries=0)
stream = client.responses.create(model="gpt-5.6-sol", input="Hello", stream=True, store=False)
completed = False
for event in stream:
    if event.type == "response.output_text.delta":
        print(event.delta, end="", flush=True)
    elif event.type == "response.completed":
        completed = event.response.status == "completed"
    elif event.type in ("error", "response.failed", "response.incomplete"):
        raise RuntimeError(str(event))
if not completed:
    raise RuntimeError("Stream ended without response.completed; preserve the request ID and check usage before retrying.")

Hai mẫu JSON dùng cho Chat Completions và Messages tương ứng. Mẫu Python minh họa đầy đủ vòng gọi công cụ với phép cộng cục bộ: kiểm tra tên và tham số, thực thi hàm rồi gửi kết quả kèm đúng call ID. Gateway không tự chạy hàm. Mỗi vòng gọi model có thể tính phí riêng; ví dụ giới hạn tối đa 4 vòng và tắt tự thử lại ở SDK.

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.

Nhóm Zalo