Spyke

Replies

Comment on

Generators Making CP........Just NO!

It shouldn't be possible to make CSAM on Perchance, even if generator authors have combinations of dropdowns which combine age keywords with NSFW keywords. If there are combinations of keywords that produce CSAM, then that's a bug with the text-to-image-plugin that should be reported (you can DM me here). Reporting generators that are clearly designed to generate CSAM is helpful, but less so - it's more whack-a-mole, rather than solving the underlying issue.

If your concern is that people are generating non-CSAM pictures of children, and are possibly being sexually gratified by them (e.g. child beauty pageant pictures or similar), then it's quite hard to prevent that at the text-to-image-plugin level, since it's about the mind of the observer rather than the image itself. There's a surprisingly long tail of things in this category that even extend to semi-nude children in non-sexual situations - e.g. cherubs / renaissance paintings, tribal settings, swimsuits, and even semi-nude children with semi-nude adults in the same picture - e.g. breastfeeding, childbirth.

That said, there is certainly still a lot of room for improvement on the current CSAM-prevention system. Taking it to the next level is unfortunately more like a research project (mainly becasue of how cheap I need to run it) than simply flipping a "enable stronger CSAM filtering" switch, so I don't have a clear ETA at this point, but in the meantime it's helpful if people can report loopholes in the current system.

Comment on

Is Perchance going through another wave of doxxing/IP leaking?

For any website on the internet (not specific to perchance):

  • If you're not using a VPN, then your IP is visible to any webpage you visit. From your IP, the author of the page can guess at your country/state/region (definitely not street address or anything close to that, to be clear).
  • If you are using a reputable VPN, and you've got their browser extension installed, then it shouldn't be possible for anyone to see your IP, regardless of whether WebRTC is being used on the page (via peerjs or any other multiplayer/peer-to-peer type frameworks). For example, I know that the NordVPN browser extension enables WebRTC leak protection by default.
  • A side note just to clarify: peerjs is not a malicious script - it's used all over the internet for multiplayer games, video conferencing, and that type of thing.

TL;DR: If you want to hide your IP, you need to use a reputable VPN like NordVPN, and make sure you've got their browser extension installed. This applies to any website on the internet, not just perchance, to be clear.

Comment on

Question about website moderation

Perchance does have IP-based abuse detection/mitigation in place for some aspects of the site, but it's not as easy as you might think, because some IPs are shared by hundreds of people (e.g. some university campuses), and others may even be shared by thousands of people (e.g. browser VPNs).

The proper solution here is to just make the moderation system bullet proof, so it's not possible to generate illegal content in the first place. I've temporarily paused work on text gen upgrade for a few days, and have been working on this today actually.

There's no simple fix, so all the issues won't go away over night, but it will iteratively improve over the next few weeks/months as I make improvements, catch edge cases, etc. Same with trolls on the comments plugin.

Note: If perchance were a big company with lots of revenue then this would be easy. There is no company, no subscription revenue, no plural developers - it's just one person running this whole site. So please keep that in mind when comparing perchance to other websites/companies who might be able to fix issues faster by throwing a few spare devs at it, or spend more money on a smarter AI model for the moderation system, etc. I will fix all this - it'll just take me a bit longer than it would for a company.

Comment on

Perchance ai img feels too out of date now

Yeah imo images have been pretty bad and out of date for like 1.5+ years now :') Everyone please leave perchance - it's embarrassing for me at this point.

Still working on getting the new model cheap enough to be free+unlimited, which I already knew would be the hard part, but it's still harder than I expected. The model is 10x larger, so need literally an order of magnitude of optimizations. If everything goes right (which it won't), the upgrade is a few weeks away(tm). Then text model upgrade.

Also, apologies @[email protected] and anyone else who had/has their gen incorrectly marked with "Content Warning" / age verification checkbox. Still lots of false positives due to ai based detection and bugs. For now, you might be able to move lists/things that are triggering false positives to another generator and import them. This stuff is needed due to ad network requirements. Mo website traffic, mo problems.

Comment on

Under the hood of image generator

Yep SD 1.5, and you should be able to replicate the text-to-image-plugin's results locally by just following vanilla tutorials on /r/stablediffusion or youtube with pretty much any of the top models on civitai - I'm not doing anything special. Your local results will actually end up be better than the plugin's because I have a stupid amount of regex and stuff trying (and somewhat failing) to prevent the model from creating oversexualised stuff for benign prompts, and that almost always comes at a cost of quality/coherence. I'm not the best person to ask about troubleshooting local setups, but I'd just advise that you follow a tutorial/guide exactly to start with, and then once you've replicated what they've shown, you start exploring your own prompts, tweaking parameters, etc.

Comment on

Perchance took my character without permission or credit.

Fair, sorry. I've taken it down. You mentioned in a comment in this thread that you'd be okay with me keeping it there if I added credit, which is nice of you. I think your profile (and your original nsfw version of this character) is probably too nsfw to link to unfortunately. A lot of the character cards and character card sites seem to be very heavy on the nsfw content.

I should probably create all the example characters from scratch with some help from Claude or R1. Some of them have already been almost completely rewritten and have different pics, but even then the original creator still deserves credit for the core idea.

(That said, I'll probably attempt to selfishly put off a re-write of the examples for now because at some point in the hopefully-very-near future I'll finish creating the "database plugin", and at that point the work to redo the examples would be wasted because the examples will be removed in favor of a community-contributed database of characters, implemented using that plugin.)

Comment on

Perchance changes Katherine to Katrice or C Katherine

The current text generation model is quite bad in a lot of different ways that are unfortunately hard to fix. If you're talking about perchance.org/ai-character-chat then you could use custom code to do a replacement - you'd paste this in the custom code box in the character editor (click "show more" and scroll down):

oc.thread.on("MessageAdded", function({message}) {
  message.content = message.content.replaceAll("Katrice", "Katherine");
});

Alternatively, you could grit your teeth and bear it for another few months until I upgrade the text gen model - the new model will be a lot smarter and have fewer weird idiosyncrasies like this. Currently I'm finalizing the big image generation model upgrade, and working on a multiplayer plugin, and then next on the list is the text gen upgrade. Ideally I'll finish upgrading the text gen model some time during April.

Comment on

Inappropriate Chatroom

I'm assuming that you're talking about this as a non-generator-author. If you are an author you can ban people (see comments plugin page).

If you are not the author of the generator, it should ideally only take a few people in the chat to report them and they'll be banned (for an amount of time that depends on severity, 'recidivism', etc.).

That said, improving the comments plugin moderation system is pretty high on my todo list. Probably not in the next few weeks, but ideally within the next couple of months. I think it can be significantly improved by rewriting some of the core detection logic and upgrading the AI model that it uses.

Comment on

[Bug] invisible user cannot be unbanned

Sorry about that - fixed. It was a false positive in the moderation system, and I've tweaked things to reduce the chance of this type of issue coming up again. Also thanks for the tip on the unban bug in the other thread - that should be fixed now (let me know if not ofc).

And thanks for the prompt length cutoff issue in reproduction in the other thread. That should be fixed tomorrow. Hopefully prompt weights too. But probably not negative prompts - I'm still trying to fix that. The "CFG burn" issues and related tendency to push stuff towards cartoon/anime won't be solved immediately either, but I am working on it.

Comment on

Change the order of popup overlays?

Reply in thread

If you change this:

<div id="popup1" class="overlay">

to this:

<div id="popup1" class="overlay" style=" z-index: 999;">

That should fix the popup/overlay issue.

And for the images not loading I think that's due to this: [mol=moles.consumableList, moles_select] since moles_select is a bunch of URLs on a single line which I don't think the image-layer-combiner-plugin supports. If you want a random number of moles then one way would be to ask an AI "Please make a javascript function called convertArrayOfImagesToSingleImage which takes an array of URLs and overlay them on a canvas so they turn them into a single layered PNG and return a PNG data URL" and then you'd use it like this or similar:

[mol=moles.consumableList, convertArrayOfImagesToSingleImage(moles_select.evaluateItem.split(" "))]

Edit: Actually tell the AI to implement convertArrayOfImagesToSingleImage by embedding the PNGs inside an SVG and return the data URL for the SVG. That way you don't have to deal with async stuff. Something like this might work:

function convertArrayOfImagesToSingleImage(pngUrls, width=1024, height=1024) {
  const images = pngUrls.map(url => `<image href="${url}" width="${width}" height="${height}" />`).join("\n  ");
  const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="${width}" height="${height}">${images}</svg>`;
  return "data:image/svg+xml;charset=utf-8," + encodeURIComponent(svg);
}

Comment on

Too much AI

The /generators page criticism is fair. I'd like to add some sorting/filtering options.

I'm not convinced by:

But now that the AI has been added as an actual part of the generator creation process [...] The fact that Perchance is forcing all this AI on us

You can turn off all the AI features (bug checker, autocomplete, ai helper). If you can't disable them, then that's a bug. If the ability to disable is not enough, and you instead want me to permanently prevent everyone else from using the AI editing features, then no, I'm not going to do that. I don't think this is a good suggestion.

An aside, to be clear: I don't care about the aesthetics or tribal noise-making around use of AI tools. I do care about making a platform that makes it easier for newbies to start creating fun/interesting/useful things (even if they're basic/slop/boring to more experience devs). So if your problem is the use of AI itself in creating generators, then you should expect things to get worse from here on out, so it might save you some pain to just bite the bullet and make it a "goodbye forever".[1] If your concern is the quality of generators on the /generators page, or the quality of the AI helper/autocomplete outputs, then these are both temporary issues.

[1] I have on my todo list a guide for 'migrating off perchance', but it's not exactly near the top. @[email protected] is probably already busy enough, but pinging in case they can or have already written a guide on this, or somewhat related (e.g. perhaps glitch.com intro). There are also some alternative random generator sites to look into listed on the /welcome page. If anyone knows of a new/unlisted one, I'm happy to add a link there.

Comment on

AI chat privacy question

Prompts and responses are not stored - i.e. once the server sends back the response, the text you sent and the generated response text should exist on your computer only. However note that, as @[email protected] says, it is a bad idea to put sensitive personal info (i.e. more than perhaps your first name) into any online service like this, even if you fully trust the person/company running it and they've assured you that it's 100% private.

If you want to run AI text models ("LLMs") completely privately, this is probably the best place right now to learn more: https://www.reddit.com/r/LocalLLaMA

You can stop reading now if the point is taken, but if not, here is (what accidentally became) a wall of text to scare you:

  • I recently realised that if there happens to be an error during inference, then the server "leaks" the prompt into the (temporary) server logs (this was actually fixed a few hours ago: https://github.com/huggingface/text-generation-inference/releases/tag/v1.2.0 ). This particular issue is basically harmless because the server logs themselves obviously aren't public, and they're not saved to a persistent drive, but it gives you an idea of the sort of thing that can occur even if you fully trust the provider and they're acting benevolently.
  • If there's a bug where e.g. someone's requests are bringing down the server (e.g. tokenizer issue and stop sequence stuff have caused problems in the past) either accidentally or maliciously, investigating it often requires temporarily logging of the problematic requests. It's impossible for a provider to claim with 100% certainty that your data will never be seen by a human. This is just the nature of building a complex platform, debugging it, fending off malicious users, etc.
  • If you're using a generator on Perchance that someone else made (i.e. not one that you have coded yourself), then note that generator authors can code up arbitrary interfaces with arbitrary logic, so they could send your inputs off to their own server. This is of course the same as any other page on the internet that accepts user input, although Perchance does have the slight advantage that all generators have publicly-viewable and non-obfuscated code (via the edit button in the top-right of the page), so it's not as simple for a coder on Perchance to get away with this, especially if the generator has become decently popular - someone would notice. Either way, you're running some random person's code - by default you should assume it is unfriendly. EDIT: I added the ability to prevent a generator from accessing external resources:
  • Services can get hacked, and the more popular they become, the bigger the target painted on them. If a service has user accounts associated with the user chat data then if someone gets access to the database, they have a list of emails (or phone numbers, or whatever), with all the associated user data. All the benevolence in the world won't make you immune from this. To be clear, Perchance does not associate user accounts with AI plugin requests - Perchance accounts are purely for people who want to build generators on Perchance - i.e. the only data that's associated with a Perchance user account is the generators/pages that they've created. All requests to the AI plugin servers are anonymous, regardless of whether you're logged in or not. But if you embed your personal info within those AI requests (i.e. in the text prompt) then nothing can save you, since a compromised server would mean the attacker could see all the data flowing through the server - i.e. prompts that include your sensitive personal info.

TL;DR: You should limit the personal info that you put into web pages/apps on the internet, regardless of any assurances given, even if you trust the dev/company. Swap out personal info for fake stuff, and if that's not possible, then it's time to save up for a second-hand RTX 3090.


While I'm here, @[email protected], IIRC someone asked a similar question (here or maybe on the /hub) about the text-to-image-plugin and I think you answered it, but just to be clear, the answer is the same as above: Images are only stored if they save it to the gallery, otherwise it's gone forever. I'll link this comment on both the image and text AI plugins.


Some minor notes:

  • The (currently undocumented) responseObj.submitUserRating feature of the ai-text-plugin allows users to rate a response to help improve the AI. If you submit a rating on a generator that uses this feature (like the thumbs up/down on perchance.org/ai-chat), then the response that you're rating is temporarily stored as part of a scoring process to determine which of several "candidate variations" of an LLM is best (varying settings, model, etc.). The generator author should make it clear that ratings should not be submitted for text that contains personal data - I may make the plugin automatically show an informational message about this in a future update.
  • Some aggregate statistics are collected about prompts that are flowing through the manager server - e.g. I started collecting the ratio of PG-13 vs not on the image generation server so that I'd know if I accidentally broke my detection algorithm (such that e.g. it was flagging everything as nsfw, which happened once due to a regex error). Nothing in these aggregate statistics is even remotely private/personal. Just extremely high-level numerical statistics aggregated from literally millions of requests.
  • There's also a script which tracks how many requests each IP has made in the past 2 days, which allows me to do rate limiting, and track abusive IPs. Again, prompts are not stored so there's no association between IPs and prompts - it's literally just a counter that says this IP made this many requests, and it's cleared every 2 days.
  • As you probably know, the AI plugin servers are funded by ads. Perchance in general doesn't have any ads, and has always been completely free, but the AI plugins are way too expensive to fund out of my own bank account. So if you're not logged in, you'll see ads on generators that use AI plugins. I figured it's worth mentioning here that unlike basically every other ad-funded site on the internet, Perchance does not trust ads. Perchance has a sand-boxed separation between the actual generator/page contents (which live in a "iframe" - it's basically like a separate browser tab embedded within the page), and the place where ad code runs -- so ads cannot look at your chat/text/image/etc. data in order to guess at more relevant ads. Perchance uses a very reputable advertising company (same one used by Reuters and Aljazeera and several other large companies) so the likelihood of shady ad tech is already extremely low, but there's no need for any trust here, thanks to the sand-boxing that Perchance has. So, in terms of showing you more relevant ads, all they can possibly see is the URL of the page that you're on. That's the only thing that's exposed to ad serving algorithms by visiting a Perchance page, no matter how much information you input into a Perchance generator/page.

Comment on

FIXED - political prompt working again

It was an age-detection regex bug (oney in money, if you're curious - and I guess fishnet or something triggered nsfw). Should be fixed now - thank you. As mentioned to others in my DMs, fixing the filtering is very high on my todo list. The new model seems to be able to reliably produce images which bypass the old filtering system. I'll hopefully start on it today or tomorrow, but it will likely take several days to complete, and may require iterative tweaking over the next few weeks/months to reduce false positives/negatives.

To be very clear: Political stuff has always been and will always be allowed on perchance. If you notice any other issues like this, please report and I'll fix. But hopefully the filtering system overhaul will fix a lot of the current issues, and require less hacky/bug-prone stuff like regex-based detection. Current system is a pretty messy "defense-in-depth" type approach.

Comment on

Disallowed content on lore book?

This sounds like a false positive in the upload plugin sorry - it should not block NSFW - only illegal/virus/etc. If you're able to share via DM then I should be able to tweak the filter to fix it. You could also try randomly chopping out various parts of it to see if it'll upload without those parts, and then if you could let me know the specific words/phrases that are triggering it, that would be great.

Comment on

Why does my generator not work on IPhone?

@[email protected] @[email protected] Thanks for reporting! This was indeed due to a Safari bug. The WebKit/Safari team fixed it a couple of months ago, but likely hasn't reached all Safari users yet:

Fixed block-level function declarations to have correct scope in global code and aligned the detection of hoistable block-level legacy function declarations with the spec. (113880075)

https://webkit.org/blog/15063/webkit-features-in-safari-17-4/

This bug has actually existed for years - I submitted a WebKit bug report several years ago, and I could have sworn I added a workaround to fix it on Perchance, but apparently not! A bunch of people probably won't be able to upgrade to 17.4 since Apple's Safari software updates are pretty strongly tied to hardware versions (which is really stupid ✨), so I've just added a bandaid fix for the older Safari versions. Let me know if there are any other issues, and thanks again!

[Begin tangential rant] Safari requires a lot of bandaids, and I'd honestly rather just tell people to move to Chrome/Firefox/Edge, but Apple prevents other browser engines from being installed on iOS (Chrome iOS is just a "skinned" Safari browser, for example), though that is changing in the EU: https://www.theverge.com/2024/1/25/24050478/apple-ios-17-4-browser-engines-eu because it's being deemed a way in which Apple actively prevents non-Apple platforms from becoming dominant (i.e. to keep people in their App Store and away from open platforms like the web). And other countries might soon follow suit: https://open-web-advocacy.org/blog/us-doj-files-apple-antitrust-case/ which might mean the end of Apple holding the web back by forcing a huge percentage of the world population to use a buggy browser that drags its feet on cool new stuff (e.g. WebUSB, WebGPU, etc.). Exciting times ahead for the web platform I think. [end of rant, apologies :]

Comment on

Trying to use a generated image elsewhere(Solved)

Reply in thread

I think these examples are what you're looking for?

Also, the iframe has a property iframe.textToImagePluginOutput which is added after the generation is finished, and you can use that to access the image either as a HTML5 canvas or as a Data URL:

iframe.textToImagePluginOutput.canvas
iframe.textToImagePluginOutput.dataUrl

Comment on

Idea suggestion

The best way to help pay for the AI plugins is actually to start playing around and building cool/fun things with them. And of course sharing those things with fandoms/communities/etc. that would likely find them useful.

Some people create an account just to not see ads, which is fine, but it does add a little burden. Luckily there are a bunch of perchance builders who are creating cool stuff using the AI plugins and sharing that stuff with the 'outside' world -- they are the ones that make the AI plugin 'economics' work. Without them, all the people who using the GPU resources would be (mostly logged-in) Perchance users, and so there'd be no ad views to fund the AI plugins.

But don't stress if you aren't a builder (yet!). Ads don't fully cover the cost of AI plugins still, but it's manageable because I have personal income to help pay, and GPU cloud prices will eventually come down (in terms of perf/$), so at this point I'm not concerned at all about financial sustainability of the AI plugins.