diff --git a/Artifacts.toml b/Artifacts.toml
new file mode 100644
index 0000000000000000000000000000000000000000..ef6feeb208a4afe4c6498c80d0d94e62c22377fc
--- /dev/null
+++ b/Artifacts.toml
@@ -0,0 +1,55 @@
+[20230311]
+git-tree-sha1 = "bd21d3575d436576f40116304d31f75ac1026c0f"
+lazy = true
+
+	[[20230311.download]]
+	url = "https://gitlab.pasteur.fr/nyx/artefacts/-/raw/ef0f4de04620a87c15c7855c192f76731bd603ec/MaggotUBA/20230311.tar.gz?inline=false"
+	sha256 = "9cb79c0d75e883e1bb80904fb3bacf030758cadfbd874d627c46554b5eafaf51"
+
+[20230311-0]
+git-tree-sha1 = "0790eefe8b0990622aa91b6ffdff9cbf862c983f"
+lazy = true
+
+	[[20230311-0.download]]
+	url = "https://gitlab.pasteur.fr/nyx/artefacts/-/raw/ef0f4de04620a87c15c7855c192f76731bd603ec/MaggotUBA/20230311-0.tar.gz?inline=false"
+	sha256 = "e7405cf9a6bda62422f89dcf8edd651a7b11164ac53d13d214e06b1d612802d3"
+
+[20230524-6behaviors-25-0]
+git-tree-sha1 = "361d2ecebbd74f0dbc7840f06db2aa8c2b3293c6"
+lazy = true
+
+	[[20230524-6behaviors-25-0.download]]
+	url = "https://gitlab.pasteur.fr/nyx/artefacts/-/raw/fe60db0bcd5bfabfa2c4bed3f3b2e2c84883565f/MaggotUBA/20230524-6behaviors-25-0.tgz?inline=false"
+	sha256 = "d9d8f22244405d6c5d242edbbb308d8fea8e102a12ab6b91c3b1aec7699a30bd"
+
+[20230524-6behaviors-25]
+git-tree-sha1 = "ecd2e8f05830ff5b67792579ebf9e10f0136c7e3"
+lazy = true
+
+	[[20230524-6behaviors-25.download]]
+	url = "https://gitlab.pasteur.fr/nyx/artefacts/-/raw/dfa8c7e32fe31d7e66d19eed8e5a15ed80b155c3/MaggotUBA/20230524-6behaviors-25.tgz?inline=false"
+	sha256 = "77b1625220fda3f6b0cb22e68c0499e0a101d286a295ee12cbf10c081788e6bb"
+
+[20230524-hunch-25]
+git-tree-sha1 = "08c392a892c43c56961573e241b6c0ad0d1ba3f7"
+lazy = true
+
+	[[20230524-hunch-25.download]]
+	url = "https://gitlab.pasteur.fr/nyx/artefacts/-/raw/fe60db0bcd5bfabfa2c4bed3f3b2e2c84883565f/MaggotUBA/20230524-hunch-25.tgz?inline=false"
+	sha256 = "17cb6ca71f0230659fd0e508a99228c254fa989e37d38f0258666fb270260fe8"
+
+[20230524-roll-25-0]
+git-tree-sha1 = "4a683f3c27b8f190e2d0fc7dd8fcca32218df21b"
+lazy = true
+
+	[[20230524-roll-25-0.download]]
+	url = "https://gitlab.pasteur.fr/nyx/artefacts/-/raw/fe60db0bcd5bfabfa2c4bed3f3b2e2c84883565f/MaggotUBA/20230524-roll-25-0.tgz?inline=false"
+	sha256 = "4fee6d8f6e3902c0c5994123c5b7a064c37bc95362a1fcbd0fc145b376a487b8"
+
+[20230524-roll-25]
+git-tree-sha1 = "0cc048800c6ba80307cf30a9aca6a64c788d90b8"
+lazy = true
+
+	[[20230524-roll-25.download]]
+	url = "https://gitlab.pasteur.fr/nyx/artefacts/-/raw/dfa8c7e32fe31d7e66d19eed8e5a15ed80b155c3/MaggotUBA/20230524-roll-25.tgz?inline=false"
+	sha256 = "bf453181518acfbb5e3ca44d7d12bd07401943c77c7f53adee1efd3514349503"
diff --git a/scripts/make_models.jl b/scripts/make_models.jl
new file mode 100755
index 0000000000000000000000000000000000000000..9ca46fd1ed32ccaadbfaeb6d737c4e12f679a7b9
--- /dev/null
+++ b/scripts/make_models.jl
@@ -0,0 +1,50 @@
+#!/bin/bash
+#=
+PROJECT_DIR=$(dirname $(dirname $(realpath "${BASH_SOURCE[0]}")))
+if [ -z "$JULIA" ]; then JULIA=julia; fi
+exec $JULIA --project="$PROJECT_DIR" "${BASH_SOURCE[0]}" "$@"
+=#
+
+using LazyArtifacts
+
+projectdir = dirname(Base.active_project())
+
+function pretrained_models(name)
+    artifact = @artifact_str(name)
+    src = @artifact_str("$name/pretrained_models")
+    dst = mkpath(joinpath(projectdir, "pretrained_models"))
+    for filename in readdir(src; join=false)
+        mv(joinpath(src, filename), joinpath(dst, filename))
+    end
+    rm(artifact; recursive=true, force=true)
+end
+
+function models(name)
+    src = artifact = @artifact_str(name)
+    dst = mkpath(joinpath(projectdir, "models"))
+    for filename in readdir(src; join=false)
+        mv(joinpath(src, filename), joinpath(dst, filename))
+    end
+    rm(artifact; recursive=true, force=true)
+    @assert isdir(joinpath(dst, name))
+end
+
+function main(args=ARGS)
+    if isempty(args)
+        print("missing pretrained model name")
+        exit()
+    elseif length(args) == 1 && args[1] == "default"
+        args = ["20230524-6behaviors-25", "20230524-hunch-25", "20230524-roll-25"]
+        #cd(mkpath(joinpath(projectdir, "pretrained_models"))) do
+        #    symlink("20230524-6behaviors-25", "default"; dir_target=true)
+        #end
+    end
+    for arg in args
+        pretrained_models(arg)
+    end
+    #for arg in ("20230311", "20230311-0")
+    #    models(arg)
+    #end
+end
+
+main()