Hướng dẫn nhanh cho quy trình Xtts
Tích hợp API văn bản không kiểm duyệt của chúng tôi vào quy trình sao chép giọng nói của bạn với hướng dẫn nhanh này. Tìm hiểu cách tạo kịch bản, phụ đề và phản hồi văn bản thô bằng các endpoint tương thích với OpenAI.
Xác thực & Base URL
Bắt đầu bằng cách truy cập trang Lấy khóa API và đăng nhập bằng Google hoặc mật khẩu email. Bạn sẽ nhận được một khóa API duy nhất ngay lập tức. Sử dụng base URL https://api.xtts.cc/v1 cho tất cả các yêu cầu. URL này tương thích với các SDK chính thức của OpenAI và bất kỳ client nào hỗ trợ định dạng chat-completions của OpenAI.
Bao gồm khóa của bạn trong tiêu đề Authorization dưới dạng token bearer. Định danh mô hình bạn phải gửi là uncensored. Mô hình trọng số mở này được lưu trữ trên máy chủ của chúng tôi và được tinh chỉnh để trả lời mà không từ chối nội dung cho mục đích người lớn hợp pháp, đảm bảo quy trình giọng nói của bạn nhận được văn bản thô cần thiết.
Tạo văn bản không kiểm duyệt
Gửi yêu cầu POST đến /v1/chat/completions với prompt hệ thống và prompt người dùng của bạn. API trả về JSON có cấu trúc chứa văn bản đã tạo. Endpoint này được thiết kế cho việc viết prompt, tạo kịch bản và các nhiệm vụ xử lý hậu kỳ trong quy trình sao chép giọng nói của bạn.
Thân yêu cầu bao gồm tên mô hình, lịch sử tin nhắn của bạn và các tham số tùy chọn như temperature hoặc top_p. Bạn có thể kiểm soát độ dài đầu ra bằng tham số max_tokens. Nếu bạn không đặt max_tokens, phản hồi có thể chạy đến hết cửa sổ ngữ cảnh.
curl https://api.xtts.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
Tích hợp Python SDK
Sử dụng Python SDK chính thức của OpenAI để tương tác với API của chúng tôi. Đặt base_url thành endpoint của chúng tôi và cung cấp khóa API của bạn. Cách tiếp cận này cho phép bạn tận dụng các cấu trúc mã hiện có trong khi hưởng lợi từ hành vi của mô hình không kiểm duyệt của chúng tôi.
Tạo một thể hiện client với base URL và sau đó gọi chat.completions.create. Truyền ID mô hình uncensored và các tin nhắn của bạn. Đối tượng phản hồi chứa văn bản đã tạo trong content. Phương pháp này lý tưởng cho các kịch bản xử lý hàng loạt hoặc tích hợp tạo văn bản vào các ứng dụng Python lớn hơn.
from openai import OpenAI
client = OpenAI(base_url="https://api.xtts.cc/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)
Tích hợp Node SDK
Đối với môi trường JavaScript, hãy sử dụng Node SDK của OpenAI. Cấu hình client với base URL và khóa API của chúng tôi. Cấu hình này cho phép bạn tạo văn bản trực tiếp trong các ứng dụng web hoặc phía máy chủ của bạn.
Gọi endpoint hoàn tất hội thoại với mô hình uncensored. Phản hồi cung cấp văn bản đã tạo, sau đó bạn có thể chuyển nó đến công cụ tổng hợp giọng nói của mình. Tích hợp này phù hợp cho việc tạo văn bản theo thời gian thực trong các ứng dụng web hoặc dịch vụ backend chuẩn bị kịch bản cho sao chép giọng nói.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.xtts.cc/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ản hồi truyền phát (Streaming)
Bật chế độ truyền phát bằng cách đặt stream thành true trong yêu cầu của bạn. API trả về các Sự kiện do máy chủ gửi (SSE) cho mỗi token được tạo. Tính năng này hữu ích cho việc hiển thị văn bản theo thời gian thực hoặc chuẩn bị tổng hợp giọng nói theo tiến trình.
Mỗi chunk sự kiện chứa văn bản một phần. Chunk cuối cùng bao gồm thống kê sử dụng, chẳng hạn như số lượng token. Truyền phát đảm bảo ứng dụng của bạn có thể xử lý văn bản khi nó được tạo, giảm độ trễ cảm nhận cho người dùng. Xử lý các sự kiện stream để tích lũy phản hồi hoàn chỉnh.
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)
Giới hạn tốc độ & Tham số
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. Thân yêu cầu không được vượt quá 8 MB. Nếu bạn gửi khóa không hợp lệ, bạn sẽ nhận được lỗi 401. Nếu tín dụng trả trước của bạn đã cạn kiệt, bạn sẽ nhận được lỗi 402. Vượt quá giới hạn tốc độ sẽ dẫn đến lỗi 429.
Cửa sổ ngữ cảnh hỗ trợ tổng cộng 100.000 token, bao gồm cả prompt và phần hoàn tất. Không có giới hạn đầu ra riêng biệt, và bạn có thể chỉ định một max_tokens thấp hơn nếu muốn câu trả lời ngắn hơn. Lỗi và từ chối không tiêu tốn tín dụng trả trước của bạn. Hỗ trợ gọi hàm và chế độ JSON có sẵn để trích xuất dữ liệu có cấu trúc.
Thông số API
Toàn bộ giới hạn và tính năng thực tế của API ở một nơi — hãy kiểm tra trước khi nạp tiền.
| Mục | Giá trị |
|---|---|
| Định dạng | tương thích OpenAI: mọi SDK OpenAI đều chạy được, chỉ cần đổi base URL và khóa |
| Endpoint | POST /v1/chat/completions · GET /v1/models |
| Xác thực | Authorization: Bearer YOUR_KEY |
| ID mô hình | uncensored |
| Base URL | https://api.xtts.cc/v1 |
| Gọi hàm | có — tools, tool_choice; phản hồi có tool_calls, kể cả khi streaming; kết quả gửi lại bằng role: tool |
| Đầu ra tối đa | tối đa phần còn lại của cửa sổ 100.000 token; max_tokens tùy chọn (không giới hạn riêng) |
| Tham số | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Chế độ JSON | response_format: {"type": "json_object"} |
| Cửa sổ ngữ cảnh | 100.000 token (đầu vào + đầu ra) |
| Streaming | có — server-sent events; phần cuối chứa lượng token đã dùng |
| Kích thước yêu cầu | tối đa 8 MB |
| Yêu cầu đồng thời | tối đa 8 cùng lúc cho mỗi khóa |
| Header phản hồi | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Giới hạn tốc độ | 300 yêu cầu mỗi phút cho mỗi khóa |
| Dùng thử miễn phí | $0,50 trong 7 ngày, không cần thẻ · Khóa dùng thử: 2 yêu cầu song song, 60 yêu cầu/phút; hạn mức đầy đủ (8 và 300) sau lần nạp đầu |
| Giá | $0,15 cho 1 triệu token đầu vào · $0,50 cho 1 triệu token đầu ra |
| Tính phí | tín dụng trả trước theo mức dùng thực tế; lỗi và từ chối miễn phí |
| Nạp tiền | USDT (TRC20) hoặc USDC (Base), số tiền nguyên bất kỳ từ $20 đến $500 |
| Thưởng | +5% từ $50, +10% từ $100, +15% từ $200 |
| Thời hạn | tín dụng đã trả không hết hạn, không đăng ký định kỳ |
| Đăng nhập | Google hoặc email và mật khẩu |
| Khóa | mỗi tài khoản một khóa đang hoạt động; khóa mới thay thế khóa cũ |
| Nội dung | cho phép nội dung người lớn; từ chối nội dung tình dục liên quan đến trẻ vị thành niên |
Mã lỗi
Lỗi trả về dạng JSON với type cố định; yêu cầu lỗi hoặc bị từ chối không bị tính phí.
| HTTP | Loại | Ý nghĩa |
|---|---|---|
400 | bad_request | JSON sai, tin nhắn trống, tham số sai hoặc vượt cửa sổ ngữ cảnh |
401 | missing_key · invalid_key · key_revoked | thiếu khóa, sai khóa hoặc khóa đã bị thay |
402 | no_credit | hết tín dụng — nạp tiền là dùng tiếp ngay |
403 | content_blocked | nội dung tình dục liên quan trẻ vị thành niên — từ chối, không tính phí |
404 | not_found | endpoint không tồn tại |
413 | request_too_large | nội dung lớn hơn 8 MB |
429 | rate_limited · concurrency | vượt 300/phút hoặc 8 đồng thời — chờ rồi thử lại |
503 | upstream_busy | mô hình đang bận — thử lại sau vài giây |
Hỏi đáp
Làm thế nào để tôi nạp tiền tín dụng trả trước?
Bạn có thể nạp tiền bằng tiền điện tử (USDT trên TRC20, USDC trên Base). Số tiền nạp chấp nhận từ $20 đến $500. Bạn nhận được bonus 5% cho khoản nạp từ $50 trở lên, và bonus 10% cho khoản từ $100 trở lên. Tín dụng không bao giờ hết hạn.
API có tạo ra âm thanh hoặc video không?
Không, API này chỉ dành riêng cho việc tạo văn bản. Nó cung cấp phản hồi văn bản không kiểm duyệt để bạn có thể đưa vào quy trình tổng hợp giọng nói hoặc video của riêng mình. API không tạo trực tiếp các tệp âm thanh, hình ảnh hoặc video.
Ưu đãi dùng thử là gì?
Người dùng mới nhận $0,50 tín dụng dùng thử, mỗi người một lần, có hiệu lực trong 7 ngày. Nhận tín dụng này chỉ với một cú nhấp chuột trên trang khóa API của bạn. Không cần thẻ tín dụng để đăng ký. Điều này cho phép bạn kiểm tra API trước khi mua tín dụng trả trước.
Khóa của bạn chỉ cách một biểu mẫu
Tạo tài khoản, sao chép khóa, thay đổi base URL. Đó là toàn bộ quá trình thiết lập.