极客专属:一行命令搞定AI画图,告别繁琐代码!
遇到外语“生肉”视频没有字幕?甚至想把外语直接变成中文配音?得益于AI大模型和语音克隆技术,现在的开源工具已经能实现一键全自动翻译加配音。本文盘点4款顶级开源项目。
在开发和测试AI大模型应用时,我们经常需要调用API来生成图片。通常的做法是打开代码编辑器,写一段Python脚本,引入 requests 库,甚至安装官方的SDK。
但如果你只是想快速测试一下提示词(Prompt),或者想要一种极其轻量级的方式,这种做法就显得有些“杀鸡用牛刀”了。
今天给大家分享一个“极客范儿”的操作:完全不写任何代码,仅用一行Shell命令,结合 curl 和 jq,直接调用大模型接口并保存生成的图片!
核心原理
这个操作的核心在于利用Linux/macOS系统自带的强大命令行工具:
curl:用于发送HTTP请求,与大模型API进行通信。jq:一个轻量级且极其强大的命令行JSON处理器。我们用它来动态构造请求体,并解析返回的JSON数据。base64:大模型接口通常将图片以Base64编码格式返回,我们使用自带的解码工具将其还原为真实的图片文件。- 管道符
|:将前一个命令的输出作为后一个命令的输入,实现流水线作业。
实战演练
话不多说,直接上命令!你可以直接复制以下代码到你的终端(Terminal)中运行。
# 1. 设置环境变量(请替换为你自己的API地址和密钥)
GATEWAY="https://api.openai.com"
KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxx"
PROMPT="一个穿宇航服的女孩,水彩风格"
OUT="out.png"
# 2. 一行命令执行请求、解析并保存图片
curl -sS "$GATEWAY/v1/responses" \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d "$(jq -n --arg m "gpt-image-2" --arg p "$PROMPT" '{
model: $m,
input: $p,
tools: [{type: "image_generation"}]
}')" \
| tee /tmp/resp.json \
| jq -r '.output[] | select(.type=="image_generation_call") | .result' \
| base64 -d > "$OUT"
代码拆解与原理解析
这看似复杂的一长串命令,其实逻辑非常清晰。我们一步步来拆解:
1. 动态构造JSON请求体
jq -n --arg m "gpt-image-2" --arg p "$PROMPT" '{ model: $m, input: $p, tools: [{type: "image_generation"}] }'
这里利用了 jq 的 -n(不读取输入)和 --arg 参数,安全地将我们的 Shell 变量传入,构造出标准的JSON格式请求体。这比使用 echo 拼接字符串要安全和优雅得多,完全不用担心引号转义的问题。
2. 发送API请求
curl -sS "$GATEWAY/v1/responses" -H "..." -H "..." -d "$(上一步构造的JSON)"
使用 curl 发送 POST 请求。-sS 参数让 curl 保持静默,但会在发生错误时显示错误信息。
3. 日志记录(可选但推荐)
| tee /tmp/resp.json
tee 命令非常实用,它像一个三通管道,既把结果输出到文件 /tmp/resp.json 以便我们后续排查问题,又把内容继续传递给下一个命令。
4. 提取Base64图片数据
| jq -r '.output[] | select(.type=="image_generation_call") | .result'
这是 jq 展现真正实力的时刻!它直接深入 JSON 层级结构,过滤出 type 为 image_generation_call 的节点,并提取其中的 result 字段(即图片的Base64字符串)。-r 参数表示输出原始字符串,不要带双引号。
5. 解码并保存图片
| base64 -d > "$OUT"
最后,通过系统的 base64 命令(macOS自带 base64 -D 或 base64 -d,Linux为 base64 -d)将字符串解码,并重定向保存为真正的图片文件 $OUT。
总结
通过 curl + jq 的组合,我们可以极其高效地完成 API 测试和轻量级自动化任务。这种方式不仅免去了配置开发环境的烦恼,还非常适合集成到各种 CI/CD 脚本或自动化工作流中。
如果你觉得这个技巧有用,不妨在你的终端里试一试吧!你平时还有哪些提高效率的“神仙命令行”操作?欢迎在评论区留言交流!
更多推荐

所有评论(0)