{"id":34112877,"url":"https://github.com/regiellis/ecko-cli","last_synced_at":"2026-04-05T18:32:45.608Z","repository":{"id":257791110,"uuid":"848969281","full_name":"regiellis/ecko-cli","owner":"regiellis","description":"ecko-cli is a simple CLI tool that streamlines the process of processing images in a directory, generating captions, and saving them as text files. Additionally, it provides functionalities to create a JSONL file from images in the directory you specify. Images will be captioned using the Microsoft Florence-2-large model and ONNX","archived":false,"fork":false,"pushed_at":"2025-07-21T22:48:57.000Z","size":564,"stargazers_count":5,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-03T07:45:48.670Z","etag":null,"topics":["ai","cli","ecko","ecko-cli","florence-2","generative-ai","huggingface-transformers","image-classification","image-processing","onnxruntime"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/regiellis.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-08-28T18:28:38.000Z","updated_at":"2025-06-29T22:40:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"b69aa438-e33b-49da-929f-306b5b6a997c","html_url":"https://github.com/regiellis/ecko-cli","commit_stats":null,"previous_names":["regiellis/ecko-cli"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/regiellis/ecko-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/regiellis%2Fecko-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/regiellis%2Fecko-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/regiellis%2Fecko-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/regiellis%2Fecko-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/regiellis","download_url":"https://codeload.github.com/regiellis/ecko-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/regiellis%2Fecko-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31446524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T15:22:31.103Z","status":"ssl_error","status_checked_at":"2026-04-05T15:22:00.205Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","cli","ecko","ecko-cli","florence-2","generative-ai","huggingface-transformers","image-classification","image-processing","onnxruntime"],"created_at":"2025-12-14T19:04:36.674Z","updated_at":"2026-04-05T18:32:45.603Z","avatar_url":"https://github.com/regiellis.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ecko-cli\n\n\u003e [!IMPORTANT]\n\u003e This tools has the option to now use the JoyCaption model for captioning images. You will need to have huggingface hub\n\u003e installed to download the model and the tokenizer. Also JoyCaption is a large model and will require a GPU with\n\u003e a healthy amount of memory.\n\u003e [Demo on Huggingface](https://huggingface.co/spaces/fancyfeast/joy-caption-alpha-two) //\n\u003e [Huggingface Repo](https://huggingface.co/fancyfeast/llama-joycaption-alpha-two-hf-llava)\n\n\u003e [!IMPORTANT]\n\u003e This tool makes use of the `flash-attention` library, which has known to be problematic to install based on PyTorch \u003e and CUDA versions. You may\n\u003e need to install the dependencies manually if you encounter issues. The way to install flash-attention is to clone \u003e  the repo and install the package with pip. This is the recommended way to install the package. You can also\n\u003e install the package with pip, but you will need to clone the repo first\n\u003e\n\u003e```bash\n\u003e git clone https://github.com/Dao-AILab/flash-attention.git\n\u003e cd flash-attention\n\u003e pip install flash_attn --no-build-isolation\n\u003e pip install timm\n\u003e```\n\u003e Install via pipx\n\u003e ```bash\n\u003e pipx inject ecko-cli flash_attn\n\u003e pipx inject ecko-cli timm\n\u003e```\n\u003e Install via the CLI\n\u003e ```bash\n\u003e ecko tools install-flash-attention\n\u003e```\n\u003e\n\n\u003e [!NOTE]\n\u003e You may notice a delay when first using the tool...normally this means that the models\n\u003e are being downloaded/update from huggingface or that they are being moved to your\n\u003e GPU. Check your terminal to make see progress\n\n## Overview\n\n**ecko-cli** is a simple CLI tool that streamlines the process of processingimages in a directory, generating captions, and saving them as text files.\nAdditionally, it provides functionalities to create a JSONL file from images in the directory you specify. Images will be captioned using the MiaoshouAI/Florence-2-base-PromptGen-v2.0 model. Images are resized to multiple sizes for better captioning results. [1024, 768, 672, 512]. \n\n\n![screenshot](screen.png)\n\n## Why\n\nI wanted to create a tool that would allow me to process images in bulk quickly and efficiently for using in generative art projects. This tool\nallows me to generate captions for images that I can use as training data captions for my training LORAs (Large OpenAI Research Agents) and other\ngenerative models.\n\n\n## Installation (Recommended)\n\nYou have a couple of options for installing/running the tool:\n\n### Install [pipx](https://pipxproject.github.io/pipx/installation/), then run the tool with the following command\n\n```bash\npipx install ecko-cli\n```\n\n### Alternatively, you can install using `pip`\n\n```bash\npip install .\n```\n\n## Configuration\n\n\u003e [!IMPORTANT]\n\u003e Before using the tool, It's required to set up a `.env` file in the parent directory of the script or your home user dir [windows] or `$HOME/.config/ecko-cli-itsjustregi/.env`\n\nThe application intelligently locates your `.env` file, accommodating various platforms like Windows and Linux, or defaulting to the current directory.\n\n## Usage // Available Commands\n\nOnce installed via pipx or pip:\n\n```\necko process-images /path/to/images watercolors --padding 4\n```\n```\necko process-images --use_joy_cap /path/to/images watercolors --padding 4\n```\n```\necko process-images /path/to/images doors --is_object True\n```\n```\necko process-images /path/to/images doors --trigger WORD\n```\n```\necko create-jsonl /path/to/images [dataset]\n```\n```\necko ui /path/to/images\n```\n\n\n\n## Dependencies\n\nThis tool requires Python 3.11 or higher and has the following dependencies:\n\n```bash\n\"typer\",\n\"rich\",\n\"shellingham\",\n\"python-dotenv\",\n\"torch\",\n\"pillow\",\n\"einops\"\n\"transformers\"\n\"timm\"\n\"torchvision\"\n\"huggingface_hub[cli]\"\n```\n\n### Contact\n\nFor any inquiries, feedback, or suggestions, please feel free to open an issue on this repository.\n\n### License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fregiellis%2Fecko-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fregiellis%2Fecko-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fregiellis%2Fecko-cli/lists"}