快速回答
如何用 curl 调用 LLMwithCrypto?
向 https://llmwithcrypto.com/api/v1/chat/completions 发送 POST,带上 -H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY"、JSON 内容类型和一个包含 model 和 messages 的 body。LLMwithCrypto 返回 OpenAI 响应对象;把它管道给 jq,打印回答和 token 计数。加上 -N 和 "stream": true 可以看到文本实时到达,如 2026 年 10 月 23 日文档所述。
如何只设置一次密钥?
在你的 shell 会话中导出它,这样每条命令都能用,同时让它远离 shell 历史记录和共享脚本:
- Linux 和 macOS: 在终端里
export LLMWITHCRYPTO_API_KEY=…,或写入一个由脚本加载、且从不提交的.env文件。 - Windows PowerShell:
$env:LLMWITHCRYPTO_API_KEY = "…",然后在 Git Bash 或 WSL 中运行命令,或调整引号写法。
为每个应用、agent 或队友各建一个 API 密钥,并可在 dashboard 中单独吊销任意一个,不影响其他密钥。
curl -s "https://llmwithcrypto.com/api/v1/chat/completions" \
-H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-oss-20b", "messages": [{"role": "user", "content": "One word for fast?"}], "max_tokens": 20}' \
| jq -r '.choices[0].message.content, "\(.usage.prompt_tokens) in, \(.usage.completion_tokens) out"'
如何避免引号问题?
把 body 放进文件。提示词里只要出现撇号或美元符号,shell 引号和 JSON 引号就会互相打架;用文件可以两者都避开。--data @request.json 按原样发送文件。
cat > request.json <<'EOF'
{
"model": "deepseek-v4-pro",
"messages": [
{"role": "system", "content": "You review shell scripts."},
{"role": "user", "content": "Is it safe to run rm -rf \"$DIR\"/ when DIR may be empty?"}
],
"max_tokens": 300
}
EOF
curl -s "https://llmwithcrypto.com/api/v1/chat/completions" \
-H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" \
-H "Content-Type: application/json" \
--data @request.json | jq -r '.choices[0].message.content'
如何查看流式返回的回答?
-N 会关闭 curl 的输出缓冲,因此每个 server-sent event 一到达就会打印出来。你会看到原始的 data: 行;流式页面 对它们有说明。
curl -sN "https://llmwithcrypto.com/api/v1/chat/completions" \
-H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1-flash",
"messages": [{"role": "user", "content": "Write a haiku about latency."}],
"stream": true,
"stream_options": {"include_usage": true},
"max_tokens": 120
}'
如何列出模型并查询积分?
这两个调用都免费。第一个每行打印一个 model id,可直接用于 model 字段;第二个打印剩余积分,以美元计。
curl -s "https://llmwithcrypto.com/api/v1/models" \
-H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" | jq -r '.data[].id'
curl -s "https://llmwithcrypto.com/api/v1/credits" \
-H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" | jq -r '.balance_usd'
如何在终端中查看错误?
加上 -w "\nHTTP %{http_code}\n" 可在 body 之后打印状态。错误 body 是一个小的 JSON 对象,带有一个 code 字段,例如 invalid_api_key、insufficient_balance 或 model_not_found;错误页面 对每一种都有说明。使用 jq 时,.error.code // empty 会在有错误码时打印它,没有则什么都不打印,这让脚本很容易做分支判断。
错误不产生费用。按 token 从余额扣费:输入和输出 token 由模型自己的 tokenizer 计数,按该模型每 1M token 的价格计费。以错误结束的调用不收费。
可以用 curl 编写批处理脚本吗?
对于少量请求,用 shell 循环遍历文件就够:每个文件一个 JSON body,每个文件一次 curl,结果写在旁边。保持顺序执行,或用 xargs -P 4 一次跑几个,以确保不超过 rate limit。每个账户都有每分钟请求数和 token 上限,显示在 dashboard 中;联系 support 可以调高。
对于更大的量,重试和并发在代码里更容易实现:Python 和 Node.js 页面提供了现成的批处理示例,带有并发上限。
curl:常见问题
为什么我会收到 401 错误?
key 缺失、拼写错误或被撤销,或者该变量没有在这个 shell 中设置。运行 echo ${#LLMWITHCRYPTO_API_KEY} 检查它不是空的。
如何快速比较两个模型?
把同一个文件跑两次,只改 model,例如 deepseek-v4-pro 和 gpt-oss-120b;usage 行会显示每个回答消耗了多少 token。
我的 prompt 会被存储吗?
不会。我们不保存你的提示词或模型的回答:响应一旦发出,其文本即消失。每次调用只留一行日志,记录时间、账户、模型和 token 数量,30 天后删除。