flowchart TD Start("Run generate-cover.sh"):::startNode CheckAPI{"HAS_OPENAI_API_KEY?"}:::decisionNode CheckBilling{"API Billing Active?"}:::decisionNode FullAuto["Use Full Auto Mode"]:::autoNode GenerateAPI["Generate via API"]:::processNode SaveAuto["Save to docs/img/cover.png"]:::processNode DoneAuto("Done - Image Generated!"):::successNode CheckChatGPT{"HAS_CHATGPT_PRO?"}:::decisionNode LocalPrompt["Use --local-prompt"]:::processNode GeneratePrompt["Generate Prompt Locally"]:::processNode DisplayPrompt["Display Image Prompt"]:::processNode CheckMacOS{"ON_MACOS?"}:::decisionNode OpenBrowser["Use --open-browser"]:::macNode AutoPaste["Auto-open ChatGPT & Paste"]:::macNode ManualCopy["Copy Prompt Manually"]:::processNode PasteChatGPT["Paste in ChatGPT"]:::processNode DownloadImg["Download Generated Image"]:::processNode SaveManual["Save to docs/img/cover.png"]:::processNode DoneManual("Done - Image Saved!"):::successNode NoOption("Cannot Generate Cover"):::errorNode SetupAPI["Setup OpenAI API Billing"]:::processNode Start --> CheckAPI CheckAPI -->|Yes| CheckBilling CheckAPI -->|No| CheckChatGPT CheckBilling -->|Yes| FullAuto CheckBilling -->|No| CheckChatGPT FullAuto --> GenerateAPI --> SaveAuto --> DoneAuto CheckChatGPT -->|Yes| LocalPrompt CheckChatGPT -->|No| NoOption NoOption --> SetupAPI SetupAPI --> CheckAPI LocalPrompt --> GeneratePrompt --> DisplayPrompt --> CheckMacOS CheckMacOS -->|Yes| OpenBrowser CheckMacOS -->|No| ManualCopy OpenBrowser --> AutoPaste --> DownloadImg ManualCopy --> PasteChatGPT --> DownloadImg DownloadImg --> SaveManual --> DoneManual classDef startNode fill:#667eea,stroke:#333,stroke-width:2px,color:#fff,font-size:16px classDef processNode fill:#764ba2,stroke:#333,stroke-width:2px,color:#fff,font-size:16px classDef decisionNode fill:#f093fb,stroke:#333,stroke-width:2px,color:#333,font-size:16px classDef successNode fill:#4facfe,stroke:#333,stroke-width:2px,color:#fff,font-size:16px classDef errorNode fill:#ff6b6b,stroke:#333,stroke-width:2px,color:#fff,font-size:16px classDef autoNode fill:#00b894,stroke:#333,stroke-width:2px,color:#fff,font-size:16px classDef macNode fill:#0984e3,stroke:#333,stroke-width:2px,color:#fff,font-size:16px linkStyle default stroke:#999,stroke-width:2px,font-size:16px