API测试
填入你自己的 API 密钥,挑一种接入类型和模型,再把想问的那句话写进去,下面五种语言的代码会同时跟着变。 复制出去就能跑;点「发送请求」则由你的浏览器直连网关发出——密钥不经过文档站,响应也不经过。 服务地址不用填:文档站就挂在网关自己身上,示例里已经写好本站的地址。
「发送请求」是真实调用:会消耗你账户里的 Token 并按实际用量计费。只复制代码不产生费用。
密钥只留在当前标签页,关掉就清除,不会发给文档站。
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); 响应
还没有发送过请求。上面的代码可以直接复制运行,也可以在这里发出去看真实返回。
完整接口文档
Section titled “完整接口文档”上面四种接入类型覆盖了网关讲的几种协议方言。差异集中在两处:
- 认证头。Chat 与 Responses 用
Authorization,Claude 用x-api-key,Gemini 用x-goog-api-key。跨方言调用时最常踩的就是这个坑。 - 流式怎么表达。前三种在请求体里写
"stream": true,Gemini 原生格式改的是 URL 上的 action(:streamGenerateContent)。
网关实际提供的接口不止这四个。下面是完整清单,含参数说明、请求体结构和响应示例,同样可以就地试调用。 接口的文字说明与使用 API 与游乐场是同一套内容,那一页更适合通读。
正在加载接口文档…