wthit56

joined 9 months ago
[–] [email protected] 1 points 2 months ago

Yeah if you're setting it in the prompt, that overrides whatever other settings there are.

[–] [email protected] 1 points 2 months ago (1 children)

Your post is not formatted how you wanted it to be. Maybe use a code block around your code so we can read it easier.

[–] [email protected] 2 points 2 months ago (1 children)

Yeah just export it, download that file, and load it on your other device. When you "share" the file is put on the server and anyone with the link can import/see that file, basically. So it'll be more private to just download the file and use it yourself.

[–] [email protected] 1 points 3 months ago

Try using "character turnaround" or other similar terms for that kind of layout.

I just tried using this prompt, and got stuff that look something like what you're after: head to toe character design, character turnaround, front back side plain background BREAK background grey

So don't think that you are describing an image, it is imagining an image based on your description, and then drawing that image. That's not what is going on at all.

AI isn't being dumb or obstinate. AI is not thinking. It has no brain. It has seen lots of images, with text associated with them. It's compared them and noticed patterns associated with a particular term. When you put terms into the prompt, it is lining up those patterns and using them to form an image. AI is not smart, it is not feeling cooperative or unhelpful. So thinking of it in that way is not useful. It actually is dumb.

It's job, in its dumb way, is to trick people into thinking it's an image made by a real person. That's all.

[–] [email protected] 1 points 3 months ago (3 children)

No, generators usually only store things locally, unless you click a button to "share" it or things like that.

[–] [email protected] 1 points 3 months ago

I'm not sure what you're referring to. I've never seen code just be added without my typing it or asking it to write it.

[–] [email protected] 1 points 3 months ago

Sounds like just a plain ol' AI chatbot would be fine for that. As opposed to a preprogrammed thing that has pre-set aspects of the world it will generate. I do have a simple AI chatbot page you could try using: https://perchance.org/quick-chat

(It doesn't save your chats, but does have an export feature explained before you start chatting.)

[–] [email protected] 1 points 3 months ago

Just so you know... all perchance image generator pages use the same image generator. They just add different text to the prompts, as "styles." But you can get any of the results from any of the generators on any of the other generators--because they all use the same back-end to actually generate the images.

[–] [email protected] 2 points 3 months ago

Honestly, as someone who knows a good bit about AI generation on perchance... I have no idea how I would see anyone's IP address that uses the plugin on any of my generators, or prompts, or results. Unless the user chooses to upload a generation to the generator's gallery--which would allow anyone to see the prompt and generated image. (But I don't know how you'd get an IP address from that even then.)

I assume that the server itself has the ability to see such things. But not me as the creator of the generator page. Not from the AI plugins anyway.

As the dev said, in theory the creator of the page could use JS to read such things potentially, if they specifically wrote code to do that. But as it's not something built in the perchance-made AI generator plugins, this is more of a thing to handle on a case-by-case basis. As in, tell that generator's creator that they're gathering data on their users and ask them to stop it. Or go and use a different generator page which doesn't do that.

[–] [email protected] 2 points 3 months ago

I see. So really, it's just private code only you can see/edit from your account, something like that. Everything runs in the browser, is the thing. Which means it will be accessible through the dev console one way or another. I'm not sure it will be possible to actually have something secure and truly hidden like this. But I guess it won't be plain text in the code editor.

[–] [email protected] 1 points 3 months ago (2 children)

What would that mean in the context of perchance?

[–] [email protected] 2 points 3 months ago (1 children)

You should probably say what happens when you try to import.

1
submitted 3 months ago* (last edited 3 months ago) by [email protected] to c/[email protected]
 

https://perchance.org/46iutpmh9i#edit

The examples in the above generator page demonstrate the issue.

If in the HTML there's an onclick that updates itself and calls stopPropagation, it will update itself and stop propagation.

It seems if the HTML of the element in question was generated and injected by a [square block], then stopPropagation prevents the update from happening somehow?

...Actually, perhaps no updates work at all, if generated from a square block?! Wait, is this actually to do with the idea that it wasn't in the HTML from the start, so it doesn't think there was anything in that element to update?

 

Example: https://perchance.org/3o1sbun1w3#edit

Seems like what's returned at the end of the square brackets is somehow added, instead of setting what replaces the square brackets. Potentially, it's cleared, then the square brackets are processed, then the result of the square brackets is added?

 

Quite, quite odd. They work fine when used within the page. Just not when imported to another page. Quite frustrating to try to work around, and then find that even the fixes don't work when actually imported elsewhere.

Potentially some subtle bug with the proxies?

 

It should be untouched text. Only in JS does \t etc. are escaped. So \t becomes a tab character instead of just the text \t.

As seen here: https://perchance.org/slash-t-in-textarea-43534#edit

 

The <dialog> tag has a built-in backdrop that you can style to hide the page, etc. But that seems to not work on perchance for some reason. Any idea on how to get this to work, and what is blocking the functionality?

 

For example...

The creator of ai-furry-generator was frustrated by their generator now being shown on the page. It has this in the description: "whiteboard drawing with tldraw—powered by Stable Diffusion." Which is fine. (This is what https://lemmy.world/post/23131988 is about.)

But it matches the bad regex /white.*power/i

For now I've told them what to change so it'll show up again. But ideally, it wouldn't match something innocuous like this. Maybe check for only whitespace and dashes, or non-letters, something like that? I mean, some things are going to slip through either way--but personally I'd err on the side of letting good people have good things, rather than taking good things away from good people in case they're bad based on a too-inclusive regex. ;p

Might also be a good idea to console.log every generator that was skipped for showing on the page, with the reason why. So that there's an easy way to see the cause and fix it if it's an invalid match. Or ask the dev to fix that check so it's more correct... without needing to figure out the code itself.

3
submitted 4 months ago* (last edited 4 months ago) by [email protected] to c/[email protected]
 

(By the way this is wthit56. I changed my name to my usual online name, and the one I use in discord.)

https://perchance.org/json-stream-plugin

I've completed work on a plugin to help people make more complex things with AI text.

As always, the plugin page includes full documentation and example code. And I've also made a simple template setup you can use to get started.


Recently, I started playing with AI text--not the AI chat etc. but the plugin itself. I used my AI text demo to try different prompts, experiment with what's possible, etc.

I wanted to do things like have it generate more complex, structured output. Even if it's quite simple, any kind of structure is a bit of a struggle to convince it to generate. And if you do get it to generate the format you wanted, you've still got to parse it anyway to get the separate generated values out. The more structure, the harder it is to handle--especially for the average generator creator on perchance.

It's quite hard to get it to stick to a format you describe--because it's not seen many examples of that format. Unless you use a format it has seen before. I chose JSON, as I'm most familiar with it. Telling it to produce proper/valid JSON works pretty well. And showing it a JSON structure usually gets it to stick to it properly.

And you can have as complex a structure as you need fairly easily.

The next step was, creating a plugin/function that could handle that JSON coming out of the text AI, give you updates as it's built, and easy to use/access values of the generated JSON... to then use to show the user, hide different things, display in different ways any part of the JSON that's been generated.

This plugin took a while to put together. Perhaps there are bugs with it--just let me know. But it's very easy to use, with a number of features that make common uses like creating more HTML ready to take generated values and so on very easy to build out.


If you have ideas this plugin could be used for, I'd love to hear them in the comments of this post. And feel free to ask questions, or put forward ideas for new features you think could benefit people.

 

A button in the top toolbar that adds the generator to your "favourites" list. List is shown in a dropdown, or as icons in the topbar, or on a particular page, etc.

Could be used to collate a "most favourited generators" page.

 

Currently, as far as I've figured out, in the HTML we can have {import:...} and it will be accessed. So we can use that to actually run code immediately. Using it this way means it won't be included in the lists for when it's imported into other generators, but we can still use it in that specific page.

But we can't use {import:...}.property or {import:...}(args).

In the lists, we can have imported={import:...} and it will load in but not be accessed. To trigger the access, we have to use [imported] someplace that is accessed--in the HTML, or perhaps $output depending on the situation, something like that. Which is counter-intuitive, as the code we're writing to import it in the first place is literally an assignment (by how it looks at least).

But if it's in the list at all, it's now part of the dependencies included when importing it into another generator. Which, if we're only importing it into the list to be able to call in the HTML, is not explicitly intended by the creator. As this kind of assignment doesn't actually access the imported thing, at least it's not going to actively do anything. But ideally it just would not be required.

On the other hand, it would be useful to be able to simply say {import:...} and have it import, even without a name to store it under. It's clear what the creator wants, from that code. And it works exactly as expected in the HTML panel. On the other-other hand there's no way to call an imported function or access an imported property from just the HTML so it needs to be part of the dependencies of the plugin itself.

If my plugins were actually used by anyone (LOL) this would have been a pretty big issue when I recently made a typo (and got stuck being unable to fix it for a time) in a not-required-at-all import that had to be there purely for the plugin's page to use.

If I could've just imported it and used it all within the HTML panel, it wouldn't have been so urgent, because the error would not have affected any users of the plugin--only my own page presenting it.

The main thing here is, they work differently--seemingly (from the outside from an average creator's point of view) for no real reason. So learning how import works correctly is made more difficult. And learning how it works just for lists or just for HTML is easy... but of course trying to use that knowledge in the other panel leads to confusion and frustration because actually there are different unforeseeable rules there.

Could well be that for backwards-compatibility some of this could not be changed. But perhaps things could be expanded to allow for more features to be cross-compatible, and more expected/very common features to "just work."

view more: next ›