+ pic-prompt/
+ ├── pyproject.toml      # Already created
+ ├── README.md          # Project overview and usage
+ ├── LICENSE           # MIT license
+ ├── src/
+ │   └── pic_prompt/    # Note underscore in package name
+ │       ├── __init__.py              # Main package exports
+ │       ├── pic_prompt.py            # Main file
+ │       ├── core/
+ │       │   ├── __init__.py          # Core module exports
+ │       │   ├── prompt_message.py     # PromptMessage class
+ │       │   ├── message_type.py       # MessageType enum
+ │       │   ├── prompt_config.py      # PromptConfig class
+ │       │   ├── image_config.py       # ImageConfig class
+ │       │   └── errors.py             # Error classes
+ │       ├── providers/
+ │       │   ├── __init__.py          # Provider module exports
+ │       │   ├── provider_helper.py    # ProviderHelper base class
+ │       │   ├── provider_helper_factory.py  # Factory class
+ │       │   ├── provider_helper_openai.py   # OpenAI implementation
+ │       │   ├── provider_helper_anthropic.py # Anthropic implementation
+ │       │   └── provider_helper_gemini.py    # Gemini implementation
+ │       ├── images/
+ │           ├── __init__.py
+ │           ├── image_handler.py     # ImageHandler
+ │           ├── sources/
+ │           │   ├── __init__.py
+ │           │   ├── image_source.py  # ImageSource base class
+ │           │   ├── local_source.py  # LocalFileSource
+ │           │   ├── http_source.py   # HttpSource
+ │           │   └── s3_source.py     # S3Source
+ │           └── image_errors.py      # Image-specific errors
+ └── tests/
+     ├── __init__.py
+     ├── conftest.py                  # pytest configuration
+     ├── test_builder.py
+     ├── test_providers/
+     │   ├── __init__.py
+     │   ├── test_openai.py
+     │   ├── test_anthropic.py
+     │   └── test_gemini.py
+     └── test_images/
+         ├── __init__.py
+         ├── test_handler.py
+         └── test_sources.py
