first commit

This commit is contained in:
benjamyn committed 2022-12-09 12:06:29 +11:00
commit 3eb875d123
2 files changed
+148

No files matched your search

+39
View File
@@ -0,0 +1,39 @@
stable-diffusion python module
docs - http://10.6.9.69:7860/docs
testing api - http://10.6.9.69:7860/sdapi/v1
Needs to implement a class called DiffuseAPI
The class needs be initialised with the following variables
- url - String
- nsfw_enabled - Boolean
- styles - List<Strings>
- steps - Integer
The class will need the following functions
- generate_image
- takes in a prompt and a negative_prompt (negative prompt will default to "")
- returns the base64 of the returned image or returns the error
- set_seed
- takes in an integer and updates the seed in the payload with the provided seed
- set_steps
- takes in an integer and updates the steps in the payload with the provided steps
- set_cfg_scale
- takes in an integer and updates the cfg_scale in the payload with the provided cfg_scale
- set_styles
- takes in a list of strings and updates the styles in the payload with the provided styles
- set_orientation
- take in one of three options [portrait, landscape, square] and set the width and height in the payload accordingly
- get_orientation
- return the current orientation and heigh + width
- set_nsfw_filter
- takes in a bool and updates the nsfw filter accordingly
- get_nsfw_filter
- returns the current state of the nsfw filter
- upscale_image
- takes in the image (in b64) and sends it to the upscale endpoint
- returns the upscaled image
+109
View File
@@ -0,0 +1,109 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [],
"source": [
"import requests\n",
"from IPython import display\n",
"from base64 import b64decode\n"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {},
"outputs": [],
"source": [
"payload = {\n",
" \"prompt\": \"view from behind web developer sitting in a chair, sfw\",\n",
" \"styles\": [\"default\"],\n",
" \"steps\": 28,\n",
" \"seed\": -1,\n",
" \"n_iter\": 1,\n",
" \"height\": 1024,\n",
" \"negative_prompts\": \"nsfw, not safe for work, nudity, multiple keyboards\",\n",
" \"cfg_scale\": 12\n",
"}\n",
"\n",
"settings = {\n",
" \"filter_nsfw\": False,\n",
" \"samples_save\": True,\n",
"}\n",
"\n",
"override_payload = {\n",
" \"override_settings\": settings\n",
"}\n",
"\n",
"payload.update(override_payload)\n",
"\n",
"# url = \"https://art.jurydoak.com/sdapi/v1\"\n",
"url = \"http://localhost:7860/sdapi/v1\""
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,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 truncated
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x = requests.post(f\"{url}/txt2img\", json=payload)\n",
"img_html = []\n",
"for i in x.json()['images']:\n",
" img_html.append(f'<img src=\"data:image/png;base64,{i}\" />')\n",
"\n",
"display.HTML(\"\\n\".join(img_html))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.10.8 64-bit",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.8"
},
"orig_nbformat": 4,
"vscode": {
"interpreter": {
"hash": "e7370f93d1d0cde622a1f8e1c04877d8463912d04d973331ad4851f04de6915a"
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}