Python、Node.js 与 cURL
配置 WUDI_API_KEY,选择当前 Key 可用的文本模型。示例中的模型可以替换,但不能随意改写 ID。生成请求会按实际使用计费。
Python / OpenAI SDK
Section titled “Python / OpenAI SDK”python -m pip install openaiimport osfrom openai import OpenAI, APIStatusError
client = OpenAI( api_key=os.environ["WUDI_API_KEY"], base_url="https://wudiapi.com/v1", timeout=120, max_retries=0,)try: result = client.chat.completions.create( model="deepseek-v4.1-flash", messages=[{"role":"user","content":"解释一个 API 的用途。"}], ) print(result.choices[0].message.content) print(result.usage)except APIStatusError as error: print("HTTP", error.status_code, error.message)Node.js / OpenAI SDK
Section titled “Node.js / OpenAI SDK”npm install openai将以下内容保存为 .mjs 文件,用 Node.js 运行:
import OpenAI from 'openai';
if (!process.env.WUDI_API_KEY) throw new Error('请配置 WUDI_API_KEY');const client = new OpenAI({ apiKey: process.env.WUDI_API_KEY, baseURL: 'https://wudiapi.com/v1', timeout: 120000, maxRetries: 0,});try { const response = await client.chat.completions.create({ model: 'deepseek-v4.1-flash', messages: [{ role: 'user', content: '解释一个 API 的用途。' }], }); console.log(response.choices[0]?.message?.content); console.log(response.usage);} catch (error) { console.error('请求失败', error.status, error.message);}Windows PowerShell
Section titled “Windows PowerShell”使用原生 HTTP 方法可避免复杂的 JSON 引号转义:
$env:WUDI_API_KEY = '替换为你的WuDi_API_Key'$headers = @{ Authorization = "Bearer $env:WUDI_API_KEY" }$body = @{ model = 'deepseek-v4.1-flash' messages = @(@{ role = 'user'; content = '你好,请简要回答。' }) stream = $false} | ConvertTo-Json -Depth 10Invoke-RestMethod -Uri 'https://wudiapi.com/v1/chat/completions' ` -Method Post -Headers $headers -ContentType 'application/json; charset=utf-8' ` -Body ([Text.Encoding]::UTF8.GetBytes($body))curl --fail-with-body https://wudiapi.com/v1/chat/completions \ -H "Authorization: Bearer $WUDI_API_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"deepseek-v4.1-flash","messages":[{"role":"user","content":"你好"}]}'在服务端校验用户输入、限制请求大小与并发,并将错误分类处理。不要把带 Key 的完整请求头写入日志。需要流式见流式输出,使用 Responses 见专用示例。
