Z-Image-Turbo-辉夜巫女API实战:小白也能学会的代码调用生成图片方法

张开发
2026/4/10 0:44:17 15 分钟阅读

分享文章

Z-Image-Turbo-辉夜巫女API实战:小白也能学会的代码调用生成图片方法
Z-Image-Turbo-辉夜巫女API实战小白也能学会的代码调用生成图片方法1. 从零开始理解API调用基础如果你已经通过Web界面体验过Z-Image-Turbo-辉夜巫女的图片生成功能现在想更进一步学习如何用代码调用这个服务那么这篇文章就是为你准备的。我们将从最基础的curl命令开始逐步深入让你掌握API调用的核心方法。为什么需要学习API调用简单来说API可以让你批量生成图片提高工作效率将图片生成能力集成到自己的应用中自动化处理图片生成任务灵活调整参数获得更好的生成效果2. 准备工作确认服务状态在开始调用API之前我们需要先确认模型服务已经正常启动。如果你已经部署了Z-Image-Turbo-辉夜巫女镜像可以通过以下步骤检查服务状态打开终端或命令行界面输入以下命令查看服务日志cat /root/workspace/xinference.log如果看到类似下面的输出说明服务已经启动成功INFO: Started server process [1] INFO: Waiting for application startup. INFO: Application startup complete. INFO: Uvicorn running on http://0.0.0.0:9997 (Press CTRLC to quit)关键信息是服务监听的地址和端口。默认情况下Xinference会在http://0.0.0.0:9997启动服务。如果你在本地部署可以直接用http://localhost:9997如果在服务器上部署需要换成服务器的IP地址。3. 第一个API调用生成你的第一张图片现在我们来尝试第一个API调用。我们将使用curl命令这是最基础的HTTP客户端工具几乎所有的操作系统都自带这个工具。3.1 基本curl命令结构一个完整的curl调用API的命令包含以下几个部分-X POST指定使用POST方法-H Content-Type: application/json设置请求头告诉服务器我们发送的是JSON数据-d ...发送的数据体里面包含了生成图片的所有参数3.2 实际调用示例让我们生成一张简单的辉夜巫女图片curl -X POST http://localhost:9997/v1/images/generations \ -H Content-Type: application/json \ -d { model: z-image-turbo-huiye-wunv, prompt: 辉夜巫女, size: 1024x1024, n: 1, response_format: url }执行这个命令后你会得到一个JSON格式的响应类似这样{ created: 1678886400, data: [ { url: http://localhost:9997/v1/files/abc123.jpg } ] }响应中的url字段就是生成图片的访问地址。你可以用浏览器打开这个链接查看图片或者继续学习下面的方法将图片保存到本地。4. 保存生成的图片两种实用方法4.1 方法一先获取URL再下载这种方法分为两步先获取图片URL再下载图片。适合需要灵活处理的情况。# 第一步生成图片并获取URL response$(curl -s -X POST http://localhost:9997/v1/images/generations \ -H Content-Type: application/json \ -d { model: z-image-turbo-huiye-wunv, prompt: 辉夜巫女, size: 1024x1024, n: 1, response_format: url }) # 第二步从响应中提取URL image_url$(echo $response | grep -o url:[^]* | cut -d -f4) # 第三步下载图片 curl -o huiye_wunv.jpg $image_url4.2 方法二直接获取Base64编码这种方法让API直接返回图片的Base64编码数据只需要一次请求就能完成图片生成和保存。curl -X POST http://localhost:9997/v1/images/generations \ -H Content-Type: application/json \ -d { model: z-image-turbo-huiye-wunv, prompt: 辉夜巫女, size: 1024x1024, n: 1, response_format: b64_json } | python3 -c import json, base64, sys data json.load(sys.stdin) image_data base64.b64decode(data[data][0][b64_json]) with open(huiye_wunv_direct.jpg, wb) as f: f.write(image_data) print(图片已保存为 huiye_wunv_direct.jpg) 5. 进阶技巧提升图片生成效果5.1 优化提示词提示词的质量直接影响生成效果。试试更详细的描述curl -X POST http://localhost:9997/v1/images/generations \ -H Content-Type: application/json \ -d { model: z-image-turbo-huiye-wunv, prompt: 辉夜巫女银色长发红色巫女服站在古老的神社中月光透过树叶洒下氛围神秘而宁静动漫风格细节精致8k画质, size: 1024x1024, n: 1, response_format: url }好的提示词通常包含主体描述辉夜巫女特征细节银色长发红色巫女服场景设置古老的神社月光氛围风格神秘而宁静动漫风格质量要求细节精致8k画质5.2 调整图片尺寸Z-Image-Turbo支持多种图片尺寸。根据你的需求选择合适的比例# 生成竖版图片适合人物全身像 curl -X POST http://localhost:9997/v1/images/generations \ -H Content-Type: application/json \ -d { model: z-image-turbo-huiye-wunv, prompt: 辉夜巫女全身像站在神社前, size: 768x1024, n: 1, response_format: url } # 生成横版图片适合场景图 curl -X POST http://localhost:9997/v1/images/generations \ -H Content-Type: application/json \ -d { model: z-image-turbo-huiye-wunv, prompt: 辉夜巫女在月下跳舞樱花飘落, size: 1024x768, n: 1, response_format: url }5.3 批量生成图片通过调整n参数可以一次生成多张图片# 一次生成4张不同的辉夜巫女图片 curl -X POST http://localhost:9997/v1/images/generations \ -H Content-Type: application/json \ -d { model: z-image-turbo-huiye-wunv, prompt: 辉夜巫女穿着传统巫女服手持神乐铃, size: 1024x1024, n: 4, response_format: url }6. 实用脚本自动化图片生成6.1 批量生成脚本创建一个generate_images.sh脚本实现批量生成#!/bin/bash API_URLhttp://localhost:9997/v1/images/generations MODELz-image-turbo-huiye-wunv OUTPUT_DIR./generated_images mkdir -p $OUTPUT_DIR prompts( 辉夜巫女在神社祈福 辉夜巫女月下舞剑 辉夜巫女与狐狸式神 辉夜巫女施展法术 辉夜巫女在樱花树下 ) for i in ${!prompts[]}; do echo 正在生成: ${prompts[$i]} response$(curl -s -X POST $API_URL \ -H Content-Type: application/json \ -d { \model\: \$MODEL\, \prompt\: \${prompts[$i]}\, \size\: \1024x1024\, \n\: 1, \response_format\: \url\ }) image_url$(echo $response | grep -o url:[^]* | cut -d -f4) if [ -n $image_url ]; then filename$OUTPUT_DIR/huiye_$(date %s)_$i.jpg curl -s -o $filename $image_url echo 已保存: $filename else echo 生成失败: ${prompts[$i]} fi sleep 2 done echo 批量生成完成图片保存在 $OUTPUT_DIR 目录6.2 交互式生成脚本创建一个Python脚本interactive_generate.py提供更友好的交互体验#!/usr/bin/env python3 import requests import json import base64 import os def generate_image(): api_url http://localhost:9997/v1/images/generations model z-image-turbo-huiye-wunv print( Z-Image-Turbo 辉夜巫女图片生成 ) prompt input(请输入图片描述提示词: ).strip() or 辉夜巫女 size input(图片尺寸默认1024x1024: ).strip() or 1024x1024 num_images input(生成数量默认1: ).strip() or 1 data { model: model, prompt: prompt, size: size, n: int(num_images), response_format: b64_json } try: print(正在生成图片请稍候...) response requests.post(api_url, jsondata, timeout60) response.raise_for_status() result response.json() output_dir ./generated os.makedirs(output_dir, exist_okTrue) for i, image_data in enumerate(result[data]): image_bytes base64.b64decode(image_data[b64_json]) filename fhuiye_{prompt[:20]}_{i}.jpg.replace( , _).replace(/, _) filepath os.path.join(output_dir, filename) with open(filepath, wb) as f: f.write(image_bytes) print(f图片已保存: {filepath}) print(生成完成) except requests.exceptions.RequestException as e: print(f请求失败: {e}) except json.JSONDecodeError as e: print(f解析响应失败: {e}) except Exception as e: print(f发生错误: {e}) if __name__ __main__: generate_image()7. 常见问题解决7.1 连接被拒绝错误信息curl: (7) Failed to connect to localhost port 9997: Connection refused解决方法确认服务是否启动检查xinference.log日志确认端口是否正确默认是9997如果是远程服务器检查IP地址和防火墙设置7.2 模型不存在错误错误信息{error:{message:Model z-image-turbo-huiye-wunv not found}}解决方法检查模型UID是否正确使用curl http://localhost:9997/v1/models查看可用模型检查模型是否加载完成查看日志确认加载过程没有错误7.3 图片质量不理想解决方法优化提示词提供更详细、更准确的描述尝试不同的尺寸某些构图可能适合特定比例多次生成同样的提示词多次生成选择最好的结果8. 总结与下一步通过本文你已经学会了如何用curl命令调用Z-Image-Turbo-辉夜巫女API生成图片两种保存生成图片的方法优化提示词和调整参数的技巧编写自动化脚本批量生成图片常见问题的解决方法下一步你可以尝试将API调用集成到你自己的应用中开发更复杂的图片处理流程探索其他AI镜像的功能获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

更多文章