Node-Packages / hugging_face.yaml
mypiper's picture
Update hugging_face.yaml
c2480cc verified
raw
history blame
2.56 kB
_id: hugging_face
author: Anton Breslavskii | https://github.com/breslavsky
description: ""
readme: ""
title: Hugging Face
url: https://huggingface.co/PiperMy/Node-Packages/resolve/main/hugging_face.yaml
version: 2
nodes:
pulid_flux:
_id: pulid_flux
arrange:
x: 180
y: 260
category:
_id: deep_swap
title: en=Magic portrait;ru=Магический портрет
environment:
HF_TOKEN:
title: Hugging Face Token
type: string
scope: global
inputs:
person:
order: 1
title: en=Person;ru=Персона
type: image
prompt:
order: 2
title: en=Prompt;ru=Подсказка
type: string
required: true
multiline: true
default: a portrait of a zombie
outputs:
portrait:
title: Portrait
type: image
package: hugging_face
script: |-
export async function run({ inputs }) {
const { FatalError, NextNode } = DEFINITIONS;
const HF_TOKEN = env?.variables?.get('HF_TOKEN');
if (!HF_TOKEN) {
throw new FatalError('Please, set your API key Hugging Face');
}
const { Client } = await import("@gradio/client/dist/index.js");
const { person, prompt } = inputs;
const { data: id_image } = await download(person);
const client = await Client.connect("PiperMy/tight-inversion-pulid-demo", {
hf_token: HF_TOKEN
});
console.log('Send request');
try {
const { data } = await client.predict("/generate_image", {
prompt: prompt || 'a portrait of a zombie',
id_image,
id_weight: 0.5,
num_steps: 16,
guidance: 3.5,
width: 1024,
height: 1024,
neg_prompt: "bad image",
true_cfg: 5,
timestep_to_start_cfg: 0,
max_sequence_length: 128,
start_step: 0,
seed: -1,
gamma: .5,
eta: 0.7,
s: 0,
tau: 2,
});
const [{ url }] = data;
const { data: portrait } = await download(url);
return NextNode.from({ outputs: { portrait } });
} catch (e) {
throw new FatalError(e.message);
}
}
source: catalog
title: Magic portrait
version: 1