No description
Find a file
Victor Seiji Hariki c0bc689c97
Update README.md
2023-01-04 21:59:51 -03:00
.devtools Update README.md 2023-01-04 21:59:51 -03:00
.githooks updates pre-commit to call .ps1 file instead, prevents updatehashes from looking in node_modules lol, updates hashes so git actions doesn't have to? 2023-01-02 19:38:37 -06:00
.github request additional useful info in bug reports 2022-12-29 18:48:30 -06:00
css some space-saving measures for checkboxes 2023-01-02 21:12:18 -03:00
docs Fixed resource hashes 2023-01-03 02:20:37 +00:00
js seems I broke redo 2023-01-04 21:52:45 -03:00
pages add favicon to pages directory... for some reason? 2023-01-04 18:33:46 -03:00
res Merge branch 'main' into compact-checkboxes 2023-01-02 22:07:43 -06:00
.gitattributes Add some git attributes to avoid using CRLF on Win 2023-01-02 00:37:00 -03:00
.gitignore Add some simple messaging for parent interaction 2022-12-19 09:30:39 -03:00
.prettierrc.json version bump, prettierr.json update (sorry), ran it against index.html 2022-11-23 18:45:29 -06:00
CONTRIBUTING.md update CONTRIBUTING to add commit hook setup info 2022-12-28 23:39:47 -03:00
favicon.ico jeez fine favicon.ico so you'll stop cramming errors in my console already 2022-11-15 23:38:12 -06:00
index.html seems I broke redo 2023-01-04 21:52:45 -03:00
LICENSE update license 2022-11-22 02:04:05 -06:00
openOutpaint.bat should no longer fail on ipv6 enabled systems 2022-12-11 08:30:59 -03:00
openOutpaint.sh pull requests!!! <3 thanks everyone! 2022-11-16 16:52:11 -06:00
README.md update readme 2023-01-03 20:09:29 -06:00

hello there 🐠

openOutpaint creating some undersea... well, stuff

silly demo example current as of 9b174d6 / v0.0.8 / 2022-12-03 //TODO UPDATE SRSLY

this is a completely vanilla javascript and html canvas outpainting convenience doodad built for the API optionally exposed by AUTOMATIC1111's stable diffusion webUI, operating similarly to a few others that are probably more well-known. this simply offers an alternative for my following vain desires:

  • avoiding the overhead of an additional virtual python environment or impacting a pre-existing one
  • operates against the API exposed by A1111's webUI
  • no external dependencies, extremely boring vanilla
  • no external connectivity, self-hosted and offline
  • unobfuscated (cough cough)
  • i am terrible at javascript and should probably correct that
  • i have never used html canvas for anything before and should try it out

features

  • now available as an extension for webUI! you can find it under the default "available" section in the webUI extensions tab
    • NOTE: extension still requires --api flag in webui-user launch script
  • intuitive, convenient outpainting - that's like the whole point right
  • queueable, cancelable dreams - just start a'clickin' all over the place
  • arbitrary dream reticle size - draw the rectangle of your dreams
  • an effectively infinite, resizable, scalable canvas for you to paint all over
    • NOTE: v0.0.10 introduces a new "camera control" modifier key - hold [CTRL] and use the scrollwheel to zoom (scroll the wheel or use the two-finger vertical gesture on, uh, modern touchpads) and pan (hold the scrollwheel button, or if you don't have one, left-click button) around the canvas
  • a very nicely functional and familiar layer system
  • inpainting/touchup mask brush
  • prompt history panel
  • optional (visibly) inverted mask mode - red masks get mutated, blue masks stay the same, but you can't take both pills at once
  • inpainting color brush to bring out your inner vincent van bob ross
  • dedicated img2img tool with optional border masking for enhanced output coherence with existing subject matter
  • marquee select tool to select regions and arbitrarily scale, create stamps, move chunks, peek at lower layers, do all sorts of damage
  • optionally decoupled cursor size and output resolution
  • interrogate tool
  • floating control panel to easily change models/samplers/steps/prompts/CFG/etc options for each dream summoned from the latent void (NOTE: model switching requires A1111 webUI to be on commit 5a6387e or more recent)
  • floating toolbox with handy keyboard shortcuts
  • optional grid snapping for precision
  • optional hi-res fix for blank/txt2img dreams
    • NOTE: as of v0.0.12.5/webUI commit ef27a18, HRfix has been COMPLETELY reworked and no longer works even remotely the same and webUI would actively use the newly "invalid" firstpass sizes as the desired output resolution after yelling about them being invalid, thus openOutpaint's implementation is no longer compatible with versions of A1111 predating that. You will be alerted to the outdated webUI and the HRfix option will become disabled in this event.
  • optional overmasking for potentially better seams between outpaints - set overmask px value to 0 to disable the feature
  • import arbitrary images and scale/stamp on the canvas whenever, wherever you'd like
  • upscaler support for final output images
  • saves your preferences/imported images to browser localstorage for maximum convenience
  • reset to defaults button to unsave your preferences if things go squirrely
  • floating navigable undo/redo palette with ctrl+z/y keyboard shortcuts for additional maximum convenience and desquirreliness
  • optional generate-ahead function to keep crankin' out the dreams while you look through the ones that already exist
  • all this and much more for the low, low price of simply already owning an expensive GPU!

operation

prerequisities

you'll obviously need A1111's webUI installed before you can use this, thus you're presumed to have an operational python install up and running to boot.

A1111 webUI must be launched with the --api flag enabled, and the --cors-allow-origins= flag set with the host where openOutpaint will be running.

NOTE: the commandline flag --gradio-debug disables custom API routes and completely breaks openOutpaint. please remove it from your COMMANDLINE_ARGS before running openOutpaint.

surprising incompatibilities

If anything goes wrong with openOutpaint, try running it on another browser and disable all extensions and try again. If a new incompatible extension is found, please open an issue so we can notify other users of extension incompatibilities.

quickstart speedrun

  1. edit your cors-allow-origins to include https://zero01101.github.io and run webUI
  2. go to https://zero01101.github.io/openOutpaint/ and fill in the host value with your webUI API address
  3. click things and do stuff

step-by-step actually useful instructions

please see the quickstart wiki article and comprehensive manual.

pull requests/bug reports

please do! see contributing for details!

warranty

lmao