From 26b5eefe503bcc2afeeea1446146e9694f5bfc0f Mon Sep 17 00:00:00 2001 From: Alon Burg Date: Wed, 14 Feb 2024 15:57:22 +0200 Subject: [PATCH] Deploy website - based on 8ac21fedd3719ce1435c7cd9d5644479604ebc1b --- 404.html | 4 ++-- assets/js/{57d2d9a8.6eea4527.js => 57d2d9a8.7c46f6fd.js} | 2 +- assets/js/{d3225ce8.76d9d2f7.js => d3225ce8.157d3db0.js} | 2 +- .../{runtime~main.f81cff13.js => runtime~main.948342dc.js} | 2 +- blog/archive/index.html | 4 ++-- blog/first-blog-post/index.html | 4 ++-- blog/index.html | 4 ++-- blog/long-blog-post/index.html | 4 ++-- blog/mdx-blog-post/index.html | 4 ++-- blog/tags/docusaurus/index.html | 4 ++-- blog/tags/facebook/index.html | 4 ++-- blog/tags/hello/index.html | 4 ++-- blog/tags/hola/index.html | 4 ++-- blog/tags/index.html | 4 ++-- blog/welcome/index.html | 4 ++-- docs/api/overview/index.html | 4 ++-- docs/api/prompt/create/index.html | 4 ++-- docs/api/prompt/list/index.html | 4 ++-- docs/api/prompt/prompt/index.html | 4 ++-- docs/api/prompt/retrieve/index.html | 4 ++-- docs/api/sdxl-api/index.html | 4 ++-- docs/api/tune/create/index.html | 4 ++-- docs/api/tune/index.html | 4 ++-- docs/api/tune/list/index.html | 4 ++-- docs/api/tune/retrieve/index.html | 4 ++-- docs/category/api/index.html | 4 ++-- docs/category/features/index.html | 4 ++-- docs/category/prompts/index.html | 4 ++-- docs/category/tunes/index.html | 4 ++-- docs/category/use-cases/index.html | 4 ++-- docs/changes/index.html | 4 ++-- docs/features/face-inpainting/index.html | 4 ++-- docs/features/face-swap/index.html | 4 ++-- docs/features/faceid/index.html | 4 ++-- docs/features/lcm/index.html | 4 ++-- docs/features/loras/index.html | 4 ++-- docs/features/multi-pass-inference/index.html | 4 ++-- docs/features/multiperson/index.html | 4 ++-- docs/features/prompt-masking/index.html | 6 +++--- docs/features/tiled-upscale/index.html | 4 ++-- docs/use-cases/ai-photoshoot/index.html | 4 ++-- docs/use-cases/controlnet/index.html | 4 ++-- docs/use-cases/faq/index.html | 4 ++-- docs/use-cases/finetuning-guide/index.html | 4 ++-- docs/use-cases/inpainting-and-masking/index.html | 4 ++-- docs/use-cases/masked-portraits/index.html | 6 +++--- docs/use-cases/product-shots/index.html | 4 ++-- docs/use-cases/sdxl-training/index.html | 4 ++-- docs/use-cases/toonify/index.html | 4 ++-- docs/use-cases/upscale/index.html | 4 ++-- docs/use-cases/video-generation/index.html | 4 ++-- index.html | 4 ++-- markdown-page/index.html | 4 ++-- 53 files changed, 105 insertions(+), 105 deletions(-) rename assets/js/{57d2d9a8.6eea4527.js => 57d2d9a8.7c46f6fd.js} (57%) rename assets/js/{d3225ce8.76d9d2f7.js => d3225ce8.157d3db0.js} (69%) rename assets/js/{runtime~main.f81cff13.js => runtime~main.948342dc.js} (98%) diff --git a/404.html b/404.html index 4b9b37ea..15c8b66e 100644 --- a/404.html +++ b/404.html @@ -5,13 +5,13 @@ Page Not Found | Astria documentation - +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- + \ No newline at end of file diff --git a/assets/js/57d2d9a8.6eea4527.js b/assets/js/57d2d9a8.7c46f6fd.js similarity index 57% rename from assets/js/57d2d9a8.6eea4527.js rename to assets/js/57d2d9a8.7c46f6fd.js index 7d9b301c..8540bc59 100644 --- a/assets/js/57d2d9a8.6eea4527.js +++ b/assets/js/57d2d9a8.7c46f6fd.js @@ -1 +1 @@ -"use strict";(self.webpackChunkastria_docs_2=self.webpackChunkastria_docs_2||[]).push([[3911],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>h});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function o(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=n.createContext({}),l=function(e){var t=n.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},m=function(e){var t=l(e.components);return n.createElement(p.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,s=e.originalType,p=e.parentName,m=i(e,["components","mdxType","originalType","parentName"]),c=l(a),u=r,h=c["".concat(p,".").concat(u)]||c[u]||d[u]||s;return a?n.createElement(h,o(o({ref:t},m),{},{components:a})):n.createElement(h,o({ref:t},m))}));function h(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var s=a.length,o=new Array(s);o[0]=u;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[c]="string"==typeof e?e:r,o[1]=i;for(var l=2;l{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>i,toc:()=>l});var n=a(7462),r=(a(7294),a(3905));const s={},o="Prompt Masking",i={unversionedId:"features/prompt-masking",id:"features/prompt-masking",title:"Prompt Masking",description:"Prompt masking uses a short text to create a mask from the input image. The mask can then be used to inpaint parts of the image. Use the below parameters as part of the prompts to use auto-masking",source:"@site/docs/features/prompt-masking.md",sourceDirName:"features",slug:"/features/prompt-masking",permalink:"/docs/features/prompt-masking",draft:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/features/prompt-masking.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Multi-Person",permalink:"/docs/features/multiperson"},next:{title:"Tiled upscale",permalink:"/docs/features/tiled-upscale"}},p={},l=[{value:"Syntax",id:"syntax",level:3},{value:"--mask_prompt",id:"--mask_prompt",level:4},{value:"--mask_negative",id:"--mask_negative",level:4},{value:"--mask_invert",id:"--mask_invert",level:4},{value:"--mask_dilate",id:"--mask_dilate",level:4},{value:"--hires_denoising_strength",id:"--hires_denoising_strength",level:4}],m={toc:l},c="wrapper";function d(e){let{components:t,...a}=e;return(0,r.kt)(c,(0,n.Z)({},m,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"prompt-masking"},"Prompt Masking"),(0,r.kt)("p",null,"Prompt masking uses a short text to create a mask from the input image. The mask can then be used to inpaint parts of the image. Use the below parameters as part of the prompts to use auto-masking"),(0,r.kt)("p",null,"Prompt masking can be used for ",(0,r.kt)("a",{parentName:"p",href:"/docs/use-cases/product-shots"},"product shots")," or ",(0,r.kt)("a",{parentName:"p",href:"/docs/use-cases/masked-portraits"},"Masked Portraits"),"."),(0,r.kt)("p",null,"See example prompts in the ",(0,r.kt)("a",{parentName:"p",href:"https://www.astria.ai/gallery?text=mask_prompt"},"gallery")),(0,r.kt)("h3",{id:"syntax"},"Syntax"),(0,r.kt)("p",null,"Below parameters should be used as text inside the prompt text"),(0,r.kt)("h4",{id:"--mask_prompt"},(0,r.kt)("inlineCode",{parentName:"h4"},"--mask_prompt")),(0,r.kt)("p",null,"A short text like ",(0,r.kt)("inlineCode",{parentName:"p"},"foreground")," or ",(0,r.kt)("inlineCode",{parentName:"p"},"face"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"head")," or ",(0,r.kt)("inlineCode",{parentName:"p"},"person"),"."),(0,r.kt)("h4",{id:"--mask_negative"},(0,r.kt)("inlineCode",{parentName:"h4"},"--mask_negative")),(0,r.kt)("p",null,"A space separated list of words that should not appear in the mask. e.g: ",(0,r.kt)("inlineCode",{parentName:"p"},"clothes hat shoes")),(0,r.kt)("h4",{id:"--mask_invert"},(0,r.kt)("inlineCode",{parentName:"h4"},"--mask_invert")),(0,r.kt)("p",null,"Inverts the mask"),(0,r.kt)("h4",{id:"--mask_dilate"},(0,r.kt)("inlineCode",{parentName:"h4"},"--mask_dilate")),(0,r.kt)("p",null,"Dilates the mask. Negative values will erode the mask. Use percentage values like ",(0,r.kt)("inlineCode",{parentName:"p"},"-20%")," or ",(0,r.kt)("inlineCode",{parentName:"p"},"-20")," if input image size is dynamic."),(0,r.kt)("h4",{id:"--hires_denoising_strength"},(0,r.kt)("inlineCode",{parentName:"h4"},"--hires_denoising_strength")),(0,r.kt)("p",null,"Denoising strength for hires-fix. Use hi-res fix with prompt-masking to smooth the colors and blending. Range 0-1. Default: 0.4."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-text"},"realistic digital painting, astronaut in a garden on a spring day, by martine johanna and simon stalenhag and chie yoshii and casey weldon and wlop, ornate, dynamic, particulate, rich colors, intricate, elegant, highly detailed, harpers bazaar art, fashion magazine, smooth, sharp focus, 8 k, octane rende --mask_prompt foreground --mask_negative clothes --mask_invert --mask_dilate -20 --hires_denoising_strength 0.1\nnum_images=1\nnegative_prompt=clay, text, watermark, padding, cropped, typography\nseed=\nsteps=30\ncfg_scale=\ncontrolnet=pose\ninput_image_url=https://sdbooth2-production.s3.amazonaws.com/esfd53purhhcijhmzka4c364x6lb\nmask_image_url=\ndenoising_strength=\ncontrolnet_conditioning_scale=\ncontrolnet_txt2img=false\nsuper_resolution=true\ninpaint_faces=false\nface_correct=true\nfilm_grain=false\nface_swap=false\nhires_fix=true\nar=1:1\nscheduler=dpm++sde_karras\ncolor_grading=\nuse_lpw=true\nw=\nh=\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkastria_docs_2=self.webpackChunkastria_docs_2||[]).push([[3911],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>k});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function o(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=n.createContext({}),l=function(e){var t=n.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},m=function(e){var t=l(e.components);return n.createElement(p.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,s=e.originalType,p=e.parentName,m=i(e,["components","mdxType","originalType","parentName"]),c=l(a),u=r,k=c["".concat(p,".").concat(u)]||c[u]||d[u]||s;return a?n.createElement(k,o(o({ref:t},m),{},{components:a})):n.createElement(k,o({ref:t},m))}));function k(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var s=a.length,o=new Array(s);o[0]=u;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[c]="string"==typeof e?e:r,o[1]=i;for(var l=2;l{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>i,toc:()=>l});var n=a(7462),r=(a(7294),a(3905));const s={},o="Prompt Masking",i={unversionedId:"features/prompt-masking",id:"features/prompt-masking",title:"Prompt Masking",description:"Prompt masking uses a short text to create a mask from the input image. The mask can then be used to inpaint parts of the image. Use the below parameters as part of the prompts to use auto-masking",source:"@site/docs/features/prompt-masking.md",sourceDirName:"features",slug:"/features/prompt-masking",permalink:"/docs/features/prompt-masking",draft:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/features/prompt-masking.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Multi-Person",permalink:"/docs/features/multiperson"},next:{title:"Tiled upscale",permalink:"/docs/features/tiled-upscale"}},p={},l=[{value:"Syntax",id:"syntax",level:3},{value:"--mask_prompt",id:"--mask_prompt",level:4},{value:"--mask_negative",id:"--mask_negative",level:4},{value:"--mask_invert",id:"--mask_invert",level:4},{value:"--mask_dilate",id:"--mask_dilate",level:4},{value:"--hires_denoising_strength",id:"--hires_denoising_strength",level:4}],m={toc:l},c="wrapper";function d(e){let{components:t,...a}=e;return(0,r.kt)(c,(0,n.Z)({},m,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"prompt-masking"},"Prompt Masking"),(0,r.kt)("p",null,"Prompt masking uses a short text to create a mask from the input image. The mask can then be used to inpaint parts of the image. Use the below parameters as part of the prompts to use auto-masking"),(0,r.kt)("p",null,"Prompt masking can be used for ",(0,r.kt)("a",{parentName:"p",href:"/docs/use-cases/product-shots"},"product shots")," or ",(0,r.kt)("a",{parentName:"p",href:"/docs/use-cases/masked-portraits"},"Masked Portraits"),"."),(0,r.kt)("p",null,"See example prompts in the ",(0,r.kt)("a",{parentName:"p",href:"https://www.astria.ai/gallery?text=mask_prompt"},"gallery")),(0,r.kt)("admonition",{type:"warning"},(0,r.kt)("p",{parentName:"admonition"},"SDXL inpainting results are poor, and so we recommend using SD15 models for this use case.")),(0,r.kt)("h3",{id:"syntax"},"Syntax"),(0,r.kt)("p",null,"Below parameters should be used as text inside the prompt text"),(0,r.kt)("h4",{id:"--mask_prompt"},(0,r.kt)("inlineCode",{parentName:"h4"},"--mask_prompt")),(0,r.kt)("p",null,"A short text like ",(0,r.kt)("inlineCode",{parentName:"p"},"foreground")," or ",(0,r.kt)("inlineCode",{parentName:"p"},"face"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"head")," or ",(0,r.kt)("inlineCode",{parentName:"p"},"person"),"."),(0,r.kt)("h4",{id:"--mask_negative"},(0,r.kt)("inlineCode",{parentName:"h4"},"--mask_negative")),(0,r.kt)("p",null,"A space separated list of words that should not appear in the mask. e.g: ",(0,r.kt)("inlineCode",{parentName:"p"},"clothes hat shoes")),(0,r.kt)("h4",{id:"--mask_invert"},(0,r.kt)("inlineCode",{parentName:"h4"},"--mask_invert")),(0,r.kt)("p",null,"Inverts the mask"),(0,r.kt)("h4",{id:"--mask_dilate"},(0,r.kt)("inlineCode",{parentName:"h4"},"--mask_dilate")),(0,r.kt)("p",null,"Dilates the mask. Negative values will erode the mask. Use percentage values like ",(0,r.kt)("inlineCode",{parentName:"p"},"-20%")," or ",(0,r.kt)("inlineCode",{parentName:"p"},"-20")," if input image size is dynamic."),(0,r.kt)("h4",{id:"--hires_denoising_strength"},(0,r.kt)("inlineCode",{parentName:"h4"},"--hires_denoising_strength")),(0,r.kt)("p",null,"Denoising strength for hires-fix. Use hi-res fix with prompt-masking to smooth the colors and blending. Range 0-1. Default: 0.4."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-text"},"realistic digital painting, astronaut in a garden on a spring day, by martine johanna and simon stalenhag and chie yoshii and casey weldon and wlop, ornate, dynamic, particulate, rich colors, intricate, elegant, highly detailed, harpers bazaar art, fashion magazine, smooth, sharp focus, 8 k, octane rende --mask_prompt foreground --mask_negative clothes --mask_invert --mask_dilate -20 --hires_denoising_strength 0.1\nnum_images=1\nnegative_prompt=clay, text, watermark, padding, cropped, typography\nseed=\nsteps=30\ncfg_scale=\ncontrolnet=pose\ninput_image_url=https://sdbooth2-production.s3.amazonaws.com/esfd53purhhcijhmzka4c364x6lb\nmask_image_url=\ndenoising_strength=\ncontrolnet_conditioning_scale=\ncontrolnet_txt2img=false\nsuper_resolution=true\ninpaint_faces=false\nface_correct=true\nfilm_grain=false\nface_swap=false\nhires_fix=true\nar=1:1\nscheduler=dpm++sde_karras\ncolor_grading=\nuse_lpw=true\nw=\nh=\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d3225ce8.76d9d2f7.js b/assets/js/d3225ce8.157d3db0.js similarity index 69% rename from assets/js/d3225ce8.76d9d2f7.js rename to assets/js/d3225ce8.157d3db0.js index d8720b9b..4b69eea8 100644 --- a/assets/js/d3225ce8.76d9d2f7.js +++ b/assets/js/d3225ce8.157d3db0.js @@ -1 +1 @@ -"use strict";(self.webpackChunkastria_docs_2=self.webpackChunkastria_docs_2||[]).push([[1124],{3905:(t,e,a)=>{a.d(e,{Zo:()=>g,kt:()=>m});var n=a(7294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function s(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function i(t){for(var e=1;e=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var p=n.createContext({}),o=function(t){var e=n.useContext(p),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},g=function(t){var e=o(t.components);return n.createElement(p.Provider,{value:e},t.children)},c="mdxType",u={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},d=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,s=t.originalType,p=t.parentName,g=l(t,["components","mdxType","originalType","parentName"]),c=o(a),d=r,m=c["".concat(p,".").concat(d)]||c[d]||u[d]||s;return a?n.createElement(m,i(i({ref:e},g),{},{components:a})):n.createElement(m,i({ref:e},g))}));function m(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var s=a.length,i=new Array(s);i[0]=d;var l={};for(var p in e)hasOwnProperty.call(e,p)&&(l[p]=e[p]);l.originalType=t,l[c]="string"==typeof t?t:r,i[1]=l;for(var o=2;o{a.r(e),a.d(e,{assets:()=>p,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>o});var n=a(7462),r=(a(7294),a(3905));const s={},i="Masked portraits",l={unversionedId:"use-cases/masked-portraits",id:"use-cases/masked-portraits",title:"Masked portraits",description:"BETA",source:"@site/docs/use-cases/masked-portraits.md",sourceDirName:"use-cases",slug:"/use-cases/masked-portraits",permalink:"/docs/use-cases/masked-portraits",draft:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/use-cases/masked-portraits.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"FAQ",permalink:"/docs/use-cases/faq"},next:{title:"Upscale",permalink:"/docs/use-cases/upscale"}},p={},o=[{value:"Overview",id:"overview",level:2},{value:"Example prompt",id:"example-prompt",level:2}],g={toc:o},c="wrapper";function u(t){let{components:e,...s}=t;return(0,r.kt)(c,(0,n.Z)({},g,s,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"masked-portraits"},"Masked portraits"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"BETA")),(0,r.kt)("div",{style:{display:"grid","grid-template-columns":"1fr 1fr 1fr 1fr",gap:"1.5rem"}},(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Input image"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"source.png",src:a(8534).Z,width:"3456",height:"4320"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Result using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/690204/prompts"},"RV v5.1")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(1060).Z,width:"2048",height:"2560"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/636337/prompts"},"Cartoon")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(6871).Z,width:"2048",height:"2560"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/623021/prompts"},"Flat")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(1337).Z,width:"2048",height:"2560"})))),(0,r.kt)("div",{style:{display:"grid","grid-template-columns":"1fr 1fr 1fr 1fr",gap:"1.5rem"}},(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Input image"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"source.png",src:a(942).Z,width:"2304",height:"2880"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Result using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/690204/prompts"},"RV v5.1")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(1971).Z,width:"2048",height:"2560"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/636337/prompts"},"Cartoon")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(9877).Z,width:"2048",height:"2560"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/623021/prompts"},"Flat")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(5749).Z,width:"2048",height:"2560"})))),(0,r.kt)("div",{style:{display:"grid","grid-template-columns":"1fr 1fr 1fr 1fr",gap:"1.5rem"}},(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Input image"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"source.png",src:a(7745).Z,width:"3024",height:"4032"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Result using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/690204/prompts"},"RV v5.1")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(9711).Z,width:"2048",height:"2688"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/636337/prompts"},"Cartoon")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(7566).Z,width:"2048",height:"2688"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/623021/prompts"},"Flat")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(4285).Z,width:"2048",height:"2688"})))),(0,r.kt)("div",{style:{display:"grid","grid-template-columns":"1fr 1fr 1fr 1fr",gap:"1.5rem"}},(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Input image"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"source.png",src:a(6586).Z,width:"6000",height:"4000"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Result using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/690204/prompts"},"RV v5.1")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(3349).Z,width:"3072",height:"2048"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/636337/prompts"},"Cartoon")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(1089).Z,width:"3072",height:"2048"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/623021/prompts"},"Flat")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(1514).Z,width:"3072",height:"2048"})))),(0,r.kt)("p",null,"See example prompts in the ",(0,r.kt)("a",{parentName:"p",href:"https://www.astria.ai/gallery?text=mask_prompt"},"gallery"),"."),(0,r.kt)("h2",{id:"overview"},"Overview"),(0,r.kt)("p",null,"Use ",(0,r.kt)("a",{parentName:"p",href:"/docs/features/prompt-masking"},"prompt masking")," feature to embed a person into a scene.\nThis essentially allows you to create AI photogarphy or avatars without fine-tuning."),(0,r.kt)("p",null,"See ",(0,r.kt)("a",{parentName:"p",href:"https://www.astria.ai/pricing"},"pricing")," for the cost of this feature."),(0,r.kt)("h2",{id:"example-prompt"},"Example prompt"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-text"},"realistic digital painting, astronaut in a garden on a spring day, by martine johanna and simon stalenhag and chie yoshii and casey weldon and wlop, ornate, dynamic, particulate, rich colors, intricate, elegant, highly detailed, harpers bazaar art, fashion magazine, smooth, sharp focus, 8 k, octane rende --mask_prompt foreground --mask_negative clothes --mask_invert --mask_dilate -20 --hires_denoising_strength 0.2\nnum_images=1\nnegative_prompt=clay, text, watermark, padding, cropped, typography\nseed=\nsteps=30\ncfg_scale=\ncontrolnet=pose\ninput_image_url=https://sdbooth2-production.s3.amazonaws.com/d6ff3soq5pok5tlbcanf599vkw06\nmask_image_url=\ndenoising_strength=\ncontrolnet_conditioning_scale=\ncontrolnet_txt2img=false\nsuper_resolution=true\ninpaint_faces=false\nface_correct=true\nfilm_grain=false\nface_swap=false\nhires_fix=true\nar=1:1\nscheduler=dpm++sde_karras\ncolor_grading=\nuse_lpw=true\nw=\nh=\n")))}u.isMDXComponent=!0},8534:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-input-1-30b69f2c9a58c8a1f23456828c28c466.jpg"},942:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-input-2-7b8b5861fa50fc87b8e36b3153c879cd.jpg"},7745:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-input-3-0589d66f0f53258a32e5de0ef482f29e.jpg"},6586:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-input-4-b8bf227c6e5236b0d978f1ad0756d219.jpg"},1060:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-1-9db772635af3ec249fd3e8ebe9822ed8.jpeg"},1971:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-2-4a8bc5cca3803cf82043236295dfbf89.jpeg"},9711:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-3-380476a5d8fbabf4c8a20ed4d92e2db7.jpeg"},3349:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-4-f91c19288661030447e4b4e7ac1a211c.jpeg"},6871:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-art-1-56a489f7b7e42006cd95a2c561849da8.jpeg"},9877:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-art-2-887ab1b97bc8c2499f02a230e7125813.jpeg"},7566:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-art-3-bf4192f7ec3d086c3587d17d6d63e050.jpeg"},1089:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-art-4-b9dea5905f8c4e02ca9c77258b1c7058.jpeg"},1337:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-flat-1-7139aa49335d33554f1576849e08ae59.jpeg"},5749:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-flat-2-0f9ff603c09cf9b80380c61658572d21.jpeg"},4285:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-flat-3-a546e7a92eb69b037149520ab9986a08.jpeg"},1514:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-flat-4-36aa99d30a372ca38dbd7eea5bae29e7.jpeg"}}]); \ No newline at end of file +"use strict";(self.webpackChunkastria_docs_2=self.webpackChunkastria_docs_2||[]).push([[1124],{3905:(t,e,a)=>{a.d(e,{Zo:()=>g,kt:()=>m});var n=a(7294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function s(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function i(t){for(var e=1;e=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var p=n.createContext({}),o=function(t){var e=n.useContext(p),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},g=function(t){var e=o(t.components);return n.createElement(p.Provider,{value:e},t.children)},c="mdxType",u={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},d=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,s=t.originalType,p=t.parentName,g=l(t,["components","mdxType","originalType","parentName"]),c=o(a),d=r,m=c["".concat(p,".").concat(d)]||c[d]||u[d]||s;return a?n.createElement(m,i(i({ref:e},g),{},{components:a})):n.createElement(m,i({ref:e},g))}));function m(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var s=a.length,i=new Array(s);i[0]=d;var l={};for(var p in e)hasOwnProperty.call(e,p)&&(l[p]=e[p]);l.originalType=t,l[c]="string"==typeof t?t:r,i[1]=l;for(var o=2;o{a.r(e),a.d(e,{assets:()=>p,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>o});var n=a(7462),r=(a(7294),a(3905));const s={},i="Masked portraits",l={unversionedId:"use-cases/masked-portraits",id:"use-cases/masked-portraits",title:"Masked portraits",description:"BETA",source:"@site/docs/use-cases/masked-portraits.md",sourceDirName:"use-cases",slug:"/use-cases/masked-portraits",permalink:"/docs/use-cases/masked-portraits",draft:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/use-cases/masked-portraits.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"FAQ",permalink:"/docs/use-cases/faq"},next:{title:"Upscale",permalink:"/docs/use-cases/upscale"}},p={},o=[{value:"Overview",id:"overview",level:2},{value:"Example prompt",id:"example-prompt",level:2}],g={toc:o},c="wrapper";function u(t){let{components:e,...s}=t;return(0,r.kt)(c,(0,n.Z)({},g,s,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"masked-portraits"},"Masked portraits"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"BETA")),(0,r.kt)("div",{style:{display:"grid","grid-template-columns":"1fr 1fr 1fr 1fr",gap:"1.5rem"}},(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Input image"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"source.png",src:a(8534).Z,width:"3456",height:"4320"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Result using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/690204/prompts"},"RV v5.1")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(1060).Z,width:"2048",height:"2560"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/636337/prompts"},"Cartoon")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(6871).Z,width:"2048",height:"2560"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/623021/prompts"},"Flat")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(1337).Z,width:"2048",height:"2560"})))),(0,r.kt)("div",{style:{display:"grid","grid-template-columns":"1fr 1fr 1fr 1fr",gap:"1.5rem"}},(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Input image"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"source.png",src:a(942).Z,width:"2304",height:"2880"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Result using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/690204/prompts"},"RV v5.1")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(1971).Z,width:"2048",height:"2560"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/636337/prompts"},"Cartoon")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(9877).Z,width:"2048",height:"2560"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/623021/prompts"},"Flat")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(5749).Z,width:"2048",height:"2560"})))),(0,r.kt)("div",{style:{display:"grid","grid-template-columns":"1fr 1fr 1fr 1fr",gap:"1.5rem"}},(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Input image"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"source.png",src:a(7745).Z,width:"3024",height:"4032"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Result using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/690204/prompts"},"RV v5.1")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(9711).Z,width:"2048",height:"2688"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/636337/prompts"},"Cartoon")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(7566).Z,width:"2048",height:"2688"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/623021/prompts"},"Flat")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(4285).Z,width:"2048",height:"2688"})))),(0,r.kt)("div",{style:{display:"grid","grid-template-columns":"1fr 1fr 1fr 1fr",gap:"1.5rem"}},(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Input image"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"source.png",src:a(6586).Z,width:"6000",height:"4000"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Result using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/690204/prompts"},"RV v5.1")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(3349).Z,width:"3072",height:"2048"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/636337/prompts"},"Cartoon")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(1089).Z,width:"3072",height:"2048"}))),(0,r.kt)("div",null,(0,r.kt)("figcaption",null,"Using ",(0,r.kt)("a",{href:"https://www.astria.ai/gallery/tunes/623021/prompts"},"Flat")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generated.png",src:a(1514).Z,width:"3072",height:"2048"})))),(0,r.kt)("p",null,"See example prompts in the ",(0,r.kt)("a",{parentName:"p",href:"https://www.astria.ai/gallery?text=mask_prompt"},"gallery"),"."),(0,r.kt)("h2",{id:"overview"},"Overview"),(0,r.kt)("p",null,"Use ",(0,r.kt)("a",{parentName:"p",href:"/docs/features/prompt-masking"},"prompt masking")," feature to embed a person into a scene.\nThis essentially allows you to create AI photogarphy or avatars without fine-tuning."),(0,r.kt)("admonition",{type:"warning"},(0,r.kt)("p",{parentName:"admonition"},"SDXL inpainting results are poor, and so we recommend using SD15 models for this use case.")),(0,r.kt)("p",null,"See ",(0,r.kt)("a",{parentName:"p",href:"https://www.astria.ai/pricing"},"pricing")," for the cost of this feature."),(0,r.kt)("h2",{id:"example-prompt"},"Example prompt"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-text"},"realistic digital painting, astronaut in a garden on a spring day, by martine johanna and simon stalenhag and chie yoshii and casey weldon and wlop, ornate, dynamic, particulate, rich colors, intricate, elegant, highly detailed, harpers bazaar art, fashion magazine, smooth, sharp focus, 8 k, octane rende --mask_prompt foreground --mask_negative clothes --mask_invert --mask_dilate -20 --hires_denoising_strength 0.2\nnum_images=1\nnegative_prompt=clay, text, watermark, padding, cropped, typography\nseed=\nsteps=30\ncfg_scale=\ncontrolnet=pose\ninput_image_url=https://sdbooth2-production.s3.amazonaws.com/d6ff3soq5pok5tlbcanf599vkw06\nmask_image_url=\ndenoising_strength=\ncontrolnet_conditioning_scale=\ncontrolnet_txt2img=false\nsuper_resolution=true\ninpaint_faces=false\nface_correct=true\nfilm_grain=false\nface_swap=false\nhires_fix=true\nar=1:1\nscheduler=dpm++sde_karras\ncolor_grading=\nuse_lpw=true\nw=\nh=\n")))}u.isMDXComponent=!0},8534:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-input-1-30b69f2c9a58c8a1f23456828c28c466.jpg"},942:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-input-2-7b8b5861fa50fc87b8e36b3153c879cd.jpg"},7745:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-input-3-0589d66f0f53258a32e5de0ef482f29e.jpg"},6586:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-input-4-b8bf227c6e5236b0d978f1ad0756d219.jpg"},1060:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-1-9db772635af3ec249fd3e8ebe9822ed8.jpeg"},1971:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-2-4a8bc5cca3803cf82043236295dfbf89.jpeg"},9711:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-3-380476a5d8fbabf4c8a20ed4d92e2db7.jpeg"},3349:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-4-f91c19288661030447e4b4e7ac1a211c.jpeg"},6871:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-art-1-56a489f7b7e42006cd95a2c561849da8.jpeg"},9877:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-art-2-887ab1b97bc8c2499f02a230e7125813.jpeg"},7566:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-art-3-bf4192f7ec3d086c3587d17d6d63e050.jpeg"},1089:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-art-4-b9dea5905f8c4e02ca9c77258b1c7058.jpeg"},1337:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-flat-1-7139aa49335d33554f1576849e08ae59.jpeg"},5749:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-flat-2-0f9ff603c09cf9b80380c61658572d21.jpeg"},4285:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-flat-3-a546e7a92eb69b037149520ab9986a08.jpeg"},1514:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/masking-result-flat-4-36aa99d30a372ca38dbd7eea5bae29e7.jpeg"}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.f81cff13.js b/assets/js/runtime~main.948342dc.js similarity index 98% rename from assets/js/runtime~main.f81cff13.js rename to assets/js/runtime~main.948342dc.js index 9042ac7b..98e79c61 100644 --- a/assets/js/runtime~main.f81cff13.js +++ b/assets/js/runtime~main.948342dc.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,f,c,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var f=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=b,r.c=t,e=[],r.O=(a,f,c,d)=>{if(!f){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[f,c,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,f({}),f([]),f(f)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var f in a)r.o(a,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,f)=>(r.f[f](e,a),a)),[])),r.u=e=>"assets/js/"+({53:"85848f58",110:"66406991",453:"30a24c52",533:"b2b675dd",674:"6ff77412",948:"8717b14a",1124:"d3225ce8",1213:"dae0e962",1433:"76161ddb",1477:"b2f554cd",1599:"c231ecf4",1633:"031793e1",1713:"a7023ddc",1716:"f2bb83c3",1914:"d9f32620",1929:"397ab8ba",2062:"b83527cb",2197:"935f2afb",2247:"3ee62890",2267:"59362658",2362:"e273c56f",2366:"d537b4da",2532:"41484b8f",2535:"814f3328",2576:"0088b24a",2585:"5cce4860",2656:"7f726b58",2912:"318e8f3b",3085:"1f391b9e",3089:"a6aa9e1f",3198:"05fe89fc",3205:"a80da1cf",3237:"1df93b7f",3514:"73664a40",3608:"9e4087bc",3911:"57d2d9a8",4013:"01a85c17",4762:"96713d40",4868:"9fda4f55",6058:"71221d59",6103:"ccc49370",6450:"e8766d5f",6468:"eeb7a3e9",6567:"9cceef76",6614:"f994835d",6868:"989eb559",6938:"608ae6a4",6995:"e2fc4889",7178:"096bfee4",7414:"393be207",7721:"084d163f",7757:"eb3f1c80",7918:"17896441",8154:"fac6c085",8610:"6875c492",8636:"f4f34a3a",8772:"e4fcfa79",8946:"fb723fd6",8999:"d0ae32ce",9003:"925b3f96",9035:"4c9e35b1",9075:"6540dd0c",9410:"3b57aab9",9418:"96b27e6a",9493:"988781e2",9514:"1be78505",9558:"6f719c7f",9611:"dc0d6ca4",9642:"7661071f",9700:"e16015ca",9817:"14eb3368"}[e]||e)+"."+{53:"fff5bd10",110:"68aa80f8",453:"df77d90b",533:"ee3fafcc",674:"3c154633",948:"7ca9b0f5",1124:"76d9d2f7",1213:"d6f97714",1433:"fb5239db",1477:"82540fbf",1506:"9e78434d",1599:"d95fe84c",1633:"f8b29aaa",1713:"446ba93b",1716:"11baadc6",1914:"034139fd",1929:"42a1f707",2062:"b76063fd",2197:"0189914c",2247:"f7d37489",2267:"fbf9f27e",2362:"b5404124",2366:"eca3fa6f",2529:"ea48620b",2532:"07d34590",2535:"3c3d6838",2576:"639955f8",2585:"af9c0e41",2656:"80b2249e",2912:"4ada5e94",3085:"ae69d915",3089:"a2ffdd90",3198:"84a58801",3205:"f07c3acc",3237:"9a5f330d",3514:"659f57de",3608:"4e5ea484",3911:"6eea4527",4013:"503509ed",4762:"4fc40257",4868:"601585df",4972:"de96bb75",6058:"161c5739",6103:"d1532964",6450:"d54d97d5",6468:"ca7bd0cf",6567:"f520c83a",6614:"1002b07f",6868:"2407b16c",6938:"9378a58c",6995:"b1914a91",7178:"8f8aa071",7414:"01e16d5a",7721:"41512039",7757:"d83576d5",7918:"679a7f0e",8154:"b14f5788",8610:"bd47f535",8636:"197f7bc0",8772:"17d47374",8946:"9869f4e3",8999:"43bb797e",9003:"1a5c846a",9035:"42334068",9075:"7bd17100",9410:"f5a8508b",9418:"61c47981",9493:"965a9b5a",9514:"cd0faa7e",9558:"e727d18f",9611:"8fc8a0c9",9642:"2ed2ecd0",9700:"10b12c91",9817:"2d4a4f56"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},d="astria-docs-2:",r.l=(e,a,f,b)=>{if(c[e])c[e].push(a);else{var t,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(f))),a)return a(f)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",59362658:"2267",66406991:"110","85848f58":"53","30a24c52":"453",b2b675dd:"533","6ff77412":"674","8717b14a":"948",d3225ce8:"1124",dae0e962:"1213","76161ddb":"1433",b2f554cd:"1477",c231ecf4:"1599","031793e1":"1633",a7023ddc:"1713",f2bb83c3:"1716",d9f32620:"1914","397ab8ba":"1929",b83527cb:"2062","935f2afb":"2197","3ee62890":"2247",e273c56f:"2362",d537b4da:"2366","41484b8f":"2532","814f3328":"2535","0088b24a":"2576","5cce4860":"2585","7f726b58":"2656","318e8f3b":"2912","1f391b9e":"3085",a6aa9e1f:"3089","05fe89fc":"3198",a80da1cf:"3205","1df93b7f":"3237","73664a40":"3514","9e4087bc":"3608","57d2d9a8":"3911","01a85c17":"4013","96713d40":"4762","9fda4f55":"4868","71221d59":"6058",ccc49370:"6103",e8766d5f:"6450",eeb7a3e9:"6468","9cceef76":"6567",f994835d:"6614","989eb559":"6868","608ae6a4":"6938",e2fc4889:"6995","096bfee4":"7178","393be207":"7414","084d163f":"7721",eb3f1c80:"7757",fac6c085:"8154","6875c492":"8610",f4f34a3a:"8636",e4fcfa79:"8772",fb723fd6:"8946",d0ae32ce:"8999","925b3f96":"9003","4c9e35b1":"9035","6540dd0c":"9075","3b57aab9":"9410","96b27e6a":"9418","988781e2":"9493","1be78505":"9514","6f719c7f":"9558",dc0d6ca4:"9611","7661071f":"9642",e16015ca:"9700","14eb3368":"9817"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,f)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)f.push(c[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var d=new Promise(((f,d)=>c=e[a]=[f,d]));f.push(c[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(f=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var d=f&&("load"===f.type?"missing":f.type),b=f&&f.target&&f.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,c[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,f)=>{var c,d,b=f[0],t=f[1],o=f[2],n=0;if(b.some((a=>0!==e[a]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(a&&a(f);n{"use strict";var e,a,f,c,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var f=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=b,r.c=t,e=[],r.O=(a,f,c,d)=>{if(!f){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[f,c,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,f({}),f([]),f(f)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var f in a)r.o(a,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,f)=>(r.f[f](e,a),a)),[])),r.u=e=>"assets/js/"+({53:"85848f58",110:"66406991",453:"30a24c52",533:"b2b675dd",674:"6ff77412",948:"8717b14a",1124:"d3225ce8",1213:"dae0e962",1433:"76161ddb",1477:"b2f554cd",1599:"c231ecf4",1633:"031793e1",1713:"a7023ddc",1716:"f2bb83c3",1914:"d9f32620",1929:"397ab8ba",2062:"b83527cb",2197:"935f2afb",2247:"3ee62890",2267:"59362658",2362:"e273c56f",2366:"d537b4da",2532:"41484b8f",2535:"814f3328",2576:"0088b24a",2585:"5cce4860",2656:"7f726b58",2912:"318e8f3b",3085:"1f391b9e",3089:"a6aa9e1f",3198:"05fe89fc",3205:"a80da1cf",3237:"1df93b7f",3514:"73664a40",3608:"9e4087bc",3911:"57d2d9a8",4013:"01a85c17",4762:"96713d40",4868:"9fda4f55",6058:"71221d59",6103:"ccc49370",6450:"e8766d5f",6468:"eeb7a3e9",6567:"9cceef76",6614:"f994835d",6868:"989eb559",6938:"608ae6a4",6995:"e2fc4889",7178:"096bfee4",7414:"393be207",7721:"084d163f",7757:"eb3f1c80",7918:"17896441",8154:"fac6c085",8610:"6875c492",8636:"f4f34a3a",8772:"e4fcfa79",8946:"fb723fd6",8999:"d0ae32ce",9003:"925b3f96",9035:"4c9e35b1",9075:"6540dd0c",9410:"3b57aab9",9418:"96b27e6a",9493:"988781e2",9514:"1be78505",9558:"6f719c7f",9611:"dc0d6ca4",9642:"7661071f",9700:"e16015ca",9817:"14eb3368"}[e]||e)+"."+{53:"fff5bd10",110:"68aa80f8",453:"df77d90b",533:"ee3fafcc",674:"3c154633",948:"7ca9b0f5",1124:"157d3db0",1213:"d6f97714",1433:"fb5239db",1477:"82540fbf",1506:"9e78434d",1599:"d95fe84c",1633:"f8b29aaa",1713:"446ba93b",1716:"11baadc6",1914:"034139fd",1929:"42a1f707",2062:"b76063fd",2197:"0189914c",2247:"f7d37489",2267:"fbf9f27e",2362:"b5404124",2366:"eca3fa6f",2529:"ea48620b",2532:"07d34590",2535:"3c3d6838",2576:"639955f8",2585:"af9c0e41",2656:"80b2249e",2912:"4ada5e94",3085:"ae69d915",3089:"a2ffdd90",3198:"84a58801",3205:"f07c3acc",3237:"9a5f330d",3514:"659f57de",3608:"4e5ea484",3911:"7c46f6fd",4013:"503509ed",4762:"4fc40257",4868:"601585df",4972:"de96bb75",6058:"161c5739",6103:"d1532964",6450:"d54d97d5",6468:"ca7bd0cf",6567:"f520c83a",6614:"1002b07f",6868:"2407b16c",6938:"9378a58c",6995:"b1914a91",7178:"8f8aa071",7414:"01e16d5a",7721:"41512039",7757:"d83576d5",7918:"679a7f0e",8154:"b14f5788",8610:"bd47f535",8636:"197f7bc0",8772:"17d47374",8946:"9869f4e3",8999:"43bb797e",9003:"1a5c846a",9035:"42334068",9075:"7bd17100",9410:"f5a8508b",9418:"61c47981",9493:"965a9b5a",9514:"cd0faa7e",9558:"e727d18f",9611:"8fc8a0c9",9642:"2ed2ecd0",9700:"10b12c91",9817:"2d4a4f56"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},d="astria-docs-2:",r.l=(e,a,f,b)=>{if(c[e])c[e].push(a);else{var t,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(f))),a)return a(f)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",59362658:"2267",66406991:"110","85848f58":"53","30a24c52":"453",b2b675dd:"533","6ff77412":"674","8717b14a":"948",d3225ce8:"1124",dae0e962:"1213","76161ddb":"1433",b2f554cd:"1477",c231ecf4:"1599","031793e1":"1633",a7023ddc:"1713",f2bb83c3:"1716",d9f32620:"1914","397ab8ba":"1929",b83527cb:"2062","935f2afb":"2197","3ee62890":"2247",e273c56f:"2362",d537b4da:"2366","41484b8f":"2532","814f3328":"2535","0088b24a":"2576","5cce4860":"2585","7f726b58":"2656","318e8f3b":"2912","1f391b9e":"3085",a6aa9e1f:"3089","05fe89fc":"3198",a80da1cf:"3205","1df93b7f":"3237","73664a40":"3514","9e4087bc":"3608","57d2d9a8":"3911","01a85c17":"4013","96713d40":"4762","9fda4f55":"4868","71221d59":"6058",ccc49370:"6103",e8766d5f:"6450",eeb7a3e9:"6468","9cceef76":"6567",f994835d:"6614","989eb559":"6868","608ae6a4":"6938",e2fc4889:"6995","096bfee4":"7178","393be207":"7414","084d163f":"7721",eb3f1c80:"7757",fac6c085:"8154","6875c492":"8610",f4f34a3a:"8636",e4fcfa79:"8772",fb723fd6:"8946",d0ae32ce:"8999","925b3f96":"9003","4c9e35b1":"9035","6540dd0c":"9075","3b57aab9":"9410","96b27e6a":"9418","988781e2":"9493","1be78505":"9514","6f719c7f":"9558",dc0d6ca4:"9611","7661071f":"9642",e16015ca:"9700","14eb3368":"9817"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,f)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)f.push(c[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var d=new Promise(((f,d)=>c=e[a]=[f,d]));f.push(c[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(f=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var d=f&&("load"===f.type?"missing":f.type),b=f&&f.target&&f.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,c[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,f)=>{var c,d,b=f[0],t=f[1],o=f[2],n=0;if(b.some((a=>0!==e[a]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(a&&a(f);n Archive | Astria documentation - + - + \ No newline at end of file diff --git a/blog/first-blog-post/index.html b/blog/first-blog-post/index.html index 47ef1bb1..7dd7ac7b 100644 --- a/blog/first-blog-post/index.html +++ b/blog/first-blog-post/index.html @@ -5,13 +5,13 @@ First Blog Post | Astria documentation - +

First Blog Post

· One min read
Gao Wei

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

- + \ No newline at end of file diff --git a/blog/index.html b/blog/index.html index 77f6f16a..c49b968d 100644 --- a/blog/index.html +++ b/blog/index.html @@ -5,13 +5,13 @@ Blog | Astria documentation - +

· One min read
Sébastien Lorber
Yangshun Tay

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

· One min read
Gao Wei

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

- + \ No newline at end of file diff --git a/blog/long-blog-post/index.html b/blog/long-blog-post/index.html index ea02ba9c..43e5465e 100644 --- a/blog/long-blog-post/index.html +++ b/blog/long-blog-post/index.html @@ -5,13 +5,13 @@ Long Blog Post | Astria documentation - +

Long Blog Post

· 3 min read
Endilie Yacop Sucipto

This is the summary of a very long blog post,

Use a <!-- truncate --> comment to limit blog post size in the list view.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

- + \ No newline at end of file diff --git a/blog/mdx-blog-post/index.html b/blog/mdx-blog-post/index.html index 8ed862a1..ba565365 100644 --- a/blog/mdx-blog-post/index.html +++ b/blog/mdx-blog-post/index.html @@ -5,13 +5,13 @@ MDX Blog Post | Astria documentation - +
- + \ No newline at end of file diff --git a/blog/tags/docusaurus/index.html b/blog/tags/docusaurus/index.html index 6c757579..cf529e76 100644 --- a/blog/tags/docusaurus/index.html +++ b/blog/tags/docusaurus/index.html @@ -5,13 +5,13 @@ 4 posts tagged with "docusaurus" | Astria documentation - +

4 posts tagged with "docusaurus"

View All Tags

· One min read
Sébastien Lorber
Yangshun Tay

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

· One min read
Gao Wei

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

- + \ No newline at end of file diff --git a/blog/tags/facebook/index.html b/blog/tags/facebook/index.html index 6df93555..0e3404cc 100644 --- a/blog/tags/facebook/index.html +++ b/blog/tags/facebook/index.html @@ -5,13 +5,13 @@ One post tagged with "facebook" | Astria documentation - +

One post tagged with "facebook"

View All Tags

· One min read
Sébastien Lorber
Yangshun Tay

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

- + \ No newline at end of file diff --git a/blog/tags/hello/index.html b/blog/tags/hello/index.html index a67caca8..7ba33016 100644 --- a/blog/tags/hello/index.html +++ b/blog/tags/hello/index.html @@ -5,13 +5,13 @@ 2 posts tagged with "hello" | Astria documentation - +

2 posts tagged with "hello"

View All Tags

· One min read
Sébastien Lorber
Yangshun Tay

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

- + \ No newline at end of file diff --git a/blog/tags/hola/index.html b/blog/tags/hola/index.html index 1ca10c11..9bfd5d10 100644 --- a/blog/tags/hola/index.html +++ b/blog/tags/hola/index.html @@ -5,13 +5,13 @@ One post tagged with "hola" | Astria documentation - +

One post tagged with "hola"

View All Tags

· One min read
Gao Wei

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

- + \ No newline at end of file diff --git a/blog/tags/index.html b/blog/tags/index.html index 0a69dc5f..4f422fcc 100644 --- a/blog/tags/index.html +++ b/blog/tags/index.html @@ -5,13 +5,13 @@ Tags | Astria documentation - + - + \ No newline at end of file diff --git a/blog/welcome/index.html b/blog/welcome/index.html index ea22d88c..9d0a5625 100644 --- a/blog/welcome/index.html +++ b/blog/welcome/index.html @@ -5,13 +5,13 @@ Welcome | Astria documentation - +

Welcome

· One min read
Sébastien Lorber
Yangshun Tay

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

- + \ No newline at end of file diff --git a/docs/api/overview/index.html b/docs/api/overview/index.html index d4d820f1..cb50c01b 100644 --- a/docs/api/overview/index.html +++ b/docs/api/overview/index.html @@ -5,7 +5,7 @@ Overview | Astria documentation - + @@ -13,7 +13,7 @@

Astria Fine-tuning API - Overview

Billing

The API uses account balance just like the web interface. See the pricing page for more details.

Mock testing

The API allows creating a mock Tune object with attribute branch=fast. See Create a tune documentation]. API call for creating fast tune is free, and subsequent prompt calls will return mock images without incurring any charges. This is useful for testing your integration with the API. Once you're ready for production, you can purchase credits and adjust the quantity on the checkout page to how much you need.

Auto top off

To allow your account to work without disruption, top-off feature can be enabled to refill account each time account balance reaches zero. Auto top-off can be enabled in the billing page. It is recommended to set the top-off amount to at least a week worth of API calls to avoid hitting the rate limit on top-off - Frequent top-offs can cause credit card charges to fail or bank declines.

Storage

Generated images, training pictures and models, will be automatically deleted 30 days after the training has ended. You may delete the fine-tune object including the trained model, training images, and generated images at any time before using the delete API calls. You may opt-in to automatically extend model storage

Authorization

The API uses bearer Authorization headers scheme. API calls should include the header:

Authorization: Bearer sd_XXXXXX

Find your API key on the API settings under your account settings.

REST API

Astria API is built as a REST API. Main resources are tune and prompt and each one has all the CRUD operations. Prompts are usually used as a nested resource on top of tunes (i.e: /tunes/:id/prompts).

Error Codes

tip

Pay attention to 504 error below and turn on idempotency for your account to avoid duplicate objects.

422 - Validation error - Log these errors, specifically the response body, and use an exception tracking system such as Rollbar or Sentry to get notified. Do not retry these requests.

500 - Internal server error - Such requests should be retried with exponential backoff and wait start time of 30 seconds.

504 - Gateway timeout - This error indicates that the request processing took more than the 30 seconds which is set as the max request timeout. In most cases the request would probably have been processed and you should avoid retrying it. In order to get the response see Idempotency section

Idempotency

Idempotency is a principle in programming which means that the same operation (a request in our case) can be made multiple times without changing the result. This can be useful when a request is interrupted and you want to make sure it is processed only once, and avoid duplicate objects.

Idempotency can be enabled for the account in the API settings.

For tunes request with the same title, idempotency will return the existing tune object and will not create a new one. This is useful for cases where you want to make sure you don't create duplicate tunes. In this case set the tune title to a unique value such as a UUID which identifies the transaction.

For prompts request with the same attributes, idempotency will return the existing prompt object and will not create a new one. Prompt attributes considered for the idempotency are text, tune_id, cfg_scale, steps, seed, callback, negative_prompt, super_resolution, face_correct, ar, num_images, controlnet, denoising_strength, use_lpw, controlnet_conditioning_scale, w, h, hires_fix, scheduler, controlnet_txt2img, inpaint_faces

When retrying a 504 error, and idempotency is enabled, make sure to wait 60 seconds before retrying the request to allow the previous request to finish processing.

- + \ No newline at end of file diff --git a/docs/api/prompt/create/index.html b/docs/api/prompt/create/index.html index b29ff6a1..c9241837 100644 --- a/docs/api/prompt/create/index.html +++ b/docs/api/prompt/create/index.html @@ -5,13 +5,13 @@ Create a prompt | Astria documentation - +

Create a prompt

Creates a new fine-tune model from training images which in turn will be used to create prompts and generate images.

Parameters

text (required)

Description of the image.

negative_prompt (optional)

A comma separated list of words that should not appear in the image.

callback (optional)

a URL that will be called when the prompt is done processing. The callback is a POST request where the body contains the prompt object.

num_images (optional)

Number of images to generate. Range: 1-8.

seed (optional)

Random number to create consistent results. Range: 0 to 2^32.

super_resolution (optional)

Boolean. X4 super-resolution.

inpaint_faces (optional)

Boolean. Requires super-resolution on. Inpaints faces.

hires_fix (optional)

Boolean. Super resolution details. Available only when super_resolution is true. Adds details.

face_correct (optional)

Boolean. Runs another AI model on top to correct the face in the image.

face_swap (optional)

Boolean. Uses training images to swap face and enhance resemblance.

cfg_scale (optional)

Float. How strictly the diffusion process adheres to the prompt text (higher values keep your image closer to your prompt). Range 0-15

steps (optional)

Integer. Number of diffusion steps to run . Range 0-50

use_lpw (optional)

Boolean. Use weighted prompts.

w (optional)

width - In multiples of 8.

h (optional)

height - In multiples of 8.

scheduler (optional)

enum: euler, euler_a, dpm++2m_karras, dpm++sde_karras, lcm. If not specified the default account scheduler will be used.

color_grading (optional)

enum: Film Velvia, Film Portra, Ektar.

film_grain (optional)

boolean - Adds noise to the image to make it look more realistic.

Img2Img / ControlNet

controlnet (optional)

BETA. Requires input_image. Possible values: lineart, canny, depth, mlsd, hed, pose, pose_with_hand, pose_with_face, pose_face_and_hand, tile, qr.

denoising_strength (optional)

For img2img. 1.0 - Take prompt. 0.0 - Take image. Range: 0.0-1.0. Default: 0.8

controlnet_conditioning_scale (optional)

Strength of controlnet conditioning. 0.0-1.0

controlnet_txt2img (optional)

Boolean toggle. True for text to image controlnet. False for image to image controlnet.

input_image (optional)

Binary multi-part request with the image. Used in conjunction with controlnet parameter.

input_image_url (optional)

URL to an image. Used in conjunction with controlnet parameter.

mask_image (optional)

Binary multi-part request with one channel mask image. Used in conjunction with input_image parameter for inpainting

mask_image_url (optional)

URL to a one channel mask image. Used in conjunction with input_image_url parameter for inpainting.

Returns

Returns a prompt object if successful which will start processing if tune is processed.

POST /tunes/:id/prompts

curl -X POST -H "Authorization: Bearer $API_KEY" https://api.astria.ai/tunes/1/prompts \
-F prompt[text]="a painting of ohwx man in the style of Van Gogh" \
-F prompt[negative_prompt]="old, blemish, wrin" \
-F prompt[super_resolution]=true \
-F prompt[face_correct]=true \
-F prompt[callback]="https://optional-callback-url.com/to-your-service-when-ready?prompt_id=1"

Response

{
"id": 1,
"callback": "https://optional-callback-url.com/to-your-service-when-ready?prompt_id=1",
"text": "a painting of ohwx man in the style of Van Gogh",
"negative_prompt": "old, blemish, wrinkles, mole",
"cfg_scale": null,
"steps": null,
"seed": null,
"trained_at": null,
"started_training_at": null,
"created_at": "2022-10-06T16:12:54.505Z",
"updated_at": "2022-10-06T16:12:54.505Z",
"tune_id": 1,
"url": "http://api.astria.ai/tunes/1/prompts/1.json"
}
- + \ No newline at end of file diff --git a/docs/api/prompt/list/index.html b/docs/api/prompt/list/index.html index 85f262cf..8b4f4af1 100644 --- a/docs/api/prompt/list/index.html +++ b/docs/api/prompt/list/index.html @@ -5,13 +5,13 @@ List all prompts | Astria documentation - +

List all prompts

Parameters

offset (optional)

Starting offset for the list of prompts. Default: 0. Current page size is 20.

Returns

An array of prompts owned by the authenticated user. If used as a nested resource (in the url), will return prompts owned by the tune.

GET /tunes/:id/prompts

curl -X GET -H "Authorization: Bearer $API_KEY" https://api.astria.ai/tunes/1/prompts

Response


[
{
"id": 1,
"callback": "https://optional-callback-url.com/to-your-service-when-ready?user_id=your_internal_user_id&transaction_id=internal_transaction_id",
"text": "a painting of ohwx man in the style of Van Gogh",
"negative_prompt": "old, blemish, wrinkles, mole",
"cfg_scale": null,
"steps": null,
"seed": null,
"trained_at": null,
"started_training_at": null,
"created_at": "2022-10-06T16:12:54.505Z",
"updated_at": "2022-10-06T16:12:54.505Z",
"tune_id": 1,
"url": "http://api.astria.ai/tunes/1/prompts/1.json"
}
]
- + \ No newline at end of file diff --git a/docs/api/prompt/prompt/index.html b/docs/api/prompt/prompt/index.html index 88e513ef..f92fdbc4 100644 --- a/docs/api/prompt/prompt/index.html +++ b/docs/api/prompt/prompt/index.html @@ -5,13 +5,13 @@ The prompt object | Astria documentation - + - + \ No newline at end of file diff --git a/docs/api/prompt/retrieve/index.html b/docs/api/prompt/retrieve/index.html index 1d514f88..b4613471 100644 --- a/docs/api/prompt/retrieve/index.html +++ b/docs/api/prompt/retrieve/index.html @@ -5,13 +5,13 @@ Retrieve a prompt | Astria documentation - +

Retrieve a prompt

Parameters

No parameters

Returns

Returns the prompt object.

GET /tunes/:tune_id/prompts/:id

curl -X GET -H "Authorization: Bearer $API_KEY" https://api.astria.ai/tunes/1/prompts/1

Response

{
"id": 1,
"callback": "https://optional-callback-url.com/to-your-service-when-ready",
"text": "a painting of ohwx man in the style of Van Gogh",
"negative_prompt": "old, blemish, wrinkles, mole",
"cfg_scale": null,
"steps": null,
"seed": null,
"trained_at": null,
"started_training_at": null,
"created_at": "2022-10-06T16:12:54.505Z",
"updated_at": "2022-10-06T16:12:54.505Z",
"tune_id": 1,
"url": "http://api.astria.ai/tunes/1/prompts/1.json"
}
- + \ No newline at end of file diff --git a/docs/api/sdxl-api/index.html b/docs/api/sdxl-api/index.html index 61576d50..52cc8f43 100644 --- a/docs/api/sdxl-api/index.html +++ b/docs/api/sdxl-api/index.html @@ -5,13 +5,13 @@ SDXL API usage | Astria documentation - +

SDXL API usage

For general tips on SDXL training and inference, see SDXL training

Unlike SD15 checkpoint training, SDXL on Astria is trained as a LoRA+text-embedding. As such, inference is taking place a on a base line model such as SDXL 1.0 and prompt.text should specify the loaded lora such as <lora:123456:0.83> - will load lora with id=123456 and strength=0.83

See LoRA docs on lora syntax

With SDXL you cannot combine multiple LoRAs.

Use any SDXL model from the gallery to do inference.

danger

If you are receiving 422 error model_type=pti is not supported. Use a checkpoint instead - Change the request URL to https://api.astria.ai/tunes/666678/prompts with 666678 as a hard-coded tune_id of SDXL 1.0 from the gallery. See explanation above.

POST /tunes/:id/prompts

# Note the hard-coded 666678 which is the tune_id of SDXL 1.0 from the gallery
curl -X POST -H "Authorization: Bearer $API_KEY" https://api.astria.ai/tunes/666678/prompts \
-F prompt[text]="<lora:tune_id:strength> a painting of ohwx man in the style of Van Gogh" \
-F prompt[negative_prompt]="old, blemish, wrin" \
-F prompt[super_resolution]=true \
-F prompt[face_correct]=true \
-F prompt[callback]="https://optional-callback-url.com/to-your-service-when-ready?prompt_id=1"
- + \ No newline at end of file diff --git a/docs/api/tune/create/index.html b/docs/api/tune/create/index.html index 87eb486d..554fc09d 100644 --- a/docs/api/tune/create/index.html +++ b/docs/api/tune/create/index.html @@ -5,14 +5,14 @@ Create a tune | Astria documentation - +

Create a tune

Creates a new fine-tune model from training images which in turn will be used to create prompts and generate images.

Parameters

name (required)

A class name the describes the fine-tune. e.g: man, woman, cat, dog, boy, girl, style

title (required)

Describes the fine-tune. Ideally a UUID related to the transaction. See idempotency for more information.

images (required)

An array of images to train the fine-tune with. The images can be uploaded as multipart/form-data or as image_urls.

image_urls (required)

An array of images to train the fine-tune with. The images can be uploaded as multipart/form-data or as image_urls.

callback (optional)

A webhook URL to be called when the tune is finished training. The webhook will receive a POST request with the tune object.

branch (optional)

Enum: sd15, sdxl1, fast. Will default to the base_tune branch if not specified, or to sd15 if base_tune is not specified.

info

Use branch=fast for mock testing

steps (optional)

Training steps. Recommended leaving blank in order to allow better defaults set by the system.

token (optional)

Unique short text to which the features will be embedded into. Default ohwx for SDXL and sks for SD15.

face_crop (optional)

Detects faces in training images and augments training set with cropped faces. Defaults to account setting

training_face_correct (optional)

Enhance training images using GFPGAN. Consider enabling if input image are low quality or low resolution. May result in over-smoothing.

base_tune_id (optional)

Training on top of former fine-tune or a different baseline model from the gallery (id in the URL). e.g: 690204 - Realistic Vision v5.1

model_type (optional)

Enum: lora, pti, faceid, null for checkpoint. For SDXL1 - API will default to pti and will ignore model_type parameter.

prompts_attributes (optional)

Array of prompts entities with all attributes. See create prompt for more information.

Returns

Returns a tune object if successful which will start training immediately and call callback once training is complete.

POST /tunes

# With images as multipart/form-data
# Hard coded tune id of Realistic Vision v5.1 from the gallery - https://www.astria.ai/gallery/tunes
# https://www.astria.ai/gallery/tunes/690204/prompts
curl -X POST -H "Authorization: Bearer $API_KEY" https://api.astria.ai/tunes \
-F tune[title]="John Doe - UUID - 1234-6789-1234-56789" \
-F tune[name]=man \
-F tune[branch]="fast" \
-F tune[callback]="https://optional-callback-url.com/webhooks/astria?user_id=1&tune_id=1" \
-F tune[base_tune_id]=690204 \
-F tune[token]=ohwx \
-F "tune[prompts_attributes][0][text]=ohwx man on space circa 1979 on cover of time magazine" \
-F tune[prompts_attributes][0][callback]="https://optional-callback-url.com/webhooks/astria?user_id=1&prompt_id=1&tune_id=1" \
-F "tune[images][]=@1.jpg" \
-F "tune[images][]=@2.jpg" \
-F "tune[images][]=@3.jpg" \
-F "tune[images][]=@4.jpg"

# With image_urls as form-data
curl -X POST -H "Authorization: Bearer $API_KEY" https://api.astria.ai/tunes \
-F tune[title]="Grumpy cat - UUID - 1234-6789-1234-56789" \
-F tune[name]=cat \
-F tune[branch]="fast" \
-F tune[callback]="https://optional-callback-url.com/to-your-service-when-ready?user_id=1&tune_id=1" \
-F tune[base_tune_id]=690204 \
-F tune[token]=ohwx \
-F "tune[image_urls][]=https://i.imgur.com/HLHBnl9.jpeg" \
-F "tune[image_urls][]=https://i.imgur.com/HLHBnl9.jpeg" \
-F "tune[image_urls][]=https://i.imgur.com/HLHBnl9.jpeg" \
-F "tune[image_urls][]=https://i.imgur.com/HLHBnl9.jpeg"

# As JSON
cat > data.json <<- EOM
{
"tune": {
"title": "Grumpy Cat - UUID - 1234-6789-1234-56789",
"name": "cat",
"branch": "fast",
"callback": "https://optional-callback-url.com/to-your-service-when-ready?user_id=1&tune_id=1",
"image_urls": [
"https://i.imgur.com/HLHBnl9.jpeg",
"https://i.imgur.com/HLHBnl9.jpeg",
"https://i.imgur.com/HLHBnl9.jpeg",
"https://i.imgur.com/HLHBnl9.jpeg"
],
"prompts_attributes": [
{
"text": "ohwx cat in space circa 1979 French illustration",
"callback": "https://optional-callback-url.com/to-your-service-when-ready?user_id=1&tune_id=1&prompt_id=1"
},
{
"text": "ohwx cat getting into trouble viral meme",
"callback": "https://optional-callback-url.com/to-your-service-when-ready?user_id=1&tune_id=1&prompt_id=1"
}
]
}
}
EOM

curl -X POST -H"Content-Type: application/json" -H "Authorization: Bearer $API_KEY" --data @data.json https://api.astria.ai/tunes

Response


[
{
"id": 1,
"title": "John Doe",
"name": "woman",
"token": "ohwx",
"base_tune_id": null,
"args": null,
"steps": null,
"face_crop": null,
"training_face_correct": false,
"ckpt_url": "https://sdbooth2-production.s3.amazonaws.com/mock",
"ckpt_urls": [
"https://sdbooth2-production.s3.amazonaws.com/mock"
],
"eta": "2023-10-02T14:32:40.363Z",
"trained_at": "2023-10-02T14:32:40.363Z",
"started_training_at": "2023-10-02T14:32:05.229Z",
"expires_at": "2023-11-01T14:32:40.363Z",
"created_at": "2023-10-02T14:32:05.067Z",
"branch": "sdxl1",
"model_type": "lora",
"updated_at": "2023-10-02T14:32:40.363Z",
"url": "https://www.astria.ai/tunes/788416.json",
"orig_images": [
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock"
]
},
{
"id": 775459,
"title": "Marry Jane",
"name": null,
"is_api": false,
"token": "ohwx",
"base_tune_id": null,
"args": null,
"steps": null,
"face_crop": null,
"training_face_correct": null,
"ckpt_url": "https://sdbooth2-production.s3.amazonaws.com/mock",
"ckpt_urls": [
"https://sdbooth2-production.s3.amazonaws.com/mock"
],
"eta": "2023-09-23T16:07:49.137Z",
"trained_at": "2023-09-23T16:07:49.137Z",
"started_training_at": "2023-09-23T16:07:37.334Z",
"expires_at": "2023-10-23T16:07:49.137Z",
"created_at": "2023-09-23T16:07:36.606Z",
"branch": "sdxl1",
"model_type": "lora",
"updated_at": "2023-09-23T16:07:49.138Z",
"url": "https://www.astria.ai/tunes/775459.json",
"orig_images": [
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock"
]
}
]
- + \ No newline at end of file diff --git a/docs/api/tune/index.html b/docs/api/tune/index.html index 11ccfeda..a87f1146 100644 --- a/docs/api/tune/index.html +++ b/docs/api/tune/index.html @@ -5,14 +5,14 @@ The tune object | Astria documentation - +

The tune object

Tune (or Fine-tune) represents a model that is created using training images to learn a new concept or subject. At its core a fine-tune is a neural-network weights file (usually weights 2GB) and contains the information of the trained images. A fine-tune model can be of various types (checkpoint or lora) and can be used to create prompts which will in turn generate images.

- + \ No newline at end of file diff --git a/docs/api/tune/list/index.html b/docs/api/tune/list/index.html index 2dd3286c..306e9945 100644 --- a/docs/api/tune/list/index.html +++ b/docs/api/tune/list/index.html @@ -5,13 +5,13 @@ List all tunes | Astria documentation - +

List all tunes

Parameters

offset (optional)

Starting offset for the list of prompts. Default: 0. Current page size is 20.

Returns

An array of all fine-tunes owned by the authenticated user

GET /tunes

curl -X GET -H "Authorization: Bearer $API_KEY" https://api.astria.ai/tunes

Response


[
{
"id": 1,
"title": "John Doe",
"name": "woman",
"token": "ohwx",
"base_tune_id": null,
"args": null,
"steps": null,
"face_crop": null,
"ckpt_url": "https://sdbooth2-production.s3.amazonaws.com/mock",
"ckpt_urls": [
"https://sdbooth2-production.s3.amazonaws.com/mock"
],
"trained_at": "2023-10-02T14:32:40.363Z",
"started_training_at": "2023-10-02T14:32:05.229Z",
"expires_at": "2023-11-01T14:32:40.363Z",
"created_at": "2023-10-02T14:32:05.067Z",
"branch": "sdxl1",
"model_type": "lora",
"updated_at": "2023-10-02T14:32:40.363Z",
"url": "https://www.astria.ai/tunes/788416.json",
"orig_images": [
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock"
]
},
{
"id": 775459,
"title": "Marry Jane",
"name": null,
"is_api": false,
"token": "ohwx",
"base_tune_id": null,
"args": null,
"steps": null,
"face_crop": null,
"ckpt_url": "https://sdbooth2-production.s3.amazonaws.com/mock",
"ckpt_urls": [
"https://sdbooth2-production.s3.amazonaws.com/mock"
],
"trained_at": "2023-09-23T16:07:49.137Z",
"started_training_at": "2023-09-23T16:07:37.334Z",
"expires_at": "2023-10-23T16:07:49.137Z",
"created_at": "2023-09-23T16:07:36.606Z",
"branch": "sdxl1",
"model_type": "lora",
"updated_at": "2023-09-23T16:07:49.138Z",
"url": "https://www.astria.ai/tunes/775459.json",
"orig_images": [
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock"
]
}
]
- + \ No newline at end of file diff --git a/docs/api/tune/retrieve/index.html b/docs/api/tune/retrieve/index.html index bbdfd511..5cd25978 100644 --- a/docs/api/tune/retrieve/index.html +++ b/docs/api/tune/retrieve/index.html @@ -5,13 +5,13 @@ Retrieve a tune | Astria documentation - +

Retrieve a tune

Parameters

No parameters

Returns

Returns the Tune object.

GET /tunes/:id

curl -X GET -H "Authorization: Bearer $API_KEY" https://api.astria.ai/tunes/1

Response

{
"id": 1,
"title": "John Doe",
"name": "woman",
"token": "ohwx",
"base_tune_id": null,
"args": null,
"steps": null,
"face_crop": null,
"ckpt_url": "https://sdbooth2-production.s3.amazonaws.com/mock",
"ckpt_urls": [
"https://sdbooth2-production.s3.amazonaws.com/mock"
],
"trained_at": "2023-10-02T14:32:40.363Z",
"started_training_at": "2023-10-02T14:32:05.229Z",
"expires_at": "2023-11-01T14:32:40.363Z",
"created_at": "2023-10-02T14:32:05.067Z",
"branch": "sdxl1",
"model_type": "lora",
"updated_at": "2023-10-02T14:32:40.363Z",
"url": "https://www.astria.ai/tunes/788416.json",
"orig_images": [
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock"
]
}
- + \ No newline at end of file diff --git a/docs/category/api/index.html b/docs/category/api/index.html index 190f88bd..c0f9073b 100644 --- a/docs/category/api/index.html +++ b/docs/category/api/index.html @@ -5,13 +5,13 @@ API | Astria documentation - + - + \ No newline at end of file diff --git a/docs/category/features/index.html b/docs/category/features/index.html index 2f2f0344..1523eb82 100644 --- a/docs/category/features/index.html +++ b/docs/category/features/index.html @@ -5,13 +5,13 @@ Features | Astria documentation - + - + \ No newline at end of file diff --git a/docs/category/prompts/index.html b/docs/category/prompts/index.html index 8bcce196..86945dd8 100644 --- a/docs/category/prompts/index.html +++ b/docs/category/prompts/index.html @@ -5,13 +5,13 @@ Prompts | Astria documentation - + - + \ No newline at end of file diff --git a/docs/category/tunes/index.html b/docs/category/tunes/index.html index eab2e06b..7c30a25a 100644 --- a/docs/category/tunes/index.html +++ b/docs/category/tunes/index.html @@ -5,13 +5,13 @@ Tunes | Astria documentation - + - + \ No newline at end of file diff --git a/docs/category/use-cases/index.html b/docs/category/use-cases/index.html index cf43e37f..e3bb70d0 100644 --- a/docs/category/use-cases/index.html +++ b/docs/category/use-cases/index.html @@ -5,13 +5,13 @@ Use cases | Astria documentation - + - + \ No newline at end of file diff --git a/docs/changes/index.html b/docs/changes/index.html index 69cfb2c1..5d57c9be 100644 --- a/docs/changes/index.html +++ b/docs/changes/index.html @@ -5,13 +5,13 @@ Changes | Astria documentation - +

Changes

  • 2024-02-08 Deprecate prompt aspect-ratio. Use width and height instead for better results (backward compatability available).
  • 2024-02-08 Added --fix_bindi to remove dot on the forehead.
  • 2024-01-30 Deprecated prompt expansion.
  • 2024-01-25 Upscale only Allows you to upscale an existing image.
  • 2024-01-17 FaceID Preserve identity without fine-tuning.
  • 2024-01-03 Tiled upscale improved upscaling.
  • 2024-01-03 Multi pass inference unlocks new level of detail, image composition and similarity.
  • 2023-12-14 Prompt masking feature added - to support product shots and Masked Portraits
  • 2023-11-27 LCM (Latent Consistency Models) scheduler allows inference in 6 steps
  • 2023-11-01 Multi-person inference using LoRA and SD15 models
  • 2023-10-29 Face-Swap feature added - uses training images to improve inference time similarity
  • 2023-10-22 Themes - Have ChatGPT create 10 prompts for you from a short 2-4 word theme description.
- + \ No newline at end of file diff --git a/docs/features/face-inpainting/index.html b/docs/features/face-inpainting/index.html index 99444d12..eb6895dc 100644 --- a/docs/features/face-inpainting/index.html +++ b/docs/features/face-inpainting/index.html @@ -5,14 +5,14 @@ Face inpainting | Astria documentation - + - + \ No newline at end of file diff --git a/docs/features/face-swap/index.html b/docs/features/face-swap/index.html index 51273144..713dbbc6 100644 --- a/docs/features/face-swap/index.html +++ b/docs/features/face-swap/index.html @@ -5,13 +5,13 @@ Face Swap | Astria documentation - + - + \ No newline at end of file diff --git a/docs/features/faceid/index.html b/docs/features/faceid/index.html index 76cecefa..9258d6f0 100644 --- a/docs/features/faceid/index.html +++ b/docs/features/faceid/index.html @@ -5,7 +5,7 @@ FaceID | Astria documentation - + @@ -13,7 +13,7 @@

FaceID

BETA

FaceID images

source.png

See example prompts in the gallery

Overview

FaceID is a model adapter allowing to generate image while preserving a person identity without fine-tuning. Input images can be as few as just one image. The adapter was trained on human faces and cannot be used for pets or other subjects.

Usage

  1. Generate a placeholder fine-tune dataset which will contain the person images. The fine-tune will not go through training and will be immediately ready. faceid-new-fine-tune.png
  2. Generate the image using the FaceID adapter using a syntax similar to LoRA - <faceid:ID:1>

Notes

  1. FaceID can work nicely together with Face Swap to improve similarity.
  2. Disable Face-Swap in case your prompt is animation style. Additionally, make sure to select an animated model from the gallery.
  3. For fast generation use the LCM schedulers.
  4. For realistic images, please consider enabling face-correct to improve facial features.
  5. When creating a fine-tune: Base-model is only used as a default for UI generation but does not affect FaceID.
  6. When creating a fine-tune: steps and training_face_correct are not used for FaceID.

API

FaceID is an adapter loaded on top of a base model. As such the inference needs to take place on a model from the gallery. The fine-tune's trained_at is set upon creation and there is no training time. As such no callback is needed.

danger

If you are receiving 422 error model_type=faceid is not supported. Use a checkpoint instead - Change the request URL to https://api.astria.ai/tunes/690204/prompts with 690204 as a hard-coded tune_id of Realistic Vision v5.1 from the gallery. See explanation above.

Step 1: Create fine-tune

POST /tunes

# With images as multipart/form-data
# Hard coded tune id of Realistic Vision v5.1 from the gallery - https://www.astria.ai/gallery/tunes
# https://www.astria.ai/gallery/tunes/690204/prompts
curl -X POST -H "Authorization: Bearer $API_KEY" https://api.astria.ai/tunes \
-F tune[title]="John Doe - UUID - 1234-6789-1234-56789" \
-F tune[name]=man \
-F tune[model_type]="faceid" \
-F tune[callback]="https://optional-callback-url.com/webhooks/astria?user_id=1&tune_id=1" \
-F tune[base_tune_id]=690204 \
-F "tune[images][]=@1.jpg" \
-F "tune[images][]=@2.jpg" \
-F "tune[images][]=@3.jpg" \
-F "tune[images][]=@4.jpg"

# With image_urls as form-data
curl -X POST -H "Authorization: Bearer $API_KEY" https://api.astria.ai/tunes \
-F tune[title]="John Doe - UUID - 1234-6789-1234-56789" \
-F tune[name]=man \
-F tune[model_type]="faceid" \
-F tune[callback]="https://optional-callback-url.com/to-your-service-when-ready?user_id=1&tune_id=1" \
-F tune[base_tune_id]=690204 \
-F "tune[image_urls][]=https://i.imgur.com/HLHBnl9.jpeg" \
-F "tune[image_urls][]=https://i.imgur.com/HLHBnl9.jpeg" \
-F "tune[image_urls][]=https://i.imgur.com/HLHBnl9.jpeg" \
-F "tune[image_urls][]=https://i.imgur.com/HLHBnl9.jpeg"

# As JSON
cat > data.json <<- EOM
{
"tune": {
"title": "John Doe - UUID - 1234-6789-1234-56789",
"name": "man",
"model_type": "faceid",
"callback": "https://optional-callback-url.com/to-your-service-when-ready?user_id=1&tune_id=1",
"image_urls": [
"https://i.imgur.com/HLHBnl9.jpeg",
"https://i.imgur.com/HLHBnl9.jpeg",
"https://i.imgur.com/HLHBnl9.jpeg",
"https://i.imgur.com/HLHBnl9.jpeg"
]
}
}
EOM

curl -X POST -H"Content-Type: application/json" -H "Authorization: Bearer $API_KEY" --data @data.json https://api.astria.ai/tunes

Response


[
{
"id": 1,
"title": "John Doe",
"name": "woman",
"token": "ohwx",
"base_tune_id": null,
"args": null,
"steps": null,
"face_crop": null,
"training_face_correct": false,
"ckpt_url": "https://sdbooth2-production.s3.amazonaws.com/mock",
"ckpt_urls": [
"https://sdbooth2-production.s3.amazonaws.com/mock"
],
"eta": "2023-10-02T14:32:40.363Z",
"trained_at": "2023-10-02T14:32:40.363Z",
"started_training_at": "2023-10-02T14:32:05.229Z",
"expires_at": "2023-11-01T14:32:40.363Z",
"created_at": "2023-10-02T14:32:05.067Z",
"branch": "sd15",
"model_type": "faceid",
"updated_at": "2023-10-02T14:32:40.363Z",
"url": "https://www.astria.ai/tunes/788416.json",
"orig_images": [
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock"
]
},
{
"id": 775459,
"title": "Marry Jane",
"name": null,
"is_api": false,
"token": "ohwx",
"base_tune_id": null,
"args": null,
"steps": null,
"face_crop": null,
"training_face_correct": null,
"ckpt_url": "https://sdbooth2-production.s3.amazonaws.com/mock",
"ckpt_urls": [
"https://sdbooth2-production.s3.amazonaws.com/mock"
],
"eta": "2023-09-23T16:07:49.137Z",
"trained_at": "2023-09-23T16:07:49.137Z",
"started_training_at": "2023-09-23T16:07:37.334Z",
"expires_at": "2023-10-23T16:07:49.137Z",
"created_at": "2023-09-23T16:07:36.606Z",
"branch": "sd15",
"model_type": "faceid",
"updated_at": "2023-09-23T16:07:49.138Z",
"url": "https://www.astria.ai/tunes/775459.json",
"orig_images": [
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock",
"https://sdbooth2-production.s3.amazonaws.com/mock"
]
}
]

Step 2: Create prompts

POST /tunes/:id/prompts

# Note the hard-coded 690204 which is the tune_id of Realistic Vision v5.1 from the gallery
curl -X POST -H "Authorization: Bearer $API_KEY" https://api.astria.ai/tunes/690204/prompts \
-F prompt[text]="<faceid:tune_id:strength> woman trekking in the alps" \
-F prompt[negative_prompt]="" \
-F prompt[super_resolution]=true \
-F prompt[face_correct]=true \
-F prompt[face_swap]=true \
-F prompt[callback]="https://optional-callback-url.com/to-your-service-when-ready?prompt_id=1"
- + \ No newline at end of file diff --git a/docs/features/lcm/index.html b/docs/features/lcm/index.html index 72f054d6..1d61b812 100644 --- a/docs/features/lcm/index.html +++ b/docs/features/lcm/index.html @@ -5,13 +5,13 @@ Latent Consistency Models | Astria documentation - +

Latent Consistency Models

DPM SDE Karras 30 steps
15 seconds for 8 images

source.png

LCM scheduler 6 steps
4 seconds for 8 images

faceid-output.png

Overview

Latent Consistency Models (LCM) is a combination of a scheduler and a LoRA which allow generation within 5-6 steps thus reducing processing time significantly.

Usage

Select the lcm scheduler from the Schedulers dropdown. For API usage see prompt API.

- + \ No newline at end of file diff --git a/docs/features/loras/index.html b/docs/features/loras/index.html index 2f76867b..0e9d28dc 100644 --- a/docs/features/loras/index.html +++ b/docs/features/loras/index.html @@ -5,13 +5,13 @@ LoRAs | Astria documentation - +

LoRAs

info

This feature is mainly relevant for SD15 models. SDXL subject fine-tuning use LoRA, and tend to collide with other style LoRAs

LoRA (low ranking adaption) is a type of model fine-tuning which takes an additional set of model weights (or parameters) and trains those on top while not changing the existing model. For this reason LoRA training is faster comparing to full checkpoint training as it only trains a small amount of weights comparing to the full model. Additionally, the LoRA can be loaded on top of any base model, and multiple LoRA can be combined.

The LoRA ecosystem contains many different types of weight structures with different ranks. For this reason some LoRA might not be compatible in different UIs or platforms.

LoRAs can be used to enhance the quality of the image or deepen a specific style that is desired.

Astria provides a LoRA gallery and allows importing external LoRAs. To use a LoRA go to the generate tab and use the LoRA syntax as such: <lora:name:weight>. For example, a very common usage <lora:epi_noiseoffset2:0.5> - will load a Noise offset lora at strength 0.5 which will turn the image a bit darker and deepen the contrast.

See example prompts in the gallery

You can also combine LoRAs as such:

<lora:epi_noiseoffset2:0.5><lora:FilmVelvia2:0.5><lora:add_detail:0.5><lora:epiCRealismHelper:0.2>
danger

Note that LoRA can reduce the similarity of trained subjects when used together. To avoid this use low-strength for the lora.

Some LoRAs may be trained on trigger words which are required to show in the prompt text. Check the LoRA information by clicking on the Website link and reading its docs and trigger words.

- + \ No newline at end of file diff --git a/docs/features/multi-pass-inference/index.html b/docs/features/multi-pass-inference/index.html index 37a3c920..a51cfadb 100644 --- a/docs/features/multi-pass-inference/index.html +++ b/docs/features/multi-pass-inference/index.html @@ -5,13 +5,13 @@ Multi-Pass inference | Astria documentation - +

Multi-Pass inference

BETA

Gym

source.png

Hiking

generated.png

Posh

generated.png

Swimsuit

generated.png

Fashion

source.png

Starwars

generated.png

Mech-warrior

generated.png

Dreamy

generated.png

See example prompts in the gallery.

Overview

Multi-pass feature is a unique feature to the Astria platform allowing to generate a background image separately from the person thus offering a new level of high-quality results.

Advantages

  • Base prompt first pass allows to use the full breadth of an unmodified model. As such image compositions, fabrics and textures and details will show much better.
  • Separating the person from the background allows to prompt in more details on clothing, accessories and colors.
  • Better similarity to the original subject.
  • Multi-pass allows mixing SDXL model for base prompt and SD15 for person prompt.

Syntax

The prompt is divided by the BREAK keyword such as:

  • 1st base prompt used to generate the background and scene.
  • 2nd common prompt that's concatenated to each person prompt and the base prompt to avoid repetition.
  • 3rd person prompt Describe what the person is wearing or holding.

To load the person checkpoint or LoRA use the <lora:ID:1> syntax.

tip

Note that multi-pass works specifically well with SD15 models, while SDXL models are not recommended.

tip

<lora:ID:1> syntax specifically for multi-pass inference can be used to also load a checkpoint and not just a LoRA.

See pricing for the cost of this feature.

Example prompt

a model in preppy style, old money aesthetic, posh style, elite school stlye, luxurious style, gossip girl neo-prep style, ralph lauren style, country club style, ivy league style
--tiled_upscale
BREAK
BREAK sks woman old money aesthetic, posh style, elite school, luxurious, gossip girl neo-prep style, ralph lauren style, ivy league style <lora:753945:1>
num_images=4
negative_prompt=asian, , old, , multiple heads, 2 heads, elongated body, double image, 2 faces, multiple people, double head, , (nsfw), nsfw, nsfw, nsfw, nude, nude, nude, porn, porn, porn, naked, naked, nude, porn, black and white, monochrome, skin marks, skin lesions, pimples, <cyberrealistic-neg>, <badhandv4>, <negative-hand>, black and white, monochrome, greyscale, black and white, monochrome, greyscale, (black and white, monochrome, greyscale), frilly, frilled, lacy, ruffled, armpit hair, victorian, (sunglasses), (sunglasses), (deformed iris, deformed pupils, semi-realistic, cgi, 3d, render, sketch, cartoon, drawing, anime:1.4), text, close up, cropped, out of frame, worst quality, low quality, jpeg artifacts, ugly, duplicate, morbid, mutilated, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, mutation, deformed, blurry, dehydrated, bad anatomy, bad proportions, extra limbs, cloned face, disfigured, gross proportions, malformed limbs, missing arms, missing legs, extra arms, ex BREAK BREAK sunglasses, snow, skiing, ski resorts, snowboard
seed=33504
steps=30
cfg_scale=
controlnet=
input_image_url=
mask_image_url=
denoising_strength=
controlnet_conditioning_scale=
controlnet_txt2img=false
super_resolution=true
inpaint_faces=true
face_correct=false
film_grain=true
face_swap=true
hires_fix=false
ar=1:1
scheduler=dpm++sde_karras
color_grading=
use_lpw=true
w=512
h=768
- + \ No newline at end of file diff --git a/docs/features/multiperson/index.html b/docs/features/multiperson/index.html index 79268470..6c4a6549 100644 --- a/docs/features/multiperson/index.html +++ b/docs/features/multiperson/index.html @@ -5,7 +5,7 @@ Multi-Person | Astria documentation - + @@ -14,7 +14,7 @@ See example prompts in the gallery or in the community feed.

See pricing for the cost of this feature.

Requirements

It is recommended to use SD15 models based on RealisticVision V5.1 as SD15 works better than SDXL for this use-case.

Step 1: Training

Create a fine-tune for each person. Model can be either lora or a checkpoint.

img.png

Step 2 - Inference

Provide an input_image and controlnet=pose so that the generation has a solid image composition to start with. If no input_image is given, a constant pose input image (with arms crossed) will be used for each person.

The prompt is divided by the BREAK keyword such as:

  • 1st base prompt used to generate the background and scene.
  • 2nd common prompt that's concatenated to each person prompt and the base prompt to avoid repetition.
  • 3+ each person and its LoRA syntax reference (even for checkpoint)

Examples

1. Pre-processed controlnet txt2img pose input image

Pose input image

source.png

Multiperson result

generated.png

Glamour aristocrat party 2girl 
BREAK Zeiss Canon Mark D5, wallpaper, photorealistic, detailed skin
BREAK (ohwx woman) <lora:849330:1> BREAK (ohwx woman) <lora:861629:1>
num_images=1
negative_prompt=hat, open mouth, text, oversaturated, ugly, 3d, render, cartoon, grain, low-res, kitsch ugly, tiling, poorly drawn hands, poorly drawn feet, poorly drawn face, out of frame, mutation, mutated, extra limbs, extra legs, extra arms, disfigured, deformed, cross-eye, body out of shot
seed=
steps=
cfg_scale=
controlnet=pose
input_image_url=https://sdbooth2-production.s3.amazonaws.com/2vxpjloxggnv9s4tw33ckn5xzdnp
mask_image_url=
denoising_strength=
controlnet_conditioning_scale=
controlnet_txt2img=true
super_resolution=true
inpaint_faces=true
face_correct=false
film_grain=true
face_swap=true
hires_fix=true
ar=1:1
scheduler=dpm++sde_karras
color_grading=
use_lpw=true
w=768
h=512

2. Pose input image txt2img

To use an input image for the pose, while preserving the semantics of the input image, use an input image with controlnet_txt2img=True and controlnet=pose

Pose input image

multiperson-txt2img-pose.jpg

Multiperson result

multiperson-txt2img-pose.jpg

A beautiful man and woman in an Italian village 
BREAK
BREAK ohwx woman, red blouse jeans, and belt, holding a rifle <lora:749152:1>
BREAK ohwx man, dark vest <lora:749183:1>
num_images=4
negative_prompt=
seed=43
steps=30
cfg_scale=
controlnet=pose
input_image_url=https://sdbooth2-production.s3.amazonaws.com/2ftedv374nggsabon14nqvuqyzsc
mask_image_url=
denoising_strength=
controlnet_conditioning_scale=
controlnet_txt2img=true
super_resolution=true
inpaint_faces=true
face_correct=false
film_grain=false
face_swap=true
hires_fix=true
ar=1:1
scheduler=dpm++sde_karras
color_grading=
use_lpw=true
w=
h=

3. Prompt with input image as a background

In some cases it might be desired to keep the exact same background as the input image, and only change the people in the image. To do this, add an input_image and keep the base prompt empty, i.e: start the prompt with BREAK BREAK to keep both the base and common prompts empty.

Pose input image

multiperson-txt2img-pose.jpg

Multiperson result

multiperson-txt2img-pose.jpg

BREAK 
BREAK ohwx woman, red blouse jeans, and belt, holding a rifle <lora:749152:1>
BREAK ohwx man, dark vest <lora:749183:1>
num_images=4
negative_prompt=
seed=43
steps=30
cfg_scale=
controlnet=
input_image_url=https://sdbooth2-production.s3.amazonaws.com/4j0pej570oosmbj22xx6igf3gfi2
mask_image_url=
denoising_strength=
controlnet_conditioning_scale=
controlnet_txt2img=false
super_resolution=true
inpaint_faces=true
face_correct=false
film_grain=false
face_swap=true
hires_fix=true
ar=1:1
scheduler=dpm++sde_karras
color_grading=
use_lpw=true
w=
h=

4. No input image

The base prompt will be used to generate the background and scene. This method is more prone to variation and results can be less consistent.

Multiperson result

multiperson-no-input-image.jpg

A beautiful man and woman in an Italian village 
BREAK
BREAK ohwx woman, red blouse jeans, and belt, holding a rifle <lora:749152:1>
BREAK ohwx man, dark vest <lora:749183:1>
num_images=4
negative_prompt=
seed=43
steps=30
cfg_scale=
controlnet=
input_image_url=
mask_image_url=
denoising_strength=
controlnet_conditioning_scale=
controlnet_txt2img=true
super_resolution=true
inpaint_faces=true
face_correct=false
film_grain=false
face_swap=true
hires_fix=true
ar=1:1
scheduler=dpm++sde_karras
color_grading=
use_lpw=true
w=512
h=640

5. DALLE background image

Prefix the base prompt with DALLE: to use OpenAI DALLE3 to generate the background and scene. Only the

Multiperson with DALLE background image

multiperson-dalle.jpg

DALLE: A portrait of a couple in a small Italian village
BREAK
BREAK ohwx woman, red blouse jeans, and belt, holding a rifle <lora:749152:1>
BREAK ohwx man, dark vest <lora:749183:1>
num_images=4
negative_prompt=
seed=43
steps=30
cfg_scale=
controlnet=
input_image_url=
mask_image_url=
denoising_strength=
controlnet_conditioning_scale=
controlnet_txt2img=false
super_resolution=true
inpaint_faces=true
face_correct=false
film_grain=false
face_swap=true
hires_fix=true
ar=1:1
scheduler=dpm++sde_karras
color_grading=
use_lpw=true
w=512
h=640

6. Img2img

Not recommended. When not specifying a controlnet pose/depth to use, the model is having hard time creating multi person results and the quality is not consistent.

Pose input image

multiperson-txt2img-pose.jpg

Multiperson result

multiperson-img2img.jpg

A beautiful man and woman in an Italian village 
BREAK
BREAK ohwx woman, red blouse jeans, and belt, holding a rifle <lora:749152:1>
BREAK ohwx man, dark vest <lora:749183:1>
num_images=4
negative_prompt=
seed=43
steps=30
cfg_scale=
controlnet=
input_image_url=https://sdbooth2-production.s3.amazonaws.com/3moqd5vab7j68iuozpsnx8m7mxil
mask_image_url=
denoising_strength=
controlnet_conditioning_scale=
controlnet_txt2img=true
super_resolution=true
inpaint_faces=true
face_correct=false
film_grain=false
face_swap=true
hires_fix=true
ar=1:1
scheduler=dpm++sde_karras
color_grading=
use_lpw=true
w=
h=
- + \ No newline at end of file diff --git a/docs/features/prompt-masking/index.html b/docs/features/prompt-masking/index.html index 121ebddd..715d6f60 100644 --- a/docs/features/prompt-masking/index.html +++ b/docs/features/prompt-masking/index.html @@ -5,13 +5,13 @@ Prompt Masking | Astria documentation - +
-

Prompt Masking

Prompt masking uses a short text to create a mask from the input image. The mask can then be used to inpaint parts of the image. Use the below parameters as part of the prompts to use auto-masking

Prompt masking can be used for product shots or Masked Portraits.

See example prompts in the gallery

Syntax

Below parameters should be used as text inside the prompt text

--mask_prompt

A short text like foreground or face, head or person.

--mask_negative

A space separated list of words that should not appear in the mask. e.g: clothes hat shoes

--mask_invert

Inverts the mask

--mask_dilate

Dilates the mask. Negative values will erode the mask. Use percentage values like -20% or -20 if input image size is dynamic.

--hires_denoising_strength

Denoising strength for hires-fix. Use hi-res fix with prompt-masking to smooth the colors and blending. Range 0-1. Default: 0.4.

realistic digital painting, astronaut in a garden on a spring day, by martine johanna and simon stalenhag and chie yoshii and casey weldon and wlop, ornate, dynamic, particulate, rich colors, intricate, elegant, highly detailed, harpers bazaar art, fashion magazine, smooth, sharp focus, 8 k, octane rende --mask_prompt foreground --mask_negative clothes --mask_invert --mask_dilate -20 --hires_denoising_strength 0.1
num_images=1
negative_prompt=clay, text, watermark, padding, cropped, typography
seed=
steps=30
cfg_scale=
controlnet=pose
input_image_url=https://sdbooth2-production.s3.amazonaws.com/esfd53purhhcijhmzka4c364x6lb
mask_image_url=
denoising_strength=
controlnet_conditioning_scale=
controlnet_txt2img=false
super_resolution=true
inpaint_faces=false
face_correct=true
film_grain=false
face_swap=false
hires_fix=true
ar=1:1
scheduler=dpm++sde_karras
color_grading=
use_lpw=true
w=
h=
- +

Prompt Masking

Prompt masking uses a short text to create a mask from the input image. The mask can then be used to inpaint parts of the image. Use the below parameters as part of the prompts to use auto-masking

Prompt masking can be used for product shots or Masked Portraits.

See example prompts in the gallery

danger

SDXL inpainting results are poor, and so we recommend using SD15 models for this use case.

Syntax

Below parameters should be used as text inside the prompt text

--mask_prompt

A short text like foreground or face, head or person.

--mask_negative

A space separated list of words that should not appear in the mask. e.g: clothes hat shoes

--mask_invert

Inverts the mask

--mask_dilate

Dilates the mask. Negative values will erode the mask. Use percentage values like -20% or -20 if input image size is dynamic.

--hires_denoising_strength

Denoising strength for hires-fix. Use hi-res fix with prompt-masking to smooth the colors and blending. Range 0-1. Default: 0.4.

realistic digital painting, astronaut in a garden on a spring day, by martine johanna and simon stalenhag and chie yoshii and casey weldon and wlop, ornate, dynamic, particulate, rich colors, intricate, elegant, highly detailed, harpers bazaar art, fashion magazine, smooth, sharp focus, 8 k, octane rende --mask_prompt foreground --mask_negative clothes --mask_invert --mask_dilate -20 --hires_denoising_strength 0.1
num_images=1
negative_prompt=clay, text, watermark, padding, cropped, typography
seed=
steps=30
cfg_scale=
controlnet=pose
input_image_url=https://sdbooth2-production.s3.amazonaws.com/esfd53purhhcijhmzka4c364x6lb
mask_image_url=
denoising_strength=
controlnet_conditioning_scale=
controlnet_txt2img=false
super_resolution=true
inpaint_faces=false
face_correct=true
film_grain=false
face_swap=false
hires_fix=true
ar=1:1
scheduler=dpm++sde_karras
color_grading=
use_lpw=true
w=
h=
+ \ No newline at end of file diff --git a/docs/features/tiled-upscale/index.html b/docs/features/tiled-upscale/index.html index 708f9c0f..0f854e02 100644 --- a/docs/features/tiled-upscale/index.html +++ b/docs/features/tiled-upscale/index.html @@ -5,14 +5,14 @@ Tiled upscale | Astria documentation - +

Tiled upscale

BETA

Super-Resolution

source.png

HiRes fix

source.png

Tiled upscale

source.png

Super-Resolution

source.png

HiRes fix

source.png

Tiled upscale

source.png

See example prompts in the gallery.

Overview

Tiled upscale iterate over the image and upscale each tile individually. This allows to preserve the original training resolution of the image thus allowing sharper and better details. See example prompts in the gallery

Usage

To enable tiled upscale, add --tiled_upscale to the prompt text.

See pricing for the cost of this feature.

Example

photograph of a woman, (smiling facial expression:1.1), textured skin, goosebumps, (blonde hair:1.2), (unbuttoned white shirt:1.2), distressed boyfriend jeans, long sleeves, (candlelight,chiaroscuro:1.1), cowboy shot, dark and mysterious cave with unique rock formations and hidden wonders, perfect eyes, Porta 160 color, shot on ARRI ALEXA 65, bokeh, sharp focus on subject, shot by Don McCullin --tiled_upscale
num_images=2
negative_prompt=nude, nsfw, (CyberRealistic_Negative-neg:0.8), (deformed iris, deformed pupils, semi-realistic, cgi, 3d, render, sketch, cartoon, drawing, anime, mutated hands and fingers:1.4), (deformed, distorted, disfigured:1.3), poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs, disconnected limbs, mutation, mutated, ugly, disgusting, amputation
seed=43
steps=30
cfg_scale=
controlnet=
input_image_url=
mask_image_url=
denoising_strength=
controlnet_conditioning_scale=
controlnet_txt2img=false
super_resolution=true
inpaint_faces=false
face_correct=false
film_grain=false
face_swap=false
hires_fix=false
ar=1:1
scheduler=dpm++sde_karras
color_grading=
use_lpw=true
w=512
h=768
- + \ No newline at end of file diff --git a/docs/use-cases/ai-photoshoot/index.html b/docs/use-cases/ai-photoshoot/index.html index 58883f53..9e4e0ee8 100644 --- a/docs/use-cases/ai-photoshoot/index.html +++ b/docs/use-cases/ai-photoshoot/index.html @@ -5,13 +5,13 @@ AI Photoshoot | Astria documentation - +

AI Photoshoot

Overview

The term "AI Photoshoot", "AI Headshots" or "AI Avatars" refers to the process of creating a generative AI model from around 16 images of a person. This model can then be used to create professional photography imagery of the person, without requiring high-end camera equipment, lighting, or wardrobe.

AI headshots are particularly useful for social profile photos, such as those used on LinkedIn or Facebook, as well as on dating sites.

Another recent trend is the creation of virtual social influencers - consistent characters that do not exist in reality, but can be generated consistently in different scenes and everyday life.

Training images

source.png

Output images

generated.png

Steps

1. Create a model

At this stage, we will create a 2GB numeric (AI) model file that contains the "features" of a person. This is not the part where we generate new images, but only train a dedicated AI model.

To begin, go to the New tune page.

Title - Enter the person's name, e.g. Elon Musk. Or choose whatever title that fits your needs. Choosing a title is not a part of the actual training of the model.

Class Name - Enter man or woman, or possibly boy, girl, cat, or dog. This is highly important as it is a part of the actual technical training of your model. We automatically generate images of the "class" while training, and by comparing them to your images (the training set), the model 'learns' your subject's unique features.

Base tune - Select a baseline model on which you would like to train. For realistic generations, we recommend using Realistic Vision v5.1, while for more artistic trainings, use Deliberate.

Other settings are optional and can be changed to your preference.

2. Generate images

Even before the model is ready, you can prepare a queue of prompts (texts) that will be fed into the model and used to generate models.

Tips for training images

  1. Upload both portrait and full body shots of the person
  2. Use 26 pictures of your subject. Preferably cropped to 1:1 aspect ratio.
  3. Use 6 photos of full body or entire object + 10 medium shot photos from the chest up + 10 close-ups.
  4. Variation is key - Change body pose for every picture, use pictures from different days backgrounds and lighting. Every picture of your subject should introduce new info about your subject.
  5. Avoid pictures taken at the same hour/day. For example few pictures with the same shirt will make the model learn the shirt as well as part of the subject.
  6. Always pick a new background.
  7. Do not upload pictures mixed with other people
  8. Do not upload upload funny faces

Tips for inference

  1. Use ohwx woman/man at the beginning of the sentence.
  2. Textual inversion can reduce similarity. Try to avoid it. Specifically TIs such as ng_deepnegative_v1_75t or CyberRealistic.
  3. LoRA can reduce similarity. Keep LoRA strength low.
- + \ No newline at end of file diff --git a/docs/use-cases/controlnet/index.html b/docs/use-cases/controlnet/index.html index d1c8a6a5..93eeb8eb 100644 --- a/docs/use-cases/controlnet/index.html +++ b/docs/use-cases/controlnet/index.html @@ -5,13 +5,13 @@ Controlnet | Astria documentation - + - + \ No newline at end of file diff --git a/docs/use-cases/faq/index.html b/docs/use-cases/faq/index.html index 787674f6..a4d4d627 100644 --- a/docs/use-cases/faq/index.html +++ b/docs/use-cases/faq/index.html @@ -5,13 +5,13 @@ FAQ | Astria documentation - +

FAQ

What image size should I upload?
Is there a size limit to uploads?

There is no hard limit on image uploads, the service does have some limits against JPEG bombs. A reasonable limit would be 3MB per image. The image size should be at least 512x512 pixels as models train on 512x512, but it's also a good idea to give some headroom for face-cropping, so possibly 1024x1024 or 2048x2048 could be a good target resize. Finally make sure compression level does not introduce artifacts to the uploaded images as the model is very sensitive to JPEG artifacts.

Why isn't it free?

For each model created using your training image, Astria creates an AI model using high-end GPU machines, and then serves those models to allow image generation. This process is expensive.

I didn't get my images. Where can I see it?

Check out your tunes page and click on the tune thumbnail to see your results.

Can I get higher resolution pictures?

Toggle the Super-resolution option in the prompt Advanced section.

How do I download my images ?

Go to https://www.astria.ai/tunes and click on the tune thumbnail, hit download to save the pictures of each prompt.

Generated images look weird. What happened?

See Fine-tuning guide and the AI Photohoot guide for tips on how to get the best results.

Can I download CKPT file? How do I use it?

  1. Once the fine-tune is done processing, you should be able to see a TAR and CKPT buttons at the top of the fine-tune page.
  2. You can use the CKPT with software like Automatic1111 and ComfyUI.

I would like to use your API for my service or app, would you be able to handle the load?

Astria is already powering some of the biggest companies and applications on the web and on the app-store using fine-tuning. All jobs are handled in parallel and there is no wait time or queuing.

What happens to my model, training pictures and image generations?

The entire fine-tune (including CKPT file, model, training pictures, generated images, prompts) is kept for 1 month, at the end of which it is all deleted. You can delete it at any time by clicking on the delete button in the fine-tunes page.

Can I extend my model beyond 30 days?

You can select to extend model storage in the billing page

Can I train a model for more than one person?

You can train a fine-tune using class_name=couple and get amazing results. Make sure that the couple appear in each of the training images together. In this case it might be harder for the model to create more variation and create long-shots and complex scenes.

- + \ No newline at end of file diff --git a/docs/use-cases/finetuning-guide/index.html b/docs/use-cases/finetuning-guide/index.html index ec35bba2..33df63bc 100644 --- a/docs/use-cases/finetuning-guide/index.html +++ b/docs/use-cases/finetuning-guide/index.html @@ -5,7 +5,7 @@ Fine-tuning guide | Astria documentation - + @@ -13,7 +13,7 @@

Fine-tuning guide

The guide for high quality avatars and AI photography

When building an app for avatars or professional AI photoshoot, you should consider two aspects

  1. Similarity to the original subject
  2. High quality generation which look professional

Tracking subject similarity

Make sure to test results on a person you closely know and can judge similarity. Create a list of candidate prompts and run them on 2-3 subjects. For each prompt ask the person to rate how many of the images look similar. Finally sum the ratios for each prompt and compare prompts. Improve the prompts or reconsider a different prompt if similarity is low. Alternatively, consider switching to a different base model to match ethnicity or avoid biased models.

Fine-tuning training tips

  1. Enable Face-detection in your account settings page - This will augment the training dataset with face-crops from the original training images. This should increase similarity to the subject but can also cause generations to be more toward close-ups instead of nice medium or long shots. In this case you might need to adjust the prompts to use emphasis weights.
  2. Base model - Select plain SD15 for better resemblance. Select Realistic Vision V5.1 as a base model for nicer pictures. These models are good in realistic results. If you’d like to get generations that are more artistic - consider Deliberate or Reliberate as a base model. For a more diverse ethnically and possibly better similarity to subjects, consider Life Like Ethnicities. Finally, we suggest checking training on SDXL with text-embedding + LoRA.

Prompt generation tips

  1. Set width and height to 512 x 640 - to match Instagram aspect ratio of 4:5 and also create good portraits. Avoid higher aspect ratios as you might get artifacts such as duplicate heads.
  2. Enable face-inpainting - This is one of Astria’s unique features and allows creating long shots while avoiding deformed faces.
  3. Weighted prompts - when a prompt has multiple keywords that collide and reduce similarity - use the parenthesis syntax for emphasis to increase similarity, such as (ohwx man) On the flip side, try to avoid weighted prompts altogether to preserve similarity to subject.
  4. Use Controlnet with input image to preserve composition and create unique long-shots. Enable controlnet_txt2img if you’d like to create more variation and draw more from the prompt. Increase denoising_strength=1
- + \ No newline at end of file diff --git a/docs/use-cases/inpainting-and-masking/index.html b/docs/use-cases/inpainting-and-masking/index.html index d335c86e..c695b928 100644 --- a/docs/use-cases/inpainting-and-masking/index.html +++ b/docs/use-cases/inpainting-and-masking/index.html @@ -5,13 +5,13 @@ Inpainting and masking | Astria documentation - + - + \ No newline at end of file diff --git a/docs/use-cases/masked-portraits/index.html b/docs/use-cases/masked-portraits/index.html index 5831e86a..37e244da 100644 --- a/docs/use-cases/masked-portraits/index.html +++ b/docs/use-cases/masked-portraits/index.html @@ -5,14 +5,14 @@ Masked portraits | Astria documentation - +

Masked portraits

BETA

Input image

source.png

Result using RV v5.1

generated.png

using Cartoon

generated.png

Using Flat

generated.png

Input image

source.png

Result using RV v5.1

generated.png

using Cartoon

generated.png

Using Flat

generated.png

Input image

source.png

Result using RV v5.1

generated.png

using Cartoon

generated.png

Using Flat

generated.png

Input image

source.png

Result using RV v5.1

generated.png

using Cartoon

generated.png

Using Flat

generated.png

See example prompts in the gallery.

Overview

Use prompt masking feature to embed a person into a scene. -This essentially allows you to create AI photogarphy or avatars without fine-tuning.

See pricing for the cost of this feature.

Example prompt

realistic digital painting, astronaut in a garden on a spring day, by martine johanna and simon stalenhag and chie yoshii and casey weldon and wlop, ornate, dynamic, particulate, rich colors, intricate, elegant, highly detailed, harpers bazaar art, fashion magazine, smooth, sharp focus, 8 k, octane rende --mask_prompt foreground --mask_negative clothes --mask_invert --mask_dilate -20 --hires_denoising_strength 0.2
num_images=1
negative_prompt=clay, text, watermark, padding, cropped, typography
seed=
steps=30
cfg_scale=
controlnet=pose
input_image_url=https://sdbooth2-production.s3.amazonaws.com/d6ff3soq5pok5tlbcanf599vkw06
mask_image_url=
denoising_strength=
controlnet_conditioning_scale=
controlnet_txt2img=false
super_resolution=true
inpaint_faces=false
face_correct=true
film_grain=false
face_swap=false
hires_fix=true
ar=1:1
scheduler=dpm++sde_karras
color_grading=
use_lpw=true
w=
h=
- +This essentially allows you to create AI photogarphy or avatars without fine-tuning.

danger

SDXL inpainting results are poor, and so we recommend using SD15 models for this use case.

See pricing for the cost of this feature.

Example prompt

realistic digital painting, astronaut in a garden on a spring day, by martine johanna and simon stalenhag and chie yoshii and casey weldon and wlop, ornate, dynamic, particulate, rich colors, intricate, elegant, highly detailed, harpers bazaar art, fashion magazine, smooth, sharp focus, 8 k, octane rende --mask_prompt foreground --mask_negative clothes --mask_invert --mask_dilate -20 --hires_denoising_strength 0.2
num_images=1
negative_prompt=clay, text, watermark, padding, cropped, typography
seed=
steps=30
cfg_scale=
controlnet=pose
input_image_url=https://sdbooth2-production.s3.amazonaws.com/d6ff3soq5pok5tlbcanf599vkw06
mask_image_url=
denoising_strength=
controlnet_conditioning_scale=
controlnet_txt2img=false
super_resolution=true
inpaint_faces=false
face_correct=true
film_grain=false
face_swap=false
hires_fix=true
ar=1:1
scheduler=dpm++sde_karras
color_grading=
use_lpw=true
w=
h=
+ \ No newline at end of file diff --git a/docs/use-cases/product-shots/index.html b/docs/use-cases/product-shots/index.html index cd0cc7ad..3765a21f 100644 --- a/docs/use-cases/product-shots/index.html +++ b/docs/use-cases/product-shots/index.html @@ -5,13 +5,13 @@ Product shots | Astria documentation - + - + \ No newline at end of file diff --git a/docs/use-cases/sdxl-training/index.html b/docs/use-cases/sdxl-training/index.html index 16b0e5f8..aff9b39a 100644 --- a/docs/use-cases/sdxl-training/index.html +++ b/docs/use-cases/sdxl-training/index.html @@ -5,13 +5,13 @@ SDXL training | Astria documentation - +

SDXL training

Overview

Stable Diffusion XL or SDXL is the latest image generation model that is tailored towards more photorealistic outputs with more detailed imagery and composition. SDXL can generate realistic faces, legible text within the images, and better image composition, all while using shorter and simpler prompts.

info

LoRA + Text-embedding is currently the only option for fine-tuning SDXL.

Input training images

source.png

Output images

generated.png

Training tips

Default token for SDXL should be ohwx and will be set automatically if none is specified

Inference tips

  1. Do not copy and paste prompts from SD15
  2. Do not use textual-inversions such as easynegative or badhands from SD15
  3. Consider activating face-swap and face-inpainting (which in turn requires super-resolution) - this is the biggest boost you can get to increase similarity to subject
  4. Use clean small concise prompts - usually up to 15 words
  5. Avoid long negatives - this will decrease similarity to subject.
  6. Start with baseline SDXL 1.0 inference before going to other base models. Most custom SDXL models are biased and may reduce similarity. Models which we noticed that work okay are ZavyChromaXL and ClearChromaXL

All above tips will help increase similarity to the original subject.

Aspect ratios

The below aspect ratios are recommended for SDXL inference since these were also used for the training.

aspect: width, height
0.5: 704, 1408
0.52: 704, 1344
0.57: 768, 1344
0.6: 768, 1280
0.68: 832, 1216
0.72: 832, 1152
0.78: 896, 1152
0.82: 896, 1088
0.88: 960, 1088
0.94: 960, 1024
1.0: 1024, 1024
1.07: 1024, 960
1.13: 1088, 960
1.21: 1088, 896
1.29: 1152, 896
1.38: 1152, 832
1.46: 1216, 832
1.67: 1280, 768
1.75: 1344, 768
1.91: 1344, 704
2.0: 1408, 704
2.09: 1472, 704
2.4: 1536, 640
2.5: 1600, 640
2.89: 1664, 576
3.0: 1728, 576

API usage

See here for API usage

- + \ No newline at end of file diff --git a/docs/use-cases/toonify/index.html b/docs/use-cases/toonify/index.html index d67daf92..02260018 100644 --- a/docs/use-cases/toonify/index.html +++ b/docs/use-cases/toonify/index.html @@ -5,13 +5,13 @@ Toonify | Astria documentation - + - + \ No newline at end of file diff --git a/docs/use-cases/upscale/index.html b/docs/use-cases/upscale/index.html index ca54c62a..ceb98b4a 100644 --- a/docs/use-cases/upscale/index.html +++ b/docs/use-cases/upscale/index.html @@ -5,13 +5,13 @@ Upscale | Astria documentation - +

Upscale

BETA

Low-res input

upscale-input

Low-res input
Low-res input

upscale-input

Low-res input

See example prompts in the gallery

Overview

Upscaling uses model and text guidance to add details to original image. Depending on the denoising_strength the model can hallucinate more details shifting away from the original image.

Usage

  1. In the prompts generate page - Set an input image in the Controlnet/img2img section.
  2. Add a text prompt ending with --only_upscale
  3. Select a model from the dropdown that matches the style and content of the input image.

Example

Example prompt for the result above

very detailed, masterpiece, intricate details, UHD, 8K --only_upscale <lora:add_detail:1>
num_images=1
negative_prompt=lowres, medium quality, lack of details, bad quality, worst quality, blur, blurry, pixelated, jpeg artifacts
seed=
steps=30
cfg_scale=
controlnet=
input_image_url=https://sdbooth2-production.s3.amazonaws.com/cvrx6g5wx5tbiuz9ivoah1j19why
mask_image_url=
denoising_strength=0.6
controlnet_conditioning_scale=
controlnet_txt2img=false
super_resolution=false
inpaint_faces=false
face_correct=false
film_grain=false
face_swap=false
hires_fix=false
ar=1:1
scheduler=dpm++sde_karras
color_grading=
use_lpw=true
w=
h=

POST /tunes/:id/prompts

# Note the hard-coded 690204 which is the tune_id of Realistic Vision v5.1 from the gallery
curl -X POST -H "Authorization: Bearer $API_KEY" https://api.astria.ai/tunes/690204/prompts \
-F prompt[text]=very detailed, masterpiece, intricate details, UHD, 8K --only_upscale <lora:add_detail:1>" \
-F prompt[negative_prompt]="lowres, medium quality, lack of details, bad quality, worst quality, blur, blurry, pixelated, jpeg artifacts" \
-F prompt[callback]="https://optional-callback-url.com/to-your-service-when-ready?prompt_id=1"
const fetch = require('node-fetch');
const FormData = require('form-data');

// Note the hard-coded 690204 which is the tune_id of Realistic Vision v5.1 from the gallery
const API_URL = 'https://api.astria.ai/tunes/690204/prompts';
const API_KEY = 'YOUR_API_KEY'; // Replace with your actual API key
const headers = { Authorization: `Bearer ${API_KEY}` }

const form = new FormData();
form.append('prompt[text]', 'very detailed, masterpiece, intricate details, UHD, 8K --only_upscale <lora:add_detail:1>');
form.append('prompt[negative_prompt]', 'lowres, medium quality, lack of details, bad quality, worst quality, blur, blurry, pixelated, jpeg artifacts');
form.append('prompt[callback]', 'https://optional-callback-url.com/to-your-service-when-ready?prompt_id=1');

fetch(API_URL, {
method: 'POST',
headers: headers,
body: form
}).then(response => response.json())


import requests

# Note the hard-coded 690204 which is the tune_id of Realistic Vision v5.1 from the gallery
API_URL = 'https://api.astria.ai/tunes/690204/prompts'
API_KEY = 'YOUR_API_KEY' # Replace with your actual API key

headers = {
'Authorization': f'Bearer {API_KEY}'
}

data = {
'prompt[text]': 'very detailed, masterpiece, intricate details, UHD, 8K --only_upscale <lora:add_detail:1>',
'prompt[negative_prompt]': 'lowres, medium quality, lack of details, bad quality, worst quality, blur, blurry, pixelated, jpeg artifacts',
'prompt[callback]': 'https://optional-callback-url.com/to-your-service-when-ready?prompt_id=1'
}
files = []
files.append((f"tune[prompts_attributes][{i}][input_image]", load_image(prompt['input_image'])))


response = requests.post(API_URL, headers=headers, data=data)
- + \ No newline at end of file diff --git a/docs/use-cases/video-generation/index.html b/docs/use-cases/video-generation/index.html index 427df04e..e9795a75 100644 --- a/docs/use-cases/video-generation/index.html +++ b/docs/use-cases/video-generation/index.html @@ -5,7 +5,7 @@ Video Generation | Astria documentation - + @@ -13,7 +13,7 @@

Video Generation

To generate video use the regular prompt text box, and enter the frame number followed by a colon and the prompt to activate video generation frame number: prompt Don’t forget to use your model’s token. For example:

  0: portrait of ohwx woman with eyes closed
25: portrait of ohwx woman with eyes opened
50: portrait of ohwx woman smiling

Notice that the last prompt marks the end of the video generation and will not be rendered. When not specified in the prompt, our default camera movement is:

  translation_z=0:(-0.5)
rotation_3d_x=0:(2*sin(3.14*t/100)/80)
rotation_3d_y=0:(2*sin(3.14*t/100)/40)
rotation_3d_z=0:(2*sin(3.14*t/50)/40)

The camera will slowly pull back and wiggle-rotate slightly. You can always adjust the camera movement by adding parameters at the start of the prompt. For example:

  translation_x=0:(-2)
translation_y=0:(1)
translation_z=0:(0.5)
rotation_3d_x=0:(0)
rotation_3d_y=0:(1.5)
rotation_3d_z=0:(0)
0: portrait of ohwx woman with eyes closed
25: portrait of ohwx woman with eyes opened
50: portrait of ohwx woman smiling

The X-axis is a left/right translation; a positive translation shifts the camera to the right.

The Y-axis is an up/down translation; a positive translation shifts the camera upward.

The Z-axis is a forward/backward translation; a positive translation shifts the camera forward.

Parameters

Here is a partial list of parameters you can use in the prompt line to achieve certain control and effects:

strength_schedule=0:(0.50) How “loose” is the image generation from the previous frame. Lower numbers increase the probability of realizing the next prompt, but decrease the probability of temporal coherence.

seed=1 A starting point for an outcome (-1=random starting point)

diffusion_cadence=2 Blending of frames in the sequence

Check out the video gallery for inspiration. You can always copy/paste prompts to your tune. Don’t forget to change the token accordingly.

The video module is based on the Deforum Stable Diffusion notebook, and use the same parameters.

- + \ No newline at end of file diff --git a/index.html b/index.html index 1954167d..bc72e3ee 100644 --- a/index.html +++ b/index.html @@ -5,13 +5,13 @@ Hello from Astria documentation | Astria documentation - +

Astria documentation

Fine-tuning and high quality image generation

- + \ No newline at end of file diff --git a/markdown-page/index.html b/markdown-page/index.html index 6d45b6b1..0b1aef57 100644 --- a/markdown-page/index.html +++ b/markdown-page/index.html @@ -5,13 +5,13 @@ Markdown page example | Astria documentation - +

Markdown page example

You don't need React to write simple standalone pages.

- + \ No newline at end of file