

When you are generating an image before, there was a ‘note’ while the image is generating that talks about the new model.
Here’s the new image model notes for reference.
Doing Perchance.org things…
Links
When you are generating an image before, there was a ‘note’ while the image is generating that talks about the new model.
Here’s the new image model notes for reference.
You can remove this line on the lists panel:
meta:import
from = {import:cnny-stv1}
Yes, you might be able to just remove the non-existing import and it might fix the generator.
Well, one of the imported generators no longer exist.
Sadly, only those two were coded on the t2i-framework-plugin
. If you want to add custom ones, you need to modify or create a fork of the t2i-framework-plugin-v2
.
I’ve changed the .closest(':has(iframe')
to another code, can you try if that works?
I’m not sure if the problem is with the create-media-gallery-plugin
or the t2i-framework-plugin-v2
on the ai-text-to-image-generator
page. I’m on Edge, latest version (also tested on Firefox, Chrome) on Windows and it seems to work.
The image you linked is still the ‘public’ gallery of the text-to-image-plugin
, just that you are using a different gallery location. The new private gallery is fully private as it saves the info locally and doesn’t send it to the server.
The new send to private gallery is beside the ‘persona’ button on the ai-text-to-image-generator
and the button to open it is on the bottom middle of the screen. The buttons have the 🛡️ emoji.
On the page that I linked second, which wraps the text-to-image-plugin
with the buttons for the private gallery, shows the following on Firefox:
Where the ‘Show’ will show the gallery and ‘Add to’ will add to the gallery.
Clicking the ‘Show’ should open something like this:
Then when you click ‘Add to’, an alert should popup:
Then when you click the ‘Show’ again, it would reflect the new added image to the private gallery.
On the two examples I made, I have also disabled the ‘public’ gallery with the hideGalleryButtons
setting of the text-to-image-plugin
which is why it doesn’t show:
It seems to be activated on ai-text-to-image-generator
. Here is a simple example of how to use it: https://perchance.org/create-media-gallery-plugin-example-with-t2i
Essentially you just want to select the iframe, then access the textToImagePluginOutput
property of that element to get the inputs, turn the image into a blob, then use the function to save it on the gallery.
EDIT Here is a
text-to-image-plugin
which has acreate-media-gallery-plugin
wrapper on the generated images - https://perchance.org/t2i-with-create-media-gallery that you can substitute to thetext-to-image-plugin
import,
There is a new private gallery option (on t2i-framework-plugin
based generators e.g. ai-character-generator
) that saves the image and image inputs on your device directly and doesn’t save it to server if you don’t need to share it publicly and just want to save the image.
How many tries have you done after the network failure
error? Sometimes it adds it after the second try of sending to the gallery.
Can you explain what you are trying to do with the dynamic-import-plugin
?
You can use JavaScript array methods for that.
Fruit
apple
text = a red fruit
pear
text = a green fruit
output
[Fruit.selectAll.map(fruit => fruit.text).join(", ")]
Fruit.selectAll
will create an array of all the items in the Fruit
list, you can also use .selectMany(...)
or .selectUnique(...)
to create an array of items..map(fruit => fruit.text)
will essentially transform the array to have the text
property of the fruit
as the elements, instead of the fruit
themselves..join(", ")
would join the items into a single string with ,
as the delimiterI forgot to enclose the value=${this[a]}
with quotations, so that is one problem. You can remove the value
of the option if you are using the value to access back the list like so:
$output = [this.selectAll.map(a => a.getName).filter(a => gender.includes('♀️') ? !a.includes('♂️') : !a.includes('♀️')).map(a => `<option>${a}</option>`).join('')]
So that clothingTop
will return the list name e.g. Dress♀️
, then using it with [clothingList[clothingGroup][clothingTop]]
should return the item below it i.e. evening dress with deep neckline
.
Setting the value to this[a]
would have the value of the option set directly to evening dress with deep neckline
and not Dress♀️
so [clothingList[clothingGroup][clothingTop]]
would not work, but you can access the value directly with clothingTop
.
On my end, there doesn’t seem to be any problems? What method are you using, directly on the HTML, the $output
method, or both? If both, then there might be a problem.
Something like this worked:
clothingList.Top.selectAll.map(a => a.getName).filter(a => gender.includes('♀️') ? !a.includes('♂️') : !a.includes('♀️')).joinItems('<\option>')
.map(a => a.getName)
- returns the name of the item, and not the item under it, and not a list since .selectAll
returns an object and not a string.filter(a => gender.includes('♀️') ? !a.includes('♂️') : !a.includes('♀️')
- checks if the gender is female, if so, then filter out the items with ♂️ (!a.includes('♂️')
essentially says if the name doesn’t have♂️, then return it), else filter out items with ♀️Also I’d recommend using $output
on the list, so you just have to call clothingList.Top
like so:
clothingList // clothing top, bottom, footwear, headwear, accessories, color, pattern
Top
$output = [this.selectAll.map(a => a.getName).filter(a => gender.includes('♀️') ? !a.includes('♂️') : !a.includes('♀️')).map(a => `<option value=${this[a]}>${a}</option>`).join('')]
---
Any
None
Bikini top♀️
bikini top
Blouse♀️
blouse
Can you send the generator link?
For clothingTop.selectAll.filter(newlist =>newlist.tags.includes([gender]))
you don’t need to enclose gender
in a square bracket. Also, if the tags are a list. you might also need to .selectAll
to turn them into an array; if in text I think it should work.
What you could probably do to have the ‘any’ list to have equal odds with others would be to select all the items, get all the items that can be chosen, then get the number of that item e.g.:
// given that weaponrange = melee
weapon
1
Any
Magic Weapon
Challenge-Seeking Weapon^[weaponrange == "melee"]
Distance Weapon^[weaponrange == "ranged"]
Axe
[weapon[itemLevel].Any]^[weapon[itemLevel].Any.selectAll.filter(a => a.getOdds).length]
Heavyb
[weapon[itemLevel].Any]^[weapon[itemLevel].Any.selectAll.filter(a => a.getOdds).length]
// this would have an odds of 2 since Magic Weapon and Challenge-Seeking Weapon can be chosen, which would mean two out of three times this list should be chosen, so it is no longer 50/50 with the Bard's Songblade
Bard's Songblade
Is the new model recognize the seed from the old one?
Sadly, no.
Do you think that we will have the option to go back to the old one?
There is a lot of requests, but as of now, I don’t think so.
Thanks for the heads-up 💯
I don’t think so, no. Shortcut buttons only execute one command.