
类型:人工智能
简介:基于AI的绘画生成工具,主要用于根据文本描述生成详细图像。
腾讯云 Serverless 应用中心支持 stable-diffusion-webui 的 Serverless 部署能力。应用创建成功后,可以使用 Stable Diffusion WebUI 的全部功能,包括 文生图(Text-to-Image)、图生图(Image-to-Image),以及 Lora、ControlNet 等高级扩展能力。
本文将介绍如何结合数据万象图片审核服务对 Stable Diffusion 生成的图像进行内容合规检测。
前提条件
访问腾讯云官网(点击直达),登录 Serverless 控制台,开通 Serverless 服务。
开通 对象存储(COS) 服务,并创建存储桶。
开通数据万象服务。
步骤一:使用Stable Diffusion AI 应用生成图片
1. 创建 Stable Diffusion AI 应用
登录 Serverless 控制台,选择左侧导航栏的 Serverless 应用,点击新建应用。
在新建应用页面,按提示进行配置:
- 创建方式:选择 应用市场
- 模板:选择 Stable Diffusion AI 绘画
点击 下一步,继续完成以下配置:
- 应用名:例如 aigc-auditing-server
- 地域:例如北京
- 应用类型:选择 SD API(无 Web UI),通过 API 调用
点击完成,等待部署日志完成显示。此时应用、函数及 API 网关触发器创建成功,函数服务状态正常。
2. 使用 Stable Diffusion AI 应用生成图片
Stable Diffusion 提供控制台测试模板和 API 接口两种生成方式。
方法一:使用控制台测试模板
进入应用测试页面,配置请求参数:
- 请求方式:POST
- Path:/sdapi/v1/txt2img
- Content-Type:application/json
- Body:传入绘图参数(如 prompt)
方法二:使用 API 接口生成图片(Python 示例)
安装图像处理依赖:
pip install pillow
示例代码:
import json
import requests
import io
import base64
from PIL import Image, PngImagePluginurl = “https://service.*********.tencentcs.com/release/”
# 文生图接口
path=’sdapi/v1/txt2img’# 绘图参数
body = {
“prompt”: “1 girl, upper body, look at viewer”,
“steps”: 20
}# API请求
response = requests.post(url=f'{url}{path}’, json=body)
r = response.json()# 保存生成的图片
if ‘images’ in r:
for i in r[‘images’]:
image = Image.open(io.BytesIO(base64.b64decode(i.split(“,”,1)[0])))
png_payload = {
“image”: “data:image/png;base64,” + i
}
response2 = requests.post(url=f'{url}sdapi/v1/png-info’, json=png_payload)
pnginfo = PngImagePlugin.PngInfo()
pnginfo.add_text(“parameters”, response2.json().get(“info”))
image.save(‘output.png’, pnginfo=pnginfo)
生成示例图片如下所示。
步骤二:通过数据万象进行图片审核
1. 图片审核概述
数据万象提供 图片批量审核接口,支持同步和异步请求。通过此接口可以对多个图片文件进行内容合规检测(POST 请求)。
2. 图片审核调用示例(Python)
安装依赖:
import sys
import os
import logging
import base64
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
from qcloud_cos.cos_comm import CiDetectType# 正常情况日志级别使用 INFO,需要定位时可以修改为 DEBUG,此时 SDK 会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)# 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在 CosConfig 中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成。
secret_id = os.environ[‘COS_SECRET_ID’] # 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见:https://cloud.tencent.com/document/product/598/37140secret_key = os.environ[‘COS_SECRET_KEY’] # 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见:https://cloud.tencent.com/document/product/598/37140
region = ‘ap-beijing’ # 替换为用户的 region,已创建桶归属的 region 可以在控制台查看:https://console.cloud.tencent.com/cos5/bucket
token = None # 如果使用永久密钥不需要填入 token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见:https://cloud.tencent.com/document/product/436/14048
scheme = ‘https’ # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
bucket_name=’test’ # 指定cos桶中bucket的名称
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config) # 创建 cos clientimg_path=’./output.png’ # 生成的图片路径
with open(img_path, ‘rb’) as file:
data = file.read()
base64_data = base64.b64encode(data).decode(“utf-8”) # 将数据转换为Base64编码
response = client.ci_auditing_image_batch( # 调用审核接口
Bucket=bucket_name,
DetectType=CiDetectType.PORN,
Input=[
{
‘Content’:base64_data, #图像数据的base64编码
}
]
)
print(response)
3. 审核结果
审核接口会返回每张图片的检测结果,包括违规内容概率等信息。根据返回结果,可以在应用中进行相应的内容过滤或标记处理,从而保证生成图片的合规性。通过以上步骤,即可在 Serverless Stable Diffusion AI 应用 中生成图片,并使用 数据万象图片审核服务 对生成内容进行合规检测,实现安全、合规的 AI 绘画创作流程。








