Le script prend en charge différents types de téléchargement : Lora, Checkpoints, Embeddings, Training Data, Other ou All et les images associées à partir d'un nom d'utilisateur CivitAI donné, en les organisant dans des répertoires appropriés et en conservant les détails dans un fichier texte.
Il est conçu pour télécharger uniquement les fichiers qui ne sont pas déjà présents dans le dossier du nom d'utilisateur spécifié. Si l'utilisateur télécharge de nouveaux modèles, l'exécution à nouveau du script téléchargera uniquement les fichiers nouvellement téléchargés.
Exemple de détails.txt
Model URL: https://civitai.com/models/ID File Name: Name of the Model.ending File URL: https://civitai.com/api/download/models/ID Image ID: ID Image URL: https://image.civitai.com/Random_characters/width=450/ID.jpeg
Structure du fichier
Les fichiers téléchargés seront organisés dans la structure suivante :
model_downloads/ ├── username1/ │ ├── Lora/ │ │ ├── SDXL 1.0/ │ │ │ └── model1/ │ │ │ ├── file1.safetensors │ │ │ ├── image1.jpeg │ │ │ ├── details.txt │ │ │ ├── triggerWords.txt │ │ │ └── description.html │ │ └── SD 1.5/ │ │ └── model2/ │ │ ├── file3.safetensors │ │ ├── image2.jpeg │ │ ├── details.txt │ │ │ ├── triggerWords.txt │ │ └── description.html │ ├── Checkpoints/ │ │ ├── FLUX/ │ │ │ └── model1/ │ │ │ ├── file.safetensors │ │ │ ├── image.jpeg │ │ │ ├── details.txt │ │ │ ├── triggerWords.txt │ │ │ └── description.html │ ├── Embeddings/ │ ├── Training_Data/ │ └── Other/ └── username2/ ├── Lora/ ├── Checkpoints/ ├── Embeddings/ ├── Training_Data/ └── Other/
install Python3
pip install -r requirements.txt
python civitAI_Model_downloader.py one or multiple usernames space separated
Vous pouvez également donner au script ces 5 arguments supplémentaires
--retry_delay
par défaut = 10,
"Délai de nouvelle tentative en secondes."
--max_tries
par défaut = 3,
"Nombre maximum de tentatives."
--max_threads
par défaut = 5,
"Nombre maximum de threads simultanés. Un trop grand nombre entraîne un échec de l'API."
--download_type
Lorraine
Points de contrôle
Intégrations
Données_de_formation
Autre
Par défaut = Tout
--token
par défaut = Aucun
"Il ne téléchargera que les modèles disponibles au public"
"Fournissez un jeton et il peut également télécharger ces modèles derrière la connexion CivitAI."
Si vous avez oublié de fournir un jeton, le script vous demande votre jeton.
Script d'assistance fetch_all_models.py
python fetch_all_models.py --username--token
Exemple de nom d'utilisateur.txt créé avec le script d'assistance fetch_all_models.py
Summary: Total - Count: 61 Checkpoints - Count: 12 Embeddings - Count: 33 Lora - Count: 11 Training_Data - Count: 2 Other - Count: 3 Detailed Listing: Checkpoints - Count: 12 Checkpoints - Item: NAME ... Embeddings - Count: 33 Embeddings - Item: NAME - Embeddings ... Lora - Count: 11 Lora - Item: NAME ... Training_Data - Count: 2 Training_Data - Item: NAME_training_data.zip ... Other - Count: 3 Other - Item: NAME - Type: Other ...
Vous pouvez créer votre clé API ici Paramètres du compte. Faites défiler jusqu'à la fin et vous trouverez cette boîte
Fichier texte des mots déclencheurs
Ajout d'une fonctionnalité pour créer un fichier "triggerWords.txt" pour chaque modèle.
Ce fichier contient les mots déclencheurs associés au modèle.
Le fichier "triggerWords.txt" est enregistré dans le même répertoire que les fichiers du modèle.
Organisation des dossiers du modèle de base
Implémentation d'une nouvelle structure de dossiers qui organise les téléchargements en fonction de leur modèle de base.
Les téléchargements sont désormais triés dans des sous-dossiers nommés d'après leurs modèles de base respectifs au sein de chaque catégorie (Lora, Checkpoints, etc.).
Cette organisation s'applique à toutes les catégories lorsque les informations du modèle de base sont disponibles.
Les dossiers des catégories sans informations sur le modèle de base restent inchangés
Journalisation améliorée pour suivre l’utilisation du modèle de base et tout problème associé.
Fichiers de description du modèle
Ces fichiers contiennent la description originale du modèle telle que fournie par le créateur.
Fichiers de description qui sont des fichiers HTML pouvant être ouverts directement dans un navigateur, enregistrant les descriptions originales fournies par les créateurs dans le même répertoire que les fichiers de modèles correspondants.
Option de téléchargement pour Training_Data ajoutée :
Crée automatiquement son propre dossier de téléchargement.
Enregistre les packages ZIP téléchargés, les images associées et un fichier detail.txt
.
Introduction d'un script d'assistance fetch_all_models.py
:
Récupère les informations de modèle de l'API CivitAI en fonction du nom d'utilisateur et du jeton API.
Catégorise les résultats et les résume dans un fichier texte {username}.txt
.
Améliore la vue d'ensemble du contenu utilisateur et active la fonction de statistiques.
Peut également être utilisé de manière autonome avec la commande suivante :
python fetch_all_models.py --username
Détection et catégorisation de nouveaux types :
Script reconnaît désormais les types VAE et Locon et les affecte à la catégorie "Autre".
Amélioration du filtre pour les personnages problématiques :
Optimisation des fonctions de filtrage pour mieux gérer les caractères problématiques.
Optimisations du code :
Toutes les variables globales se trouvent désormais au début du script.
Plus de fonctions à l'intérieur d'autres fonctions.
Fusionnez les lignes de code le cas échéant pour une meilleure lisibilité et maintenabilité.
Attribution correcte des packages ZIP :
Les packages ZIP sont maintenant téléchargés dans les dossiers appropriés selon les spécifications de l'API, par exemple Training_Data, Lora, Other.
Les packages ZIP sans catégorie spécifique sont toujours téléchargés sous « Autre ».
Statistiques corrigées :
La fonction de statistiques est désormais basée sur le nouveau script d'assistance fetch_all_models.py
, qui améliore la précision et la fonctionnalité.
Filtrage de caractères amélioré :
Le script a été modifié pour filtrer en profondeur les caractères interdits et problématiques afin d'éviter des problèmes lors du processus de création de dossier.
Améliorations de la gestion des erreurs :
Dans les cas où le script rencontre des caractères qui empêchent la création de dossier, il enregistre désormais le nom et l'URL du téléchargement concerné.
Ces informations sont enregistrées dans un fichier texte préexistant, qui porte automatiquement le nom de l'utilisateur dont le contenu est en cours de téléchargement. Cette mise à jour permet aux utilisateurs de terminer manuellement les téléchargements si des problèmes surviennent.
failed_downloads_username.txt
Passé de Sauter l'image à Tronquer lorsque la longueur du chemin dépasse la limite.
Nouvelle fonctionnalité tant attendue
Options de téléchargement sélectif
Les utilisateurs peuvent désormais choisir de télécharger des types de contenu spécifiques :
Lorraine
Points de contrôle
Intégrations
Autre
Tout sauf Lora, Checkpoints, Embeddings (regroupés sous Other_Model_types pour les éléments moins fréquemment téléchargés)
Tous
est le comportement de téléchargement par défaut : l'option par défaut permettant de télécharger tout le contenu disponible est conservée si aucun paramètre de téléchargement spécifique n'est défini.
Ligne de commande et améliorations interactives :
Arguments de ligne de commande : les utilisateurs peuvent spécifier directement leurs préférences de téléchargement (Lora, Checkpoints, Embedding, Other ou All) via la ligne de commande aux côtés d'autres paramètres de démarrage.
Mode interactif : si aucun argument de ligne de commande n'est spécifié, le programme invitera les utilisateurs de manière interactive à sélectionner le contenu qu'ils souhaitent télécharger. Appuyer sur la touche Entrée active les paramètres par défaut pour télécharger tout le contenu.
Mise à jour de la structure des dossiers :
Stockage organisé : la structure des dossiers du programme a été réorganisée pour prendre en charge efficacement les nouvelles options de téléchargement :
Répertoire principal : model_downloads/
Sous-répertoire spécifique à l'utilisateur : Nom d'utilisateur/
Sous-dossiers spécifiques au contenu pour Lora, Checkpoints, Embeddings et Other_Model_types, chacun contenant des sous-dossiers spécifiques à un élément.
Correction d'un bug
Le script ne supprimera plus le nom du fichier s'il est écrit de la même manière que le nom du dossier. Cela peut arriver de temps en temps en raison de la fonction de nettoyage du script.
Nouvelle fonction pour éviter OSError : [Errno 36] Nom de fichier trop long :
La pagination est corrigée
Nouvelle fonction Noms d'utilisateur multiples