002-文档

1. 介绍

案例应用场景:

自动化批量生成卡通头像

  1. 抓取数据:
    1. 直接放在Notion,无抓取
  1. 处理数据:
    1. 图像处理大模型
  1. 存放数据:
    1. 存放在云端图片库
    2. 存放在Notion中

2. 操作步骤

2.1. Notion中添加头像库

注意⚠️:解决不能在Make中发现新建的头像库的问题,如下操作

2.2. 配置Notion模块

2.3. 配置Flow的Repeater模块

注意⚠️:配置这个模块的作用是通过重复来控制生成图片的数量

2.4. HTTP模块

在这里我们使用的是下面这个模块:

建立Replicate网站的账号,获取API

可以去官网Doc中搜索关键字predictions


curl -s -X POST -H 'Prefer: wait' \
  -d '{"version": "764d4827ea159608a07cdde8ddf1c6000019627515eb02b6b449695fd547e5ef", "input": {"text": "Alice"}}' \
  -H "Authorization: Bearer $REPLICATE_API_TOKEN" \
  -H 'Content-Type: application/json' \
  https://api.replicate.com/v1/predictions

{
  "version": "764d4827ea159608a07cdde8ddf1c6000019627515eb02b6b449695fd547e5ef",
  "input": {
    "image": "{{1.properties_value.`头像`[].file.url}}",
    "steps": 20,
    "width": 1024,
    "height": 1024,
    "prompt": "a person",
    "upscale": false,
    "upscale_steps": 10,
    "negative_prompt": "",
    "prompt_strength": 4.5,
    "ip_adapter_noise": 0.5,
    "ip_adapter_weight": 0.2,
    "instant_id_strength": 0.7
  }
}

注意⚠️:创作过程有点时间,并且不会直接返回处理的结果,但Replicate官网提供了webhook的功能,

即图片昨晚会发送触发告诉Make,那就要重新做一条工作流,在这里用sleep模块等待处理结束,放在一个在工作流里面来讨论。

也可以用包头的wait来控制等待

curl --silent --show-error https://api.replicate.com/v1/predictions \
	--request POST \
	--header "Authorization: Bearer $REPLICATE_API_TOKEN" \
	--header "Content-Type: application/json" \
	--header "Prefer: wait" \
	--data @- <<-EOM
{
	"version": "764d4827ea159608a07cdde8ddf1c6000019627515eb02b6b449695fd547e5ef",
	"input": {
      "image": "https://replicate.delivery/pbxt/KU1AG0cit5nc3xIG1BBZ6DKkhunvvGsZXmEZzuW9HPYVkj8o/MTk4MTczMTkzNzI1Mjg5NjYy.webp",
      "prompt": "arnold",
      "prompt_strength": 4.5,
      "instant_id_strength": 0.7
	}
}
EOM

2.5. 获取图片HTTP模块

2.6. 更改状态Notion模块

注意⚠️:状态更改放在这里是为了节省Make的使用次数,如果等更新好图片后来更改状态,就会出现每生成一次就运行一次这个模块,浪费Make的使用次数

2.7. 迭代器模块

注意⚠️:因为之前获取图片的模块中,获取的字段为集合,如下所示,可以使用迭代器的map函数,转成JSON

2.8. 获取图片HTTP模块和imgBB模块

说明:因为大模型生成的图片连接是有时间限制(1小时),所以我们最好把生成的图片上传到imgBB上保存,方便后续使用

注意⚠️:imgBB只能接受二进制的文件,所以可以使用HTTP的get file模块获取二进制文件的图片,再上传

2.9. 将图片更新到Notion模块