Быстрый старт

Ваш первый вызов за 30 секунд

Получите API-ключ в dashboard и выберите язык. Специфика QSP — только base_url и ключ; всё остальное — стандартный OpenAI SDK.

1. Получите API-ключ

Войдите на quicksilverpro.io/dashboard и скопируйте ключ из секции "Connect your agent".

Установите его как переменную окружения QSP_KEY, чтобы сниппеты ниже работали без правок:

shell
export QSP_KEY="sk-..."

2. Выполните вызов

Python

python
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.quicksilverpro.io/v1",
    api_key=os.environ["QSP_KEY"],
)

resp = client.chat.completions.create(
    model="deepseek-v4.1-flash",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(resp.choices[0].message.content)

Node.js / TypeScript

typescript
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.quicksilverpro.io/v1",
  apiKey: process.env.QSP_KEY,
});

const resp = await client.chat.completions.create({
  model: "deepseek-v4.1-flash",
  messages: [{ role: "user", content: "Hello!" }],
});
console.log(resp.choices[0].message.content);

Отключение размышлений: первый вызов возвращает видимый ответ с настройками модели по умолчанию. Для прямого ответа без цепочки рассуждений передайте нестандартное поле reasoning через параметр extra_body в Python SDK.

python
resp = client.chat.completions.create(
    model="deepseek-v4.1-flash",
    messages=[{"role": "user", "content": "Hello!"}],
    extra_body={"reasoning": {"enabled": False}},
)
print(resp.choices[0].message.content)

В TypeScript используйте описанный в документации параметр запроса body как второй аргумент create. Он заменяет тело запроса: сначала разверните стандартные params, затем добавьте reasoning. См. OpenAI Node SDK.

typescript
const params = {
  model: "deepseek-v4.1-flash",
  messages: [{ role: "user" as const, content: "Hello!" }],
};
const resp = await client.chat.completions.create(params, {
  body: { ...params, reasoning: { enabled: false } },
});
console.log(resp.choices[0].message.content);

Swift

swift
import Foundation
import OpenAI

let openAI = OpenAI(
  configuration: .init(
    token: ProcessInfo.processInfo.environment["QSP_KEY"]!,
    host: "api.quicksilverpro.io",
    basePath: "/v1"
  )
)

let query = ChatQuery(
  messages: [.user(.init(content: .string("Hello!")))],
  model: "deepseek-v4.1-flash"
)
let resp = try await openAI.chats(query: query)
print(resp.choices.first?.message.content?.string ?? "")

curl

shell
curl https://api.quicksilverpro.io/v1/chat/completions \
  -H "Authorization: Bearer $QSP_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4.1-flash",
    "messages": [{"role": "user", "content": "Hello!"}],
    "reasoning": {"enabled": false}
  }'

3. Что приходит в ответ

Стандартный OpenAI chat-completions JSON. choices[0].message.content — это ответ модели. usage сообщает количество prompt- и completion-токенов плюс синтетическое поле cost, рассчитанное по публичной цене за миллион.

json
{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "created": 1715800000,
  "model": "deepseek-v4.1-flash",
  "choices": [{
    "index": 0,
    "message": {"role": "assistant", "content": "Hello! How can I help?"},
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 9,
    "completion_tokens": 8,
    "total_tokens": 17,
    "cost": 0.00000275
  }
}

Что дальше

  • Выберите модель под вашу задачу — Модели.
  • Получайте токены по мере генерации — Streaming.
  • Получайте строго типизированный JSON — Structured output.

Речь

1. Получите ключ

2. Экспортируйте ключ

bash
export QSP_KEY="YOUR_API_KEY"

3. Сгенерируйте речь

bash
curl https://api.quicksilverpro.io/v1/audio/speech \
  -H "Authorization: Bearer $QSP_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"chatterbox-turbo","input":"Hello from QuickSilver Pro.","voice":"alloy"}' \
  --output speech.mp3

Распознайте speech.mp3 (необязательно)

bash
curl https://api.quicksilverpro.io/v1/audio/transcriptions \
  -H "Authorization: Bearer $QSP_KEY" \
  -F "model=qwen3-asr" \
  -F "[email protected]" \
  -F "response_format=json"

Откройте speech.mp3, чтобы послушать аудио.

Модели, ограничения и устройства

Для распознавания китайской и английской речи рекомендуем qwen3-asr: 0.3–0.7 с для записи длиной 3–8 с, измерено 2026-10-12. Для соответствия Whisper выберите whisper-large-v3-turbo; whisper-1 — его совместимый псевдоним.

Для английской речи выберите chatterbox-turbo: $1.50 за 1 млн символов, около 1 с на предложение — одна десятая от цены OpenAI tts-1 ($15).

Для китайской или смешанной китайской/английской речи выберите qwen3-tts: $25 за 1 млн символов. Это выше цены OpenAI tts-1 ($15); qwen3-tts — модель, которая правильно читает по-китайски.

Транскрипция поддерживает file, model, language, prompt, temperature и timestamp_granularities[] (word, segment). Синтез поддерживает model, input, необязательный voice, response_format и speed (0,25–4).

voice необязателен. Chatterbox Turbo передаёт любую строку голоса; Qwen3 TTS игнорирует voice.

У Qwen3 TTS пока один голос. Названия голосов OpenAI принимаются и игнорируются.

Совместимые псевдонимы: whisper-1 → whisper-large-v3-turbo; tts-1 → qwen3-tts. tts-1 оплачивается как qwen3-tts ($25 за 1 млн символов). chatterbox-turbo стоит $1.50 за 1 млн символов, только английский; выбирайте его явно. Оплата и отчёты используют канонические ID.

Лимит: 25 МБ на multipart-запрос, не более четырёх частей, один непустой аудиофайл, заголовки каждой части до 8 КБ. Загрузка за 120 секунд; после первых 10 секунд средняя скорость в каждом 10-секундном окне не ниже 16 КБ/с. Две одновременные загрузки на ключ; общий лимит возвращает 429 с Retry-After.

Лимит ввода: 4 000 кодовых точек Unicode. Пустой ввод отклоняется. Каждая кодовая точка считается отдельно, включая иероглифы и эмодзи; комбинируемые знаки и последовательности эмодзи могут считаться несколькими символами.

Форматы: json (по умолчанию), text, verbose_json, srt, vtt. Оплата длительности одинакова для всех форматов ответа.

Форматы: mp3 (по умолчанию), wav, opus, flac, pcm. aac не поддерживается. Аудио передаётся по мере получения.

Chatterbox Turbo поддерживает только английский; китайский текст даёт неразборчивое аудио.

Для каждого вызова временно резервируются средства, а окончательный расчёт производится по фактической длительности аудио или количеству символов.

bash
curl https://api.quicksilverpro.io/v1/audio/speech \
  -H "Authorization: Bearer $QSP_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"qwen3-tts","input":"Hello from QuickSilver Pro.","voice":"alloy"}' \
  --output speech.mp3

Устройства и микроконтроллеры

Хост API использует цепочку TLS Let’s Encrypt (ISRG Root X1 / X2). Прошивка с закреплённым корневым сертификатом другого провайдера должна перейти на корень ISRG или использовать системный набор сертификатов. По умолчанию ответ — MP3, 24 kHz, моно. TTS передаёт поток: декодируйте во время загрузки. Лимит ввода — 4,000 символов; для WAV резерв рассчитывается по точной длительности.