Skrip Mendukung berbagai jenis unduhan: Lora, Pos Pemeriksaan, Embeddings, Data Pelatihan, Lainnya, atau Semua dan gambar terkait dari nama pengguna CivitAI tertentu, mengaturnya ke dalam direktori yang sesuai dan menyimpan detailnya dalam file teks.
Ini dirancang untuk hanya mengunduh file yang belum ada di folder nama pengguna yang ditentukan. Jika pengguna mengunggah model baru, menjalankan kembali skrip hanya akan mengunduh file yang baru diunggah.
Contoh Detail.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
Struktur Berkas
File yang diunduh akan diatur dalam struktur berikut:
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
Anda juga dapat memberikan 5 Argumen tambahan ini pada skrip
--retry_delay
bawaan=10,
"Coba lagi penundaan dalam hitungan detik."
--max_tries
bawaan=3,
"Jumlah maksimum percobaan ulang."
--max_threads
bawaan=5,
"Jumlah maksimum thread bersamaan. Terlalu banyak menghasilkan Kegagalan API."
--download_type
Lora
Pos pemeriksaan
Penyematan
Pelatihan_Data
Lainnya
Bawaan = Semua
--token
bawaan=Tidak ada
"Ini hanya akan Mengunduh Model yang tersedia untuk Umum"
"Berikan Token dan juga dapat Mengunduh Model di belakang Login CivitAI."
Jika Anda lupa Memberikan Token, Script akan meminta token Anda.
Skrip pembantu fetch_all_models.py
python fetch_all_models.py --username--token
Contoh nama pengguna.txt dibuat dengan skrip pembantu ambil_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 ...
Anda dapat membuat Kunci API Anda di sini Pengaturan Akun. Gulir ke bawah sampai akhir dan Anda menemukan Kotak ini
File teks kata pemicu
Menambahkan fungsionalitas untuk membuat file "triggerWords.txt" untuk setiap model.
File ini berisi kata-kata pemicu yang terkait dengan model.
File "triggerWords.txt" disimpan di direktori yang sama dengan file model.
Organisasi Folder Model Dasar
Menerapkan struktur folder baru yang mengatur unduhan berdasarkan model dasarnya.
Unduhan sekarang diurutkan ke dalam subfolder yang diberi nama sesuai model dasarnya masing-masing dalam setiap kategori (Lora, Checkpoints, dll.).
Organisasi ini berlaku untuk semua kategori ketika informasi model dasar tersedia.
Folder untuk kategori tanpa informasi model dasar tetap tidak berubah
Peningkatan logging untuk melacak penggunaan model dasar dan masalah terkait lainnya.
File Deskripsi Model
File-file ini berisi deskripsi asli model yang disediakan oleh pembuatnya.
File deskripsi yang merupakan file HTML yang dapat dibuka langsung di browser, menyimpan deskripsi asli yang disediakan oleh pembuatnya di direktori yang sama dengan file model terkait.
Opsi pengunduhan untuk Training_Data ditambahkan:
Secara otomatis membuat folder unduhannya sendiri.
Menyimpan paket ZIP yang diunduh, gambar terkait, dan file detail.txt
.
Pengenalan skrip pembantu fetch_all_models.py
:
Mengambil informasi model dari CivitAI API berdasarkan nama pengguna dan token API.
Kategorikan hasil dan rangkum dalam file teks {username}.txt
.
Meningkatkan gambaran umum konten pengguna dan mengaktifkan fungsi statistik.
Dapat juga digunakan secara mandiri dengan perintah berikut:
python fetch_all_models.py --username
Deteksi dan kategorisasi tipe baru:
Script sekarang mengenali tipe VAE dan Locon dan menugaskannya ke kategori "Lainnya".
Peningkatan filter untuk karakter bermasalah:
Optimalisasi fungsi filter untuk menangani karakter bermasalah dengan lebih baik.
Pengoptimalan kode:
Semua variabel global sekarang berada di awal skrip.
Tidak ada lagi fungsi di dalam fungsi lainnya.
Gabungkan baris kode jika diperlukan untuk keterbacaan dan pemeliharaan yang lebih baik.
Alokasi paket ZIP yang benar:
Paket ZIP sekarang diunduh ke folder yang sesuai dengan spesifikasi API, misalnya Training_Data, Lora, Other.
Paket ZIP tanpa kategori tertentu masih diunduh di bawah "Lainnya".
Statistik diperbaiki:
Fungsi statistik sekarang didasarkan pada skrip pembantu baru fetch_all_models.py
, yang meningkatkan akurasi dan fungsionalitas.
Pemfilteran Karakter yang Ditingkatkan:
Skrip telah dimodifikasi untuk menyaring secara ekstensif karakter terlarang dan bermasalah untuk mencegah masalah selama proses pembuatan folder.
Perbaikan Penanganan Kesalahan:
Jika skrip menemukan karakter yang mencegah pembuatan folder, skrip sekarang mencatat nama dan URL unduhan yang terpengaruh.
Informasi ini dicatat dalam file teks yang sudah ada, yang secara otomatis diberi nama sesuai nama pengguna yang kontennya sedang diunduh. Pembaruan ini memungkinkan pengguna menyelesaikan pengunduhan secara manual jika muncul masalah.
failed_downloads_username.txt
Berubah dari Melewati gambar menjadi Memotong ketika panjang jalur melebihi batas.
Fitur baru yang telah lama ditunggu-tunggu
Opsi Pengunduhan Selektif
Pengguna kini dapat memilih untuk mengunduh jenis konten tertentu:
Lora
Pos pemeriksaan
Penyematan
Lainnya
Semuanya kecuali Lora, Pos Pemeriksaan, Embeddings (dikelompokkan dalam Other_Model_types untuk item yang jarang diunduh)
Semua
adalah Perilaku Pengunduhan Default: Opsi default untuk mengunduh semua konten yang tersedia tetap ada jika tidak ada parameter pengunduhan tertentu yang ditetapkan.
Baris Perintah dan Peningkatan Interaktif:
Argumen Baris Perintah: Pengguna dapat langsung menentukan preferensi pengunduhan mereka (Lora, Pos Pemeriksaan, Penyematan, Lainnya, atau Semua) melalui baris perintah bersama dengan parameter startup lainnya.
Mode Interaktif: Jika tidak ada argumen baris perintah yang ditentukan, program akan meminta pengguna secara interaktif untuk memilih konten yang ingin mereka unduh. Menekan tombol Enter akan mengaktifkan pengaturan default untuk mengunduh semua konten.
Pembaruan Struktur Folder:
Penyimpanan Terorganisir: Struktur folder program telah ditata ulang untuk mendukung opsi pengunduhan baru secara efisien:
Direktori utama: model_downloads/
Subdirektori khusus pengguna: Nama pengguna/
Subfolder khusus konten untuk Lora, Checkpoints, Embeddings, dan Other_Model_types masing-masing berisi subfolder khusus item.
Perbaikan bug
Script tidak akan lagi menghapus nama file jika ditulis sama dengan nama folder. Hal ini dapat terjadi dari waktu ke waktu karena fungsi sanitasi skrip.
Fungsi baru untuk menghindari OSError: [Errno 36] Nama file terlalu panjang:
Penomoran halaman sudah diperbaiki
Fungsi Baru Beberapa Nama Pengguna