{"id":19173764,"url":"https://github.com/terieyenike/content-aware-st","last_synced_at":"2026-05-15T11:34:22.923Z","repository":{"id":261793164,"uuid":"885357789","full_name":"Terieyenike/content-aware-st","owner":"Terieyenike","description":"This app demonstrates content-aware cropping using Cloudinary's AI capabilities","archived":false,"fork":false,"pushed_at":"2024-11-25T17:59:49.000Z","size":815,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-17T21:57:38.029Z","etag":null,"topics":["cloudinary","python","python-dotenv","streamlit"],"latest_commit_sha":null,"homepage":"https://content-aware-st.streamlit.app/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Terieyenike.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-11-08T12:38:40.000Z","updated_at":"2024-11-25T17:59:52.000Z","dependencies_parsed_at":"2024-11-25T18:42:21.125Z","dependency_job_id":null,"html_url":"https://github.com/Terieyenike/content-aware-st","commit_stats":null,"previous_names":["terieyenike/content-aware-st"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Terieyenike%2Fcontent-aware-st","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Terieyenike%2Fcontent-aware-st/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Terieyenike%2Fcontent-aware-st/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Terieyenike%2Fcontent-aware-st/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Terieyenike","download_url":"https://codeload.github.com/Terieyenike/content-aware-st/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240252839,"owners_count":19772183,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cloudinary","python","python-dotenv","streamlit"],"created_at":"2024-11-09T10:14:43.159Z","updated_at":"2026-05-15T11:34:22.918Z","avatar_url":"https://github.com/Terieyenike.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Content-Aware Application with Streamlit and Cloudinary\n\n## Overview\n\nThis project showcases how to build a content-aware application using Streamlit and Cloudinary. The application allows users to process both images and videos using Cloudinary's powerful AI-driven content-aware cropping and delivery capabilities. Users can input any Cloudinary public ID for images or videos, select from multiple aspect ratios, and instantly preview the results. With Cloudinary, you can easily deliver media to perfectly fit your graphic design and layout, on any device.\n\n![content aware](image.png)\n\n## Try It Out Live\n\nYou can try the application instantly without installation at:\n\n[https://content-aware-st.streamlit.app](https://content-aware-st.streamlit.app)\n\n## Prerequisites\n\nTo get started, ensure you have the following installed:\n\n- Python 3.x\n- Streamlit\n- Cloudinary\n- python-dotenv (for loading environment variables from a .env file)\n\nYou can install the required packages using pip:\n\n```\npip install streamlit cloudinary python-dotenv\n```\n\n## Environment Variables\n\nBefore running the application, set up the following environment variables with your Cloudinary account details. You can place these in a `.env` file in the project root, or export them in your shell:\n\n```bash\nCLOUDINARY_CLOUD_NAME=your_cloud_name\nCLOUDINARY_API_KEY=your_api_key\nCLOUDINARY_API_SECRET=your_api_secret\n```\n\nReplace the placeholders with your actual Cloudinary credentials.\n\n\n## Project Structure\n\nThe project consists of the following key files:\n\n- **app.py**: The main application file where the Streamlit app is defined.\n- **requirements.txt**: A file listing the required Python packages.\n\n## Features\n\n- **Image Cropping**: Input any Cloudinary image public ID and select from aspect ratios (1:2, 5:2, 1:1) for AI-powered content-aware cropping.\n- **Video Cropping**: Input any Cloudinary video public ID and select from aspect ratios (1:2, 5:2, 1:1) for AI-powered content-aware cropping.\n- **Dynamic Media Delivery**: Images and videos are processed and delivered via Cloudinary, ensuring optimal performance and responsiveness.\n- **User-Friendly Interface**: Easily preview the results and experiment with different aspect ratios and media types.\n\n## Example Public IDs\n\nBelow are example public IDs you can use to test the app with your own Cloudinary account (after setting your Cloudinary configuration values):\n\n- Image: `profile_uzviqu`\n- Video: `video-player/water-gushing`\n\n*To use your own media, upload it to your Cloudinary account and use its public ID after updating the Cloudinary configuration values in your environment.*\n\n## Running the Application\n\nTo run the application, navigate to the project directory in your terminal and execute:\n\n```\nstreamlit run app.py\n```\n\nThis command will start the Streamlit server. Open your browser to [http://localhost:8501](http://localhost:8501) to use the app.\n\n## How It Works\n\nThe app uses Cloudinary's AI-powered transformations to automatically crop images and videos to the selected aspect ratio, focusing on the most important content. The user can experiment with different aspect ratios and public IDs to see the results in real time.\n\n## Author\n\n- Teri\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a pull request or open an issue.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fterieyenike%2Fcontent-aware-st","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fterieyenike%2Fcontent-aware-st","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fterieyenike%2Fcontent-aware-st/lists"}