上一次已经将调用API的环节基本收尾,相关的方法已经完备,现在我打算把API共享成公网的网址,以方便最后对接到UI。
根据网上的方法,我把webui.py中的share参数改为True,按理来说再次启动webui时就能拿到一个网址,但却出现了如下的报错:
估计是下载被墙了,没有下到对应的文件,但倒也指明了补救的方法,于是乎照办,成功得到了一个公网URL。
我尝试启动了两次,发现两次生成的网址是随机的,且同一个链接只能使用72小时,因此原来的代码也要做一定的修改,要解决两个问题:
- 把原来通过IP+端口的调用方式改为直接通过https链接调用;
- 在方法中加入网址链接参数,允许根据实时变更的链接调用API。
# 根据输入判断是否采用远端API
def generate_api_url(url):
if(url != '0'):
api = webuiapi.WebUIApi(baseurl= 'https://'+ url +'.gradio.live/sdapi/v1',
sampler = 'Euler a',
steps = 20)
在另一台机器上测试,成功生成了全新的图片。