Тестирование API
Введите свой API-ключ, выберите тип эндпоинта и модель, напишите сообщение — все пять примеров ниже обновятся одновременно. Скопируйте любой и запустите либо нажмите Отправить запрос: браузер обращается к шлюзу напрямую, поэтому ни ключ, ни ответ не проходят через сайт документации. Базовый адрес вводить не нужно: сайт документации отдаёт сам шлюз, и примеры уже указывают на него.
«Отправить запрос» — это настоящий вызов: он расходует токены вашего аккаунта и тарифицируется по фактическому потреблению. Копирование кода ничего не стоит.
Ключ остаётся в этой вкладке, удаляется при её закрытии и никогда не отправляется на сайт документации.
curl https://llm.usmm.cn/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "deepseek-v4.1-flash",
"messages": [{ "role": "user", "content": "Объясни одним предложением, что такое API-шлюз." }]
}'curl https://llm.usmm.cn/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "deepseek-v4.1-flash",
"input": "Объясни одним предложением, что такое API-шлюз."
}'curl https://llm.usmm.cn/v1/messages \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "deepseek-v4.1-flash",
"max_tokens": 1024,
"messages": [{ "role": "user", "content": "Объясни одним предложением, что такое API-шлюз." }]
}'curl https://llm.usmm.cn/v1beta/models/deepseek-v4.1-flash:generateContent \
-H "Content-Type: application/json" \
-H "x-goog-api-key: YOUR_API_KEY" \
-d '{
"contents": [{ "parts": [{ "text": "Объясни одним предложением, что такое API-шлюз." }] }]
}'curl --no-buffer https://llm.usmm.cn/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "deepseek-v4.1-flash",
"messages": [{ "role": "user", "content": "Объясни одним предложением, что такое API-шлюз." }],
"stream": true
}'curl --no-buffer https://llm.usmm.cn/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "deepseek-v4.1-flash",
"input": "Объясни одним предложением, что такое API-шлюз.",
"stream": true
}'curl --no-buffer https://llm.usmm.cn/v1/messages \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "deepseek-v4.1-flash",
"max_tokens": 1024,
"messages": [{ "role": "user", "content": "Объясни одним предложением, что такое API-шлюз." }],
"stream": true
}'curl --no-buffer https://llm.usmm.cn/v1beta/models/deepseek-v4.1-flash:streamGenerateContent?alt=sse \
-H "Content-Type: application/json" \
-H "x-goog-api-key: YOUR_API_KEY" \
-d '{
"contents": [{ "parts": [{ "text": "Объясни одним предложением, что такое API-шлюз." }] }]
}' import requests
response = requests.post(
"https://llm.usmm.cn/v1/chat/completions",
headers={
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY",
},
json={
"model": "deepseek-v4.1-flash",
"messages": [{ "role": "user", "content": "Объясни одним предложением, что такое API-шлюз." }]
},
timeout=60,
)
response.raise_for_status()
print(response.json())import requests
response = requests.post(
"https://llm.usmm.cn/v1/responses",
headers={
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY",
},
json={
"model": "deepseek-v4.1-flash",
"input": "Объясни одним предложением, что такое API-шлюз."
},
timeout=60,
)
response.raise_for_status()
print(response.json())import requests
response = requests.post(
"https://llm.usmm.cn/v1/messages",
headers={
"Content-Type": "application/json",
"x-api-key": "YOUR_API_KEY",
"anthropic-version": "2023-06-01",
},
json={
"model": "deepseek-v4.1-flash",
"max_tokens": 1024,
"messages": [{ "role": "user", "content": "Объясни одним предложением, что такое API-шлюз." }]
},
timeout=60,
)
response.raise_for_status()
print(response.json())import requests
response = requests.post(
"https://llm.usmm.cn/v1beta/models/deepseek-v4.1-flash:generateContent",
headers={
"Content-Type": "application/json",
"x-goog-api-key": "YOUR_API_KEY",
},
json={
"contents": [{ "parts": [{ "text": "Объясни одним предложением, что такое API-шлюз." }] }]
},
timeout=60,
)
response.raise_for_status()
print(response.json())import requests
with requests.post(
"https://llm.usmm.cn/v1/chat/completions",
headers={
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY",
},
json={
"model": "deepseek-v4.1-flash",
"messages": [{ "role": "user", "content": "Объясни одним предложением, что такое API-шлюз." }],
"stream": True
},
stream=True,
timeout=60,
) as response:
response.raise_for_status()
for line in response.iter_lines():
if line:
print(line.decode())import requests
with requests.post(
"https://llm.usmm.cn/v1/responses",
headers={
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY",
},
json={
"model": "deepseek-v4.1-flash",
"input": "Объясни одним предложением, что такое API-шлюз.",
"stream": True
},
stream=True,
timeout=60,
) as response:
response.raise_for_status()
for line in response.iter_lines():
if line:
print(line.decode())import requests
with requests.post(
"https://llm.usmm.cn/v1/messages",
headers={
"Content-Type": "application/json",
"x-api-key": "YOUR_API_KEY",
"anthropic-version": "2023-06-01",
},
json={
"model": "deepseek-v4.1-flash",
"max_tokens": 1024,
"messages": [{ "role": "user", "content": "Объясни одним предложением, что такое API-шлюз." }],
"stream": True
},
stream=True,
timeout=60,
) as response:
response.raise_for_status()
for line in response.iter_lines():
if line:
print(line.decode())import requests
with requests.post(
"https://llm.usmm.cn/v1beta/models/deepseek-v4.1-flash:streamGenerateContent?alt=sse",
headers={
"Content-Type": "application/json",
"x-goog-api-key": "YOUR_API_KEY",
},
json={
"contents": [{ "parts": [{ "text": "Объясни одним предложением, что такое API-шлюз." }] }]
},
stream=True,
timeout=60,
) as response:
response.raise_for_status()
for line in response.iter_lines():
if line:
print(line.decode()) const response = await fetch("https://llm.usmm.cn/v1/chat/completions", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY",
},
body: JSON.stringify({
"model": "deepseek-v4.1-flash",
"messages": [{ "role": "user", "content": "Объясни одним предложением, что такое API-шлюз." }]
}),
});
console.log(await response.json());const response = await fetch("https://llm.usmm.cn/v1/responses", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY",
},
body: JSON.stringify({
"model": "deepseek-v4.1-flash",
"input": "Объясни одним предложением, что такое API-шлюз."
}),
});
console.log(await response.json());const response = await fetch("https://llm.usmm.cn/v1/messages", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": "YOUR_API_KEY",
"anthropic-version": "2023-06-01",
},
body: JSON.stringify({
"model": "deepseek-v4.1-flash",
"max_tokens": 1024,
"messages": [{ "role": "user", "content": "Объясни одним предложением, что такое API-шлюз." }]
}),
});
console.log(await response.json());const response = await fetch("https://llm.usmm.cn/v1beta/models/deepseek-v4.1-flash:generateContent", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-goog-api-key": "YOUR_API_KEY",
},
body: JSON.stringify({
"contents": [{ "parts": [{ "text": "Объясни одним предложением, что такое API-шлюз." }] }]
}),
});
console.log(await response.json());const response = await fetch("https://llm.usmm.cn/v1/chat/completions", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY",
},
body: JSON.stringify({
"model": "deepseek-v4.1-flash",
"messages": [{ "role": "user", "content": "Объясни одним предложением, что такое API-шлюз." }],
"stream": true
}),
});
const decoder = new TextDecoder();
for await (const chunk of response.body) {
process.stdout.write(decoder.decode(chunk, { stream: true }));
}const response = await fetch("https://llm.usmm.cn/v1/responses", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY",
},
body: JSON.stringify({
"model": "deepseek-v4.1-flash",
"input": "Объясни одним предложением, что такое API-шлюз.",
"stream": true
}),
});
const decoder = new TextDecoder();
for await (const chunk of response.body) {
process.stdout.write(decoder.decode(chunk, { stream: true }));
}const response = await fetch("https://llm.usmm.cn/v1/messages", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": "YOUR_API_KEY",
"anthropic-version": "2023-06-01",
},
body: JSON.stringify({
"model": "deepseek-v4.1-flash",
"max_tokens": 1024,
"messages": [{ "role": "user", "content": "Объясни одним предложением, что такое API-шлюз." }],
"stream": true
}),
});
const decoder = new TextDecoder();
for await (const chunk of response.body) {
process.stdout.write(decoder.decode(chunk, { stream: true }));
}const response = await fetch("https://llm.usmm.cn/v1beta/models/deepseek-v4.1-flash:streamGenerateContent?alt=sse", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-goog-api-key": "YOUR_API_KEY",
},
body: JSON.stringify({
"contents": [{ "parts": [{ "text": "Объясни одним предложением, что такое API-шлюз." }] }]
}),
});
const decoder = new TextDecoder();
for await (const chunk of response.body) {
process.stdout.write(decoder.decode(chunk, { stream: true }));
} package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
payload := `{
"model": "deepseek-v4.1-flash",
"messages": [{ "role": "user", "content": "Объясни одним предложением, что такое API-шлюз." }]
}`
req, err := http.NewRequest(http.MethodPost, "https://llm.usmm.cn/v1/chat/completions", strings.NewReader(payload))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
out, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(string(out))
}package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
payload := `{
"model": "deepseek-v4.1-flash",
"input": "Объясни одним предложением, что такое API-шлюз."
}`
req, err := http.NewRequest(http.MethodPost, "https://llm.usmm.cn/v1/responses", strings.NewReader(payload))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
out, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(string(out))
}package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
payload := `{
"model": "deepseek-v4.1-flash",
"max_tokens": 1024,
"messages": [{ "role": "user", "content": "Объясни одним предложением, что такое API-шлюз." }]
}`
req, err := http.NewRequest(http.MethodPost, "https://llm.usmm.cn/v1/messages", strings.NewReader(payload))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("x-api-key", "YOUR_API_KEY")
req.Header.Set("anthropic-version", "2023-06-01")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
out, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(string(out))
}package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
payload := `{
"contents": [{ "parts": [{ "text": "Объясни одним предложением, что такое API-шлюз." }] }]
}`
req, err := http.NewRequest(http.MethodPost, "https://llm.usmm.cn/v1beta/models/deepseek-v4.1-flash:generateContent", strings.NewReader(payload))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("x-goog-api-key", "YOUR_API_KEY")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
out, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(string(out))
}package main
import (
"bufio"
"fmt"
"net/http"
"strings"
)
func main() {
payload := `{
"model": "deepseek-v4.1-flash",
"messages": [{ "role": "user", "content": "Объясни одним предложением, что такое API-шлюз." }],
"stream": true
}`
req, err := http.NewRequest(http.MethodPost, "https://llm.usmm.cn/v1/chat/completions", strings.NewReader(payload))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
scanner := bufio.NewScanner(resp.Body)
for scanner.Scan() {
fmt.Println(scanner.Text())
}
}package main
import (
"bufio"
"fmt"
"net/http"
"strings"
)
func main() {
payload := `{
"model": "deepseek-v4.1-flash",
"input": "Объясни одним предложением, что такое API-шлюз.",
"stream": true
}`
req, err := http.NewRequest(http.MethodPost, "https://llm.usmm.cn/v1/responses", strings.NewReader(payload))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
scanner := bufio.NewScanner(resp.Body)
for scanner.Scan() {
fmt.Println(scanner.Text())
}
}package main
import (
"bufio"
"fmt"
"net/http"
"strings"
)
func main() {
payload := `{
"model": "deepseek-v4.1-flash",
"max_tokens": 1024,
"messages": [{ "role": "user", "content": "Объясни одним предложением, что такое API-шлюз." }],
"stream": true
}`
req, err := http.NewRequest(http.MethodPost, "https://llm.usmm.cn/v1/messages", strings.NewReader(payload))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("x-api-key", "YOUR_API_KEY")
req.Header.Set("anthropic-version", "2023-06-01")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
scanner := bufio.NewScanner(resp.Body)
for scanner.Scan() {
fmt.Println(scanner.Text())
}
}package main
import (
"bufio"
"fmt"
"net/http"
"strings"
)
func main() {
payload := `{
"contents": [{ "parts": [{ "text": "Объясни одним предложением, что такое API-шлюз." }] }]
}`
req, err := http.NewRequest(http.MethodPost, "https://llm.usmm.cn/v1beta/models/deepseek-v4.1-flash:streamGenerateContent?alt=sse", strings.NewReader(payload))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("x-goog-api-key", "YOUR_API_KEY")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
scanner := bufio.NewScanner(resp.Body)
for scanner.Scan() {
fmt.Println(scanner.Text())
}
} import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
var payload = """
{
"model": "deepseek-v4.1-flash",
"messages": [{ "role": "user", "content": "Объясни одним предложением, что такое API-шлюз." }]
}
""";
var request = HttpRequest.newBuilder()
.uri(URI.create("https://llm.usmm.cn/v1/chat/completions"))
.header("Content-Type", "application/json")
.header("Authorization", "Bearer YOUR_API_KEY")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
var response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
var payload = """
{
"model": "deepseek-v4.1-flash",
"input": "Объясни одним предложением, что такое API-шлюз."
}
""";
var request = HttpRequest.newBuilder()
.uri(URI.create("https://llm.usmm.cn/v1/responses"))
.header("Content-Type", "application/json")
.header("Authorization", "Bearer YOUR_API_KEY")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
var response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
var payload = """
{
"model": "deepseek-v4.1-flash",
"max_tokens": 1024,
"messages": [{ "role": "user", "content": "Объясни одним предложением, что такое API-шлюз." }]
}
""";
var request = HttpRequest.newBuilder()
.uri(URI.create("https://llm.usmm.cn/v1/messages"))
.header("Content-Type", "application/json")
.header("x-api-key", "YOUR_API_KEY")
.header("anthropic-version", "2023-06-01")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
var response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
var payload = """
{
"contents": [{ "parts": [{ "text": "Объясни одним предложением, что такое API-шлюз." }] }]
}
""";
var request = HttpRequest.newBuilder()
.uri(URI.create("https://llm.usmm.cn/v1beta/models/deepseek-v4.1-flash:generateContent"))
.header("Content-Type", "application/json")
.header("x-goog-api-key", "YOUR_API_KEY")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
var response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
var payload = """
{
"model": "deepseek-v4.1-flash",
"messages": [{ "role": "user", "content": "Объясни одним предложением, что такое API-шлюз." }],
"stream": true
}
""";
var request = HttpRequest.newBuilder()
.uri(URI.create("https://llm.usmm.cn/v1/chat/completions"))
.header("Content-Type", "application/json")
.header("Authorization", "Bearer YOUR_API_KEY")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofLines())
.body()
.forEach(System.out::println);import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
var payload = """
{
"model": "deepseek-v4.1-flash",
"input": "Объясни одним предложением, что такое API-шлюз.",
"stream": true
}
""";
var request = HttpRequest.newBuilder()
.uri(URI.create("https://llm.usmm.cn/v1/responses"))
.header("Content-Type", "application/json")
.header("Authorization", "Bearer YOUR_API_KEY")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofLines())
.body()
.forEach(System.out::println);import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
var payload = """
{
"model": "deepseek-v4.1-flash",
"max_tokens": 1024,
"messages": [{ "role": "user", "content": "Объясни одним предложением, что такое API-шлюз." }],
"stream": true
}
""";
var request = HttpRequest.newBuilder()
.uri(URI.create("https://llm.usmm.cn/v1/messages"))
.header("Content-Type", "application/json")
.header("x-api-key", "YOUR_API_KEY")
.header("anthropic-version", "2023-06-01")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofLines())
.body()
.forEach(System.out::println);import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
var payload = """
{
"contents": [{ "parts": [{ "text": "Объясни одним предложением, что такое API-шлюз." }] }]
}
""";
var request = HttpRequest.newBuilder()
.uri(URI.create("https://llm.usmm.cn/v1beta/models/deepseek-v4.1-flash:streamGenerateContent?alt=sse"))
.header("Content-Type", "application/json")
.header("x-goog-api-key", "YOUR_API_KEY")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofLines())
.body()
.forEach(System.out::println); Ответ
Запросов пока не было. Скопируйте код выше и запустите его — или отправьте запрос отсюда и посмотрите настоящий ответ.
Полная документация API
Заголовок раздела «Полная документация API»Четыре типа эндпоинтов выше покрывают диалекты, на которых говорит шлюз. Различий два:
- Заголовок авторизации. Chat и Responses используют
Authorization, Claude —x-api-key, Gemini —x-goog-api-key. Именно это чаще всего подводит при переходе между диалектами. - Как выражается потоковый режим. Первые три ставят
"stream": trueв теле запроса; нативный формат Gemini меняет действие в URL (:streamGenerateContent).
Шлюз отдаёт далеко не только эти четыре. Полный список — ниже: параметры, структура тела запроса и примеры ответов, и каждый вызов можно тут же попробовать. Текстовая версия того же материала — в разделе Использование API и Playground, его удобнее читать подряд.
Загружаем документацию API…