Python AI Pintura
En este artículo presentaremos cómo construir una propia herramienta de creación de imágenes con IA basada en algunas API de desarrollo o bibliotecas de código abierto.
Mediante la API de texto a imagen
Mediante la API de texto a imagen, puede crear imágenes originales completamente nuevas basadas en descripciones de texto.
Alibaba Cloud Bailian ofrece dos grandes series de modelos:
- Tongyi Qianwen (Qwen-Image): Especializado en representar texto complejo en chino e inglés, este capítulo lo toma como ejemplo.
- Tongyi Wanxiang (serie Wan): Se utiliza para generar imágenes realistas y efectos visuales de nivel fotográfico.
Instale el SDK de Python de DashScope ejecutando el siguiente comando:
# 如果运行失败,您可以将pip替换成pip3再运行 pip install -U requests dashscope
Necesitamos activar el servicio de modelos Bailian de Alibaba Cloud y obtener una API-KEY.
Primero podemos usar la cuenta principal de Alibaba Cloud para acceder a la plataforma de servicios de modelos Bailian:https://bailian.console.aliyun.com/, luego haga clic en Iniciar sesión en la esquina superior derecha. Después de iniciar sesión, haga clic en el icono de engranaje ⚙️ en la esquina superior derecha, seleccione API key, luego copie la API key; si no tiene una, también puede crear una API key:


Activar Alibaba Cloud Bailian no genera costos; solo la invocación de modelos (después de superar la cuota gratuita), el despliegue de modelos y el ajuste de modelos generarán los cargos correspondientes.
Ahora, para usar la API, se cobra por token. Afortunadamente no es caro; podemos comprar primero el paquete más barato:Plataforma de servicios de modelos grandes Bailian de Alibaba Cloud。
A continuación, generamos imágenes configurando el prompt:
Ejemplo
from urllib.parse import urlparse, unquote
from pathlib import PurePosixPath
import requests
from dashscope import ImageSynthesis
import os
prompt = Un elegante y solemne pareado cuelga en el salón; la habitación tiene una distribución china clásica y tranquila, y sobre la mesa hay algunas porcelanas azules y blancas. En el pareado, a la izquierda está escrito 'La justicia nace del saber innato; humanos y máquinas comparten el mismo camino; el buen pensar renueva', a la derecha 'Surcar las nubes confiere sabiduría; el universo revela los números; altas aspiraciones y metas lejanas', y la inscripción horizontal es 'La sabiduría despierta la justicia universal', con una caligrafía fluida. En el centro cuelga un cuadro de estilo chino cuyo contenido es la Torre Yueyang.
# Por favor, use la API Key de Bailian
api_key = "sk-xxx"
print('----Llamada síncrona, espere a que se ejecute la tarea----')
rsp = ImageSynthesis.call(api_key=api_key,
model="qwen-image",
prompt=prompt,
n=1,
size='1328*1328',
prompt_extend=True,
watermark=True)
print('response: %s' % rsp)
if rsp.status_code == HTTPStatus.OK:
# Guardar la imagen en el directorio actual
for result in rsp.output.results:
file_name = PurePosixPath(unquote(urlparse(result.url).path)).parts[-1]
with open('./%s' % file_name, 'wb+') as f:
f.write(requests.get(result.url).content)
else:
print('Error en la llamada síncrona, status_code: %s, code: %s, message: %s' %
(rsp.status_code, rsp.code, rsp.message))
La salida será similar a la siguiente; verá un parámetro url. Podemos acceder a él para descargar la imagen descrita por el prompt:
----同步调用,请等待任务执行----
response: {"status_code": 200, "request_id": "1968746e-f434-4f77-9f8c-9b1adb80e8d7", "code": null, "message": "", "output": {"task_id": "d85c65d9-c4ff-4d66-a895-7c7746620b0c", "task_status": "SUCCEEDED", "results": [{"url": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/7d/05/20250916/8d68e658/d85c65d9-c4ff-4d66-a895-7c7746620b0c-1.png?xxxxxxxxx",
...
La imagen generada por el ejemplo anterior es la siguiente:

Para más contenido, puede consultar la documentación oficial:https://help.aliyun.com/zh/model-studio/text-to-image
Stable Diffusion
La biblioteca de código abierto que se necesita usar es Stable Diffusion web UI, que es una interfaz de navegador para Stable Diffusion basada en la biblioteca Gradio.
Dirección de GitHub de Stable Diffusion web UI:https://github.com/AUTOMATIC1111/stable-diffusion-webui
Ejecutar Stable Diffusion requiere requisitos de hardware bastante altos; durante la ejecución consume muchos recursos, especialmente la tarjeta gráfica.
Instalación en entorno Windows
El entorno local requiere instalar Python 3.10.6 o superior y agregarlo a las variables de entorno del equipo.
Descargue el código fuente de Stable Diffusion web UI desde GitHubhttps://github.com/AUTOMATIC1111/stable-diffusion-webui。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
Si Git no está instalado, puede descargar el paquete comprimido zip en la esquina superior derecha.

Descomprima stable-diffusion-webui y entre en el directorio stable-diffusion-webui.
A continuación, necesitamos descargar el modelo. Dirección de descarga:https://huggingface.co/CompVis/stable-diffusion-v-1-4-original

Mueva el modelo descargado astable-diffusion-webui/models/Stable-diffusionel directorio.
Entre en el directorio stable-diffusion-webui:
En Windows, ejecute como no administrador:
webui-user.bat
En entornos Linux y Mac OS, ejecute los siguientes comandos:
./webui.sh
A continuación, el programa se instalará y se iniciará automáticamente. Si el inicio es exitoso, verá una URL accesible.http://127.0.0.1:7860:

Acceda ahttp://127.0.0.1:7860, la interfaz es la siguiente:
Nota:Si la instalación se queda atascada, probablemente haya un problema al descargar el código fuente de GitHub. Puede usar algunos espejos de GitHub para resolverlo. Actualmente no hay espejos muy estables; se sugiere buscar en Google.https://hub.fgit.mlPor mi parte, el 6 de abril de 2023 usé la siguiente dirección de espejo
Introducción a Civitai
Civitai tiene muchos modelos personalizados y se pueden descargar gratis. Usaremos elGuofeng 3modelo para probar. Dirección de descarga:https://civitai.com/models/10415/3-guofeng3?modelVersionId=36644

Después de la descarga, movemos el modelo astable-diffusion-webui/models/Stable-diffusionel directorio, y reiniciamos stable-diffusion-webui:
./webui.sh
De esta manera, podemos seleccionar el modeloGuofeng 3en la lista de modelos:

Una vez seleccionado, podemos ir a la página de introducción del modelo para copiar algunos prompts y parámetros de prueba:



Para generar rápidamente, reduje a la mitad tanto la altura como el ancho; luego haga clic en el botón Generar:

El proceso completo de generación se puede ver siguiendo nuestra cuenta de video de WeChat:


