diff --git a/extensions_built_in/captioner/BaseCaptioner.py b/extensions_built_in/captioner/BaseCaptioner.py
index bf9a575..c7c9441 100644
--- a/extensions_built_in/captioner/BaseCaptioner.py
+++ b/extensions_built_in/captioner/BaseCaptioner.py
@@ -19,8 +19,9 @@ from toolkit.train_tools import get_torch_dtype
AITK_Status = Literal["running", "stopped", "error", "completed"]
-# prompt special token:
-> contents of the media file's sibling .ext
-_CAPTION_TOKEN_RE = re.compile(r"")
+# prompt special token: -> contents of the media file's sibling .ext.
+# ext is dot-separated alphanumeric segments only: no separators, no empty segments (..)
+_CAPTION_TOKEN_RE = re.compile(r"")
class CaptionConfig:
@@ -162,11 +163,16 @@ class BaseCaptioner(BaseExtensionProcess):
or blank when that file does not exist."""
if not prompt or "