首页 > 其他分享 >图片渲染 API:极速生成电商、社媒、营销、横幅、证书等图片!

图片渲染 API:极速生成电商、社媒、营销、横幅、证书等图片!

时间:2024-12-12 09:44:40浏览次数:11  
标签:url 社媒 params template 电商 id 模板 图片

不知道还有没有同学还记得,当时自己开发智能体时,有一个自动生成证书图片的功能,既方便又实用。今天我们就来带大家回顾一下,如何快速生成图片,并且最重要的是,完全无需通过 HTTP 调用,极大提高了操作的便捷性和效率。那么,今天的主角就是 EdgeOne,这是一款不仅具备加速功能,还有强大安全保障的 CDN 服务。值得一提的是,目前图片渲染仅仅是它众多功能中的一小部分,并且该功能现在还可以免费调用,绝对是大家不可错过的试用机会!

EdgeOne

图片渲染

首先,我们需要进入腾讯云控制台,在控制台首页找到 EdgeOne 的官方入口,如下图所示。

image

接下来,进入到 EdgeOne 控制台后,我们可以直接看到其免费提供的图片渲染功能,无需额外开通任何服务或功能。

image

紧接着,我们就可以顺利查看到可供使用的模板库,其中包含了多种实用的模板供用户选择和应用。目前,这个模板库仍在不断更新和完善中,因此,如果你对最新功能或模板感兴趣,建议尽早体验。

此外,对于编写智能体的开发者来说,这个插件无疑是一个非常实用的工具。它不仅提供了丰富的模板支持,还能够实现简单、便捷的对接,极大地提升了开发效率和体验。对于有需求的小伙伴来说,这是一个非常值得关注和利用的好机会。

image

当然,如果你觉得现有的模板库无法满足你的需求,也完全可以根据自己的具体情况和设计需求,创建一个空白模板。如图所示:

image

这个设计完全可以通过纯HTML和CSS来实现,且将数据模块单独分离出来,使得管理更加方便高效。数据模块的主要功能是动态生成文字内容,通过这种方式,你可以轻松地重复使用同一套模板,只需修改数据部分即可灵活应用在不同场景中。

快速对接

API调用

这种方法既方便又快捷,但需要特别注意的是,返回的是图片的二进制内容,也就是图片的原始数据。在进行对接时,必须确保能够正确处理这种二进制数据格式,并将其转换成可用的图片形式。为了更好地理解和实施,以下是官方的API文档链接,供你参考和查阅详细的接口说明和使用方法。

image

你可以将这些内容直接复制出来,而无需自己编写Python代码。网上一大堆在线转换代码的网站,直接生成即可。如图所示:

image

运行后,可以看到以下结果:

image

这不是一个有效的 URL 路径,但你可以选择在自己的服务器上进行保存和处理。如果你希望直接通过 URL 路径返回给用户,建议你尝试下面的方法。

加密生成

这种方式特别适合与智能体进行对接,能够方便地为大家提供使用。你只需要预先定义好模板,并在代码节点中实现加密算法,系统便能根据该算法生成一个有效的 URL 路径。生成的路径会被 EdgeOne 自动解析,并返回相应的图片。具体的操作步骤和相关教程可以参考下方的图示:

image

这个部分只展示了 Node.js 的实现方式,可能对于习惯使用 Python 的同学来说不太方便,因为大多数智能体平台都是基于 Python 节点的。不过,没关系,我已经将相关代码整理出来并粘贴在下面,供大家参考。你们可以直接复制并使用它,帮助大家更方便地实现相应功能。代码如下:

import json
import urllib.parse
import hashlib
from datetime import datetime

def get_template_info(id,name,title,company):
    template_id = 'ep-DeX7gYHgg343'
    params = {
            "title": "荣誉证书",
            "subtitle": "CERTIFICATE OF HONOR",
            "text": "",
            "name": f"{name}",
            "descriptionPrefix": "在2024年度工作认真,业绩优秀,被评为我司",
            "descriptionSuffix": ",特发此证,以资鼓励",
            "descriptionTitle": f"{title}",
            "signatureName1": "2025-01-01",
            "signatureTitle1": "日期",
            "signatureName2": f"{company}",
            "signatureTitle2": "发证单位"
    }
    return template_id,params

def get_final_url(template_id,params):
    # URL 前缀
    url_prefix = ''
    # 模板中设置的图片格式
    format = 'png'
    # 用户 Id
    user_id = ''
    # 模板 Id
    # template_id = template_id
    # 生成签名的 API Key
    api_key = ''
    # 在这里填入要修改的模板参数
    # params = {}
    
    # 对参数 key 进行排序
    sorted_keys = sorted(params.keys())
    # 对参数进行拼接
    search_params = '&'.join(f'{key}={params[key]}' for key in sorted_keys)
    
    # 待签名的数据
    sign_data = json.dumps({
        'apiKey': api_key,
        'searchParams': search_params,
    }, ensure_ascii=False,separators=(",", ":"))
    # return sign_data
    # 调用 md5 生成签名
    sign = generate_md5(sign_data)
    
    # 拼接成最后的路径
    final_url = f"{url_prefix}/{sign}/{user_id}/{template_id}.{format}?{search_params}"
    encoded_path = urllib.parse.quote(final_url, encoding='utf-8')
    return encoded_path

def generate_md5(sign_data):
    # 创建 MD5 哈希对象
    md5_hash = hashlib.md5()
    # 更新哈希对象
    md5_hash.update(sign_data.encode(encoding='UTF-8'))
    # 获取十六进制的哈希值
    return md5_hash.hexdigest()

def main(params):
    template_id,param = get_template_info(params['id'],params['name'],params['title'],params['company'])
    final_url = get_final_url(template_id,param)
    output = {
        'final_url': final_url,
    }
    return output

这段代码是完全按照官方文档的示例进行转译的。由于输出的URL路径中可能包含一些中文字符,导致许多智能体平台无法正确解析和处理这些路径,因此我们额外添加了URL编码的步骤。通过这种方式,可以确保URL中的中文字符被正确编码,从而保证路径能够被各个平台正常解析并使用。

最终生成的效果是,通过一个编码后的路径就能够顺利返回并展示对应的图片信息。

image

总结

回顾今天的分享,我们不仅回顾了如何快速生成智能体证书图片,更深入了解了 EdgeOne 提供的强大图片渲染功能。特别是对于智能体开发者来说,这一功能的无缝对接与加密生成方法,无疑是一个提升开发效率的绝佳工具。随着模板库不断完善,更多实用功能将陆续推出,大家可以抓住这次免费的试用机会。总的来说,EdgeOne 的图片渲染功能是开发者在日常工作中不可多得的得力助手。


我是努力的小雨,一名 Java 服务端码农,潜心研究着 AI 技术的奥秘。我热爱技术交流与分享,对开源社区充满热情。同时也是一位腾讯云创作之星、阿里云专家博主、华为云云享专家、掘金优秀作者。

标签:url,社媒,params,template,电商,id,模板,图片
From: https://www.cnblogs.com/guoxiaoyu/p/18591543

相关文章

  • 如何清除li列表的符号,改成图片背景
    要清除<li>列表的默认符号并使用图片作为背景,您可以使用CSS。以下几种方法可以实现:方法一:使用list-style:none和background-image这是最常用的方法。首先,使用list-style:none去除默认的列表符号。然后,使用background-image为列表项添加背景图片。ul{list-style......
  • 图片底部空白缝隙解决法方案(CSS)
    当我想实现一个垂直轮播图时,图片底部会出现一个空白缝隙导致切换轮播图片显示不完整。这里可以用两个方法解决一、给图片添加(垂直对齐)vertical-align:baseline|middle|top;vertical-align属性的值可以是(1)关键字值:baseline|middle|top|bottom|sub|text-top|text-bottom;......
  • AES加密文件后附加到图片后面传输
    加密过程为:1、将文档压缩成zip;2、将zip字节流用aes加密;3、将加密后的字节流附加到图片后面。解密流程为:1、从图片后面取出加密后的字节流;2、使用aes解密出zip数据;3、解压zip。importzipfilefrompathlibimportPathfromCrypto.CipherimportAESfromCrypto.Util.Padding......
  • Python OpenCV按照像素点图片切割
    图像分割是从图像处理到图像分析的关键步骤,在目标检测、特征提取、图像识别等领域具有广泛应用。OpenCV是一个强大的计算机视觉库,提供了多种图像分割方法。本文将详细介绍如何使用Python和OpenCV进行基于像素点的图像分割,包括阈值分割、自适应阈值分割、Otsu's二值化、分水岭算法......
  • 电商供应链ERP管理系统PHP+Uniapp
    功能特性多角色权限管理:支持管理员、运营、供应商等多重层级账号。允许不同级别的账户集中管理商品信息。统一商品管理:商品资料可以共享到多个销售平台。提供集中管理的便利性。多货源管理:支持自营和第三方供应商的货源管理。库存信息统一管理。多渠道管理:汇......
  • Django-simple-captcha实现图片和输入框的样式
    django验证码的插件一、安装pipinstalldjango-simple-captcha二、配置和安装settting.py在INSTALLED_APPS,添加captcha在末尾增加captcha增加如下配置:CAPTCHA_IMAGE_SIZE=(120,50)#图片大小CAPTCHA_BACKGROUND_COLOR='#FFFFFF'CAPTCHA_CHALLENGE_FUN......
  • 基于协同过滤推荐算法+数据可视化大屏+SpringBoot+Vue的鸡蛋批发零售电商平台设计和实
     博主介绍:✌全网粉丝50W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs......
  • Pillow:图像处理魔法师!轻松玩转图片
    ......
  • 一个方法教你如何批量调整图片大小和位置
    在Excel表格中插入图片可以丰富内容,使其更具吸引力。然而,当面对大量图片需要调整大小时,手动逐个操作不仅费时费力,还容易出错。幸运的是,Excel提供了多种方法来批量调整图片的大小和位置,本文将详细介绍一个实用的方法,帮助您轻松应对这一挑战。方法一:使用Excel内置功能批量调整......
  • 双12激战正酣,高效项目管理软件成电商决胜年末利器
    随着2024年电商双12的临近,各大电商平台和商家纷纷进入紧张的备战状态。商务部数据显示,截至12月7日24时,有2989.3万名消费者购买8大类家电产品4628.7万台,带动销售2038.1亿元。这一数据充分体现了消费者在年末的强大购买力,也为电商平台提供了巨大的市场机遇。在这个数......