Tuesday, May 26, 2026

🎨 Scripting in FotoSketcher: Tips, Tricks & Example Scripts

One of the most powerful features in FotoSketcher Studio is the Script Editor. Instead of applying a single effect to your photo, scripts let you chain multiple effects together, blend them in creative ways, add textures and frames, and automate the whole process over hundreds of photos at once.

This post walks through seven example scripts (compatible with FotoSketcher Studio 4.30 onwards), explains exactly what each one does, and finishes with a practical bonus script you can use to enhance an entire folder of photos automatically.

How to try the scripts in this post

  1. Open a photo in FotoSketcher Studio.
  2. Open the Script Editor with Ctrl+E (or via the menu).
  3. Copy one of the example scripts from this post and paste it into the editor.
  4. Click Save as... and give the script a name (for example Super_Smooth.fss).
  5. Click Run to apply it to your photo.

That's all there is to it. Once saved, the script will appear in your script library and you can reuse it on any photo at any time.


The building blocks: what script commands do

Before diving into the examples, here is a quick reference for all the commands you will encounter:

  • 🔄 RESET - discards any changes and reloads the original source image. Use it whenever you want to start a new branch from scratch.
  • CLEAR - tells the next effect to paint onto a blank white canvas instead of on top of the current image.
  • NOCLEAR - the opposite: the next effect paints on top of whatever is already there. Useful for stacking semi-transparent painting layers.
  • ENHANCE - applies a smart automatic correction (exposure, white balance, local contrast) before any artistic work begins.
  • SWAP - swaps the current working image with the source image, freezing the current result as the new starting point for all future RESET calls.
  • 💾 SAVE name - saves a snapshot of the current image into a named slot, without changing anything on screen.
  • BLEND name opacity [mode] - composites a saved snapshot onto the current image. Opacity is 0-100. An optional blend mode (multiply, screen, overlay...) controls how colours interact; omitting it gives a plain alpha blend.
  • EFFECT number p1 p2 p3 p4 p5 - runs one of FotoSketcher's built-in effects with five parameter values of your choice.
  • 🌈 LUT_EMBEDDED name - applies a built-in colour-grading look-up table (HDR, Vintage, Kodachrome...) for an instant mood shift.
  • TEXTURE #n strength scale - overlays a built-in paper or canvas texture. #n picks the slot, strength is 0-100, scale adjusts the texture size.
  • FRAME name width colour - adds a decorative border. The name picks the frame style, width is in pixels, and colour is a hex ARGB value.
  • FONT name size style colour + TEXT x% y% "string" - stamps text onto the image at a percentage position (e.g. 99% 99% puts it in the bottom-right corner).

Script 1 - Super Smooth

RESET
EFFECT 306 20 100 0 0 0
EFFECT 306 20 100 0 0 0
EFFECT 306 20 100 0 0 0
EFFECT 401 52 52 55 30 52

The simplest script in the collection, and a good first example of a core scripting technique: running the same effect multiple times in a row.

Effect 306 (Smooth Painting) blends and smears brush strokes across the image, creating a result somewhere between heavily blended oil paint and digital airbrush. One pass is already smooth; three passes progressively dissolve fine details while keeping the larger shapes and colours intact.

The final EFFECT 401 (Adjustments) is a colour-correction pass to recover the contrast and saturation that repeated smoothing tends to flatten out.

💡 Key tip: Repeating the same effect is a straightforward way to push a style further. Two passes of a watercolour effect feel hand-painted; three or more push it toward something more abstract.


Script 2 - Super Pastel

RESET
ENHANCE
SWAP
CLEAR
EFFECT 302 20 70 30 80 100
NOCLEAR
RESET
EFFECT 302 10 70 50 50 100
NOCLEAR
RESET
EFFECT 302 3 50 70 10 100

This script builds up a pastel painting from three independent Oil Pastel passes, each using progressively smaller brushes.

ENHANCE improves the photo first. SWAP then locks that improved version as the new source, so every subsequent RESET goes back to the enhanced photo, not the raw original. This is a useful pattern to keep in mind.

The first CLEAR paints the large-brush pass onto a white canvas. NOCLEAR before the next two passes stacks them on top: medium brushes for mid-detail, then fine brushes for texture and edge refinement. It is similar to how a painter blocks in big shapes first, then works progressively smaller.

💡 Key tips:

  • ENHANCE + SWAP at the start is a good opening sequence for any script where you want the artistic effect to work from an already-improved image.
  • Multiple NOCLEAR passes from large to small brushes create a natural depth that a single pass cannot replicate.
  • Because each pass resets to the same source independently, each one contributes its own brushstroke interpretation of the scene without degrading the previous pass.

Script 3 - Enhanced Watercolor

RESET
CLEAR
EFFECT 300 15 72 40 45 0
SAVE myslot
EFFECT 202 0 0 0 0 50
BLEND myslot 90 multiply
BLEND myslot 50
EFFECT 401 52 52 60 15 52
FRAME brushstrokes 20 #FFFFFFFF
TEXTURE #2 50 1

A good example of the save, process, blend back pattern.

The Watercolor effect (300) runs first and the result is saved to myslot. Then Effect 202 (Felt-tip Pen) is applied on top, producing dark ink-like strokes. Those strokes are blended back over the saved watercolour using multiply at 90%, which darkens only where the ink lines fall (much like real watercolour-and-ink illustration). A second blend of the same slot at 50% (plain alpha, no blend mode) pulls some of the original colour back in to soften the result.

EFFECT 401 handles the final colour polish, and a brushstroke frame with a paper texture finishes the picture.

💡 Key tips:

  • Multiply blending darkens wherever both images have colour. It is the right mode for adding line work on top of a painted layer without washing out the colours beneath.
  • Blending the same slot twice (first multiply, then plain) gives you two independent levers. The first pass adds the lines; the second softens them. Adjust the two opacities separately for fine control.
  • A brushstroke frame reinforces the watercolour-and-ink style. Keeping the frame visually consistent with the content always looks considered.

Script 4 - Comic Book

RESET
CLEAR
EFFECT 501 30 61 100 0 0
SAVE myslot
RESET
EFFECT 300 30 50 50 50 0
EFFECT 401 60 52 55 15 52
BLEND myslot 100 multiply
SAVE myslot
RESET
EFFECT 203 5 0 100 50 60
BLEND myslot 65

A three-stage script that builds a comic-book look by compositing separate layers:

  • Stage 1 - runs a smooth flat-colour painting effect (501) at full coverage and saves it. This becomes the outline and flat-colour foundation.
  • Stage 2 - resets to the source, applies Watercolor (300) and Adjustments (401) for a colourful painterly base, then multiplies the Stage 1 result on top. Multiply brings the strong outlines back without replacing the colour. This composite is saved.
  • Stage 3 - resets again, applies Comic Print (203) for dot-based halftone grain and outlines, then blends it at 65% over the Stage 2 composite. The partial opacity adds texture without erasing the colour richness beneath.

💡 Key tips:

  • Multiple SAVE/RESET cycles let you build independent layers in a flat script. Each branch starts fresh from the source.
  • A partial blend opacity (65%) on the final step is a common finishing move: you get the texture of the new effect while keeping the colour quality of the previous stage intact.
  • The combination of flat colour (for shape) + painterly effect (for colour) + halftone (for texture) is how many professional comic colourists structure their workflow.

Script 5 - Mosaic with Contours

RESET
CLEAR
EFFECT 500 0 20 80 40 40
SAVE myslot
RESET
EFFECT 501 0 65 85 0 20
BLEND myslot 100 multiply
LUT_EMBEDDED HDR
EFFECT 404 80 0 0 0 0
# Lines below are optional
FONT Georgia 24 italic #FFFFFFFF
TEXT 99% 99% "FotoSketcher"
TEXTURE #2 50 1
FRAME #3 20 #FFFFFFFF

This script is the template shared by three variants in this collection (Mosaic, Circles, and Triangles with contours). The shape changes; the technique is identical.

Effect 500 builds the square-tile mosaic and saves it. The script then resets and applies Effect 501, which extracts dark contour lines from the original photo. Those lines are multiplied over the saved mosaic: white areas of the contour pass leave the tiles untouched, while dark lines darken the tiles they cross, creating the illusion of outlines printed onto the geometry. LUT_EMBEDDED HDR adds a punchy colour-contrast boost, and Effect 404 (Comic Print Halftone) lays a halftone screen over the result for a printed-media feel.

The bottom four lines (font, watermark text, texture, and frame) are purely decorative. The # Lines below are optional comment is a reminder that you can remove them without affecting the core of the script.

💡 Key tips:

  • Swapping just one effect number (500 to 502 for circles, 500 to 503 for triangles) produces an entirely different geometric style with no other changes. That is exactly what the next two scripts do.
  • Multiply is the right mode for contours: white areas change nothing; dark areas darken whatever is beneath.
  • Apply LUT_EMBEDDED before the halftone, not after. The LUT boosts the mosaic colours first; the halftone then sits on top of that richer palette.
  • TEXT 99% 99% is the standard way to place a subtle watermark in the bottom-right corner.

Script 6 - Circles with Contours

Identical to Mosaic with Contours, but uses Effect 502 instead of 500. Effect 502 fills the image with tangent circles of varying sizes that follow the colour edges in the photo. The same contour, HDR, and halftone pipeline then runs on top.


Script 7 - Triangles with Contours

Identical to Mosaic with Contours, but uses Effect 503 instead of 500. Effect 503 tiles the image with triangles derived from the underlying colour field, giving a low-poly illustration feel before the contour layer refines it.


Bonus script - Photo Enhancer (with batch mode)

RESET
ENHANCE
EFFECT 401 55 52 52 12 52

This three-line script has a simple purpose: making any photo look better, automatically, without any artistic transformation.

ENHANCE handles the core work (exposure, white balance, local contrast). EFFECT 401 (Adjustments) then adds a measured boost to contrast, brightness, edge sharpness, and colour saturation. The parameter values here work reliably across a wide range of subjects (landscapes, portraits, everyday photos), but you can adjust any of the five to taste.

Running it with Batch Mode

Because this script applies the same neutral improvement to any image, it is a natural fit for FotoSketcher's Batch Mode. Here is how to use it:

  1. Open FotoSketcher Studio.
  2. Open the Batch panel (Ctrl+B).
  3. Click Load script... and select Photo_Enhancer.fss.
  4. Click Start batch and choose the folder of photos you want to process.
  5. FotoSketcher will open each image in turn, run the script, and save the enhanced result.

This works well for a holiday album, a product shoot, or any large collection of photos you want to improve without editing them one by one. 


General tips for writing good scripts

  • 🔄 Always start with RESET. It makes the script self-contained and predictable regardless of what was on screen when you ran it.
  • 💬 Use comments generously. Lines starting with # are ignored by FotoSketcher but are very useful when you revisit a script later. Label every SAVE slot and explain any non-obvious blend.
  • Name your save slots meaningfully. myslot is fine for quick experiments, but names like watercolour_base or outline_layer make a script much easier to read and share.
  • SAVE before a risky step. If you are about to apply a heavy effect or an aggressive blend, save first. You can always blend back to the previous state if the result is not what you expected.
  • Multiply for dark lines, Screen for light glows. These two modes cover most creative compositing needs. Multiply darkens (outlines, shadows, halftones); Screen lightens (glows, highlights).
  • 🌈 Use LUT_EMBEDDED as a finishing move. Colour grading is most predictable when it is the last tonal step, applied before any texture or frame overlay.
  • Test with a small cropped part of your image first. Complex scripts with many steps can be slow on large images. 
  • Design for batch. If a script does not reference external files and works on any subject, it is batch-ready. Save it with a clear name and you have a reusable processing pipeline you can reach for at any time.

FotoSketcher 4.30 Beta 2 is ready for testing - lots of changes

Hi all,

A second beta of FotoSketcher 4.30 is now available, and it is a significant step up from Beta 1. A lot has changed since then, so here is a full rundown of everything that is new in this version.


- New effects: Circles and Triangles

Two new Stylize effects join the mosaic family introduced in Beta 1. Circles and Triangles use the same space-filling algorithm as Mosaic, but with their respective shapes.

- Cartoon outlines

The Cartoon effect now produces a pure outline drawing when the colour intensity slider is set to 0 - no colour fill, just clean line art. This becomes especially useful in combination with the "Do not erase background" option: apply any effect first, then run Cartoon with colour intensity at 0 and "Do not erase background" ticked. The outlines are drawn on top of your existing result, adding crisp contours to any effect in just two steps.

- Built-in LUT library (LookUp Tables)

The LUTs effect now comes with 18 presets built directly into the application. A new "Select LUT…" button appears in the interface whenever the LUTs effect is active, opening a selector window with a live preview of each preset (right-click n the preview to see the original image):

Architecture · Blues · Cinematic · Cinematic saturation · Cyan skies · Film print · Film tone 1 · Film tone 2 · Golden hour · HDR · HDR natural · Kodachrome · Monochrome artistic · Monochrome balanced · Monochrome vintage · Portrait · Rich colors · Vibrant light

You can of course load your own custom .cube files from disk as well.

- Script engine additions

Three new commands are now available in the script editor:

  • ENHANCE - auto-enhances the working image in a single line.
  • LUT_FILE <path> - loads a .cube file from disk for the next LUTs effect step.
  • LUT_EMBEDDED <name> - selects one of the 18 built-in presets by name (case-insensitive, spaces allowed).

- Auto-Enhance (available in the menu or by pressing 'E')

The auto-enhance feature attemps to optimize the source image. The goal is a clean, natural-looking enhancement.

- Full Reset (clean slate, without having to close and re-open FotoSketcher)

A new Full Reset function clears everything back to the application's initial state in one step - working image, history, LUT, script, custom brushes, and all sliders. To trigger it, simply right-click the exit button (the icon which turns red in the icon bar) or press Ctrl+Shift+N.

- UI improvements

  • Thumbnails in the history gallery now show a blue dot to indicate images that have not been modified - making it easier to spot your original source images at a glance.
  • Hovering over any thumbnail now displays a tooltip with the filename and file size, which comes in handy when working with multiple images.
  • Added support for opening .webp images (a format often found on the web).
  • Improved Italian and Korean translations. Big thanks to users Roberto and Jaehyung!

- Bug fixes

  • The window should now correctly re-scale when moved between monitors with different DPI settings.
  • Fixed an issue on macOS Sequoia where the splash screen would reappear on top of the main window after dismissal.
  • When the "Erase background" option is off, the Cartoon effect now correctly blends the pre-effect pixels into the output rather than discarding them.

If you would like to help test, you can download Beta 2 here: https://fotosketcher.com/beta/FotoSketcher_4.30_beta2.zip

As always, any feedback - bugs, oddities, anything that does not feel right - is very welcome. Please leave a comment below or send me an email at contact@fotosketcher.com.

Happy testing!

David

Thursday, May 21, 2026

FotoSketcher 4.30 Beta 1 is ready for testing

Hi all,

The first beta version of FotoSketcher 4.30 is now ready for download and testing. This release brings some new artistic tools, script updates, and a few notable UI tweaks.

Here is what is new in version 4.30 Beta 1:

  • Lookup Tables (LUT) Support: Added to the Photo Lab category. This feature allows you to load standard .cube files to apply custom color grading mapping to your images, giving you a wider range of cinematic and photographic tones.


  • New "Stylize" Category: I have introduced a new category called Stylize, which currently hosts two brand-new effects:
    • Mosaic: Turns your photos into classic tiled mosaic patterns.

    • Cartoon: A clean, graphic style with defined lines and solid colors.
  • Updated Scripting Engine: The script engine has been fully updated to support LUTs, Mosaic, and Cartoon, so you can now include these new effects in your automated sequences. (Note: I haven't forgotten about providing some ready-made scripts soon!)

  • User Interface & Layout Fixes: 

    • A blue dot has been added to the thumbnail gallery to clearly indicate which thumbnails are untouched source images.

    • I have implemented a potential fix to address window positioning issues on multi-monitor setups.

Still on the to-do list: Before the final release, I need to do more testing to weed out any lingering bugs. I am also working on improving both the Italian and Korean translations, thanks to two kind users who have provided updated and corrected translation files.

If you would like to test this beta version and help find any remaining bugs, you can download it here:

https://fotosketcher.com/beta/FotoSketcher_4.30_beta1.zip

As always, your feedback is very welcome. Please let me know how it works on your system!

Best regards,

David 





Wednesday, May 20, 2026

A quick look at the upcoming FotoSketcher 4.30

Hi everyone,

I am currently working on the next update, FotoSketcher 4.30, and I wanted to share a brief preview of the changes and new features coming in this version.

Here is what you can expect in the next release:

  • 3 New Effects:

    • Lookup Tables (LUTs) support: Added to the Photo Lab category, allowing for custom color grading.

    • Mosaic and Cartoon: These two new styles will be available under a brand-new Stylize category.

  • Updated Scripting Engine: The script engine has been updated to support these new effects, allowing you to include them in your automated workflows.

  • Performance Enhancements: Code optimizations have been made under the hood to improve overall rendering speed.

  • User Interface & Bug Fixes: This version will also include various UI refinements, general bug fixes, and corrections to translations.

Work is progressing well, and I will share download links for testing as soon as a stable build is ready.

Thank you for your continued feedback and support!

Best regards,

David 



Sunday, May 3, 2026

Having fun with scripts

Hi all,

I am currently experimenting with different scripts. I will share them here on my blog and will also write a tutorial to help you create your own.

Stay tuned!




Saturday, May 2, 2026

FotoSketcher Studio 4.20: corrected version now available 🪲

Hello everyone,

A corrected version of FotoSketcher Studio 4.20 is now available from the same download link at https://fotosketcher.com/download-fotosketcher/
If you downloaded version 4.20 yesterday, please re-download and re-install - the installer will cleanly update your existing installation.


What was the bug?

Some users experienced a crash (the famous"Access Violation" error message) when changing the application language, or sometimes when closing the program after a language change. The error did not happen for everyone, which made it trickier to track down.

What caused it?

FotoSketcher uses a scrolling text animation for labels that are too long to fit in their space. When switching languages, the program updated the label texts while some of them were still inside the containers used for this animation. On certain system configurations, these containers were not yet fully initialized at that point, causing the crash. The fix was to properly clean up the animations before updating any text.

Why didn't I catch this during testing?

On my development machine, the timing was always just right and everything was initialized by the time I switched languages. On other machines - different graphics drivers, screen scaling, or just different timing - it was not. A good reminder that "works on my PC" is never quite good enough!

Thank you

A huge thank you to David Garcia, who not only reported the bug within minutes of the release but also went above and beyond by exchanging emails with me late into the night, testing multiple debug builds, and helping me pinpoint the exact conditions that triggered the crash. His fast and thorough feedback was absolutely essential in getting this resolved so quickly.

Thank you also to Jack and everyone else who took the time to test the beta versions and the release. Thank you also to Roberto who corrected some mistakes I had made in the Italian translation. Your feedback and kind words mean a lot, and they really help make FotoSketcher better with each update.

Now, time to get some well deserved rest before the next round of improvements.

Happy sketching!

Friday, May 1, 2026

FotoSketcher Studio 4.20: A major release is officially here!

Hello everyone,

I am very happy to announce that FotoSketcher version 4.20 is now available for download. A big thank you to everyone who tested the beta version and provided such helpful feedback. Let's be blunt, I am quite proud of the new tools and improvements in this update. Hopefully I did not introduce too many new bugs...🤞

Here is a breakdown of what is new in this release:

- Three new effects As some of you requested, I have ported two classic effects from the old Windows-only 3.98 version: Watercolor 2 and Brushstrokes 2. I have also added a completely new Comic print effect, which is great for giving your photos a classic graphic novel look.

- Advanced Scripting and Batch Mode The new Script Editor is fully up and running. It allows you to write custom scripts to apply a specific sequence of effects. To help you get started, a reference sheet is included, along with a ready-to-use default script straight out of the box that combines three different watercolor renderings. Best of all, the script engine is fully compatible with batch mode, meaning you can apply your custom sequences to an entire folder of images automatically.


- History Gallery Upgrades I have added a new circular magnifying glass preview for the history gallery. This makes it much easier to inspect the fine details of your different image versions before saving. You can also now set any image directly from a thumbnail in the history gallery as your new source or result image, giving you a lot more versatility in your workflow.

- Menu and Workflow Additions The main menu is now more complete. I have added a "Combine source/result" option (F11) to easily merge or blend your images, and a convenient "Check for update" function directly in the menu so you can easily stay on the latest version.


Other improvements

  • The Watercolor 1 effect now works much better when the "Erase background" option is deselected.

  • After weeding out the last few bugs, this version also includes various UI tweaks and stability improvements under the hood.

You can download FotoSketcher Studio 4.20 for free here (Windows and MacOS): https://fotosketcher.com/download-fotosketcher/ 

I want to sincerely thank everyone who continues to support the project. Whether you test early versions, share your artwork, or support the software with a donation, it is always greatly appreciated and helps keep FotoSketcher completely free.

Have fun with the new version! 

Monday, April 27, 2026

FotoSketcher 4.20 beta 2 now available

Hi all,

A new beta is available for testing. You can download it here: https://fotosketcher.com/beta/FotoSketcher_4.20_beta2.zip

I've corrected some UI issues when the height of the main form was too small to accomodate all components and have added a comprehensive reference sheet for the new script engine.

Have fun!


Sunday, April 26, 2026

FotoSketcher 4.20 Beta 1 now available for testing

Hello everyone,

I am happy to announce that a beta version of the upcoming FotoSketcher 4.20 is now ready for testing. I've been working on porting some missing features from the older versions and adding a few new tools, and I would love to get your feedback before the official release.

Here is a summary of what is new in version 4.20:

  • Three new effects: As mentioned in my previous post, I have ported two classic effects from the old Windows-only 3.98 version: Watercolor 2 and Brushstrokes 2. I have also added a brand new Comic print effect.

  • Magnifying glass preview: I've added a completely new, circular magnifying glass preview for the history gallery (you can see it in the screenshot below on the bottom left). This should make it much easier to inspect the fine details of your different image versions.

  • Expanded menu: The main menu is now more complete. I have added "Combine source/result" (F11) and a "Check for update" option directly in the menu.

  • Script engine & Batch mode: The new advanced Script Editor is up and running. To help you get started, it includes a default script straight out of the box that you can try right away, which combines three different watercolor renderings. The script engine is also fully compatible with batch mode, meaning you can write your own custom scripts and apply a specific sequence of effects to an entire folder of images automatically.

  • UI improvements and bug fixes: As always, this version includes various UI tweaks and fixes under the hood.


Since this is a beta version, there may still be a few bugs hiding! If you would like to help test it, you can download the beta release here:

https://fotosketcher.com/beta/FotoSketcher_4.20_beta1.zip

Please let me know if you encounter any issues by leaving a comment below or sending me an email (contact@fotosketcher.com), so I can fix them before the final release.

I want to sincerely thank everyone who takes the time to test these early versions and provide feedback. I also want to thank those of you who support the project with a donation via PayPal or on Patreon - it is greatly appreciated and helps me keep FotoSketcher completely free for everyone.

Happy testing!