<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: AnyISalIn</title>
    <description>The latest articles on DEV Community by AnyISalIn (@anyisalin).</description>
    <link>https://dev.to/anyisalin</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1191678%2F4825d17f-faab-4743-94c3-2920eca8a035.jpeg</url>
      <title>DEV Community: AnyISalIn</title>
      <link>https://dev.to/anyisalin</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/anyisalin"/>
    <language>en</language>
    <item>
      <title>Train Stylized Portraits on Novita.AI</title>
      <dc:creator>AnyISalIn</dc:creator>
      <pubDate>Wed, 08 Nov 2023 12:08:14 +0000</pubDate>
      <link>https://dev.to/anyisalin/train-stylized-portraits-on-novitaai-3fna</link>
      <guid>https://dev.to/anyisalin/train-stylized-portraits-on-novitaai-3fna</guid>
      <description>&lt;p&gt;Try this on the Hugging Face Spaces. &lt;a href="https://huggingface.co/spaces/novita-ai/Face-Stylization-Playground"&gt;https://huggingface.co/spaces/novita-ai/Face-Stylization-Playground&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Obtain the Novita.AI API Key from the website &lt;a href="https://novita.ai/"&gt;https://novita.ai/&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The cost for LoRA training is approximately $0.2.&lt;/p&gt;

&lt;p&gt;We recommend providing 6–10 high-quality self-portrait photos, with each photo requiring 200 steps and a maximum of 2000 steps. For instance, if you provide 7 images, it will take a total of 1400 steps.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_0E1ynqh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k1nc78v7nhxvex34griq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_0E1ynqh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k1nc78v7nhxvex34griq.png" alt="Novita Face Stylization Playground — 1" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OOX3ECdZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iunx56su3ah37naj4itt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OOX3ECdZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iunx56su3ah37naj4itt.png" alt="Novita Face Stylization Playground — 2" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cvpKilfO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vpdv32sxieva8cgzlsdp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cvpKilfO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vpdv32sxieva8cgzlsdp.png" alt="Novita Face Stylization Playground — 3" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--slvUvaTU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rhqruok3x4ri9tfv97eh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--slvUvaTU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rhqruok3x4ri9tfv97eh.png" alt="Novita Face Stylization Playground — 4" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>stablediffusion</category>
      <category>ai</category>
    </item>
    <item>
      <title>Replace any object in a photograph with Stable Diffusion Python SDK.</title>
      <dc:creator>AnyISalIn</dc:creator>
      <pubDate>Mon, 23 Oct 2023 09:22:40 +0000</pubDate>
      <link>https://dev.to/anyisalin/replace-any-object-in-a-photograph-with-stable-diffusion-python-sdk-23f5</link>
      <guid>https://dev.to/anyisalin/replace-any-object-in-a-photograph-with-stable-diffusion-python-sdk-23f5</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0xyyr53d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zxaernhq4wbqg0szi988.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0xyyr53d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zxaernhq4wbqg0szi988.png" alt="Stable diffusion API to replace any object" width="800" height="313"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can install the Novita Python SDK using just one command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;novita-client
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;get &lt;code&gt;NOVITA_API_KEY&lt;/code&gt; from &lt;a href="https://novita.ai/get-started/"&gt;https://novita.ai/get-started/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally, you can try the change cat to dog by following this code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;os&lt;/span&gt;

&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;novita_client&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;NovitaClient&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Txt2ImgRequest&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;UpscaleRequest&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;novita_client.utils&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;base64_to_image&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;image_to_base64&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;PIL&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Image&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;io&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;BytesIO&lt;/span&gt;

&lt;span class="n"&gt;novita&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;NovitaClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getenv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'NOVITA_API_KEY'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="n"&gt;replace_object_res&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;novita&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;replace_object&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;image&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"https://cdn-images-1.medium.com/max/1600/1*E3jkiGoC8EfVlqqhE_6SWw.png"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;object_prompt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"a cat"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"a dog"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;response_image_type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"png"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;replace_object_generated&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;base64_to_image&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;replace_object_res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;image_file&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;replace_object_generated&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;save&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"replace-object.png"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;novita-client is the Python SDK of Novita.AI, which provides the following features.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="//./examples/cleanup.py"&gt;cleanup&lt;/a&gt; - remove all your generated images&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/remove-background.py"&gt;remove-background&lt;/a&gt; - remove background from image&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/remove-text.py"&gt;remove-text&lt;/a&gt; - remove text from image&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/reimagine.py"&gt;reimagine&lt;/a&gt; - reimagine image&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/doodle.py"&gt;doodle&lt;/a&gt; - doodle image&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/merge-face.py"&gt;merge-face&lt;/a&gt; - merge face&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/mix-pose.py"&gt;mix-pose&lt;/a&gt; - mix pose&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/outpainting.py"&gt;outpainting&lt;/a&gt; - outpainting&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/remove-object.py"&gt;replace-object&lt;/a&gt; - remove object&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/replace-background.py"&gt;replace-background&lt;/a&gt; - replace background&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/replace-sky.py"&gt;replace-sky&lt;/a&gt; - replace sky&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/create-tile.py"&gt;create-tile&lt;/a&gt; - create tile&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>sdk</category>
      <category>stablediffusion</category>
      <category>api</category>
    </item>
    <item>
      <title>5 lines of Python code to change the posture of photography</title>
      <dc:creator>AnyISalIn</dc:creator>
      <pubDate>Mon, 23 Oct 2023 04:01:38 +0000</pubDate>
      <link>https://dev.to/anyisalin/5-lines-of-python-code-to-change-the-posture-of-photography-2e70</link>
      <guid>https://dev.to/anyisalin/5-lines-of-python-code-to-change-the-posture-of-photography-2e70</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Z5Kilrsl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4kume0457bhe1szr00lx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Z5Kilrsl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4kume0457bhe1szr00lx.png" alt="Mix Pose API novita.ai" width="800" height="321"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can install the Novita Python SDK using just one command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;novita-client
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;then you can get &lt;code&gt;NOVITA_API_KEY&lt;/code&gt; from &lt;a href="https://novita.ai/get-started/"&gt;https://novita.ai/get-started/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally, you can try the mix pose demo by following this code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;os&lt;/span&gt;

&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;novita_client&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;NovitaClient&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;novita_client.utils&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;base64_to_image&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;NovitaClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getenv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'NOVITA_API_KEY'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="n"&gt;res&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;mixpose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;image&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"https://image.uniqlo.com/UQ/ST3/my/imagesgoods/455359/item/mygoods_23_455359.jpg?width=494"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;pose_image&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"https://image.uniqlo.com/UQ/ST3/ca/imagesgoods/455359/item/cagoods_02_455359.jpg?width=494"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;base64_to_image&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;image_file&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;save&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"./mixpose.png"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;novita-client is the Python SDK of Novita.AI, which provides the following features.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="//./examples/cleanup.py"&gt;cleanup&lt;/a&gt; - remove all your generated images&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/remove-background.py"&gt;remove-background&lt;/a&gt; - remove background from image&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/remove-text.py"&gt;remove-text&lt;/a&gt; - remove text from image&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/reimagine.py"&gt;reimagine&lt;/a&gt; - reimagine image&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/doodle.py"&gt;doodle&lt;/a&gt; - doodle image&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/merge-face.py"&gt;merge-face&lt;/a&gt; - merge face&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/mix-pose.py"&gt;mix-pose&lt;/a&gt; - mix pose&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/outpainting.py"&gt;outpainting&lt;/a&gt; - outpainting&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/remove-object.py"&gt;replace-object&lt;/a&gt; - remove object&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/replace-background.py"&gt;replace-background&lt;/a&gt; - replace background&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/replace-sky.py"&gt;replace-sky&lt;/a&gt; - replace sky&lt;/li&gt;
&lt;li&gt;
&lt;a href="//./examples/create-tile.py"&gt;create-tile&lt;/a&gt; - create tile&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>stablediffusion</category>
      <category>ai</category>
      <category>api</category>
      <category>sdk</category>
    </item>
  </channel>
</rss>
