# ColorMon > ColorMon is an AI-powered coloring page generator. It creates kid-friendly black-and-white line art with bold, clean outlines from text prompts, reference images, or both. Built with Next.js 15 and React 19, it integrates Replicate’s FLUX models for fast, high-quality image generation. Important notes: - Upload constraints: PNG/JPEG/WebP only, max size 5MB. Invalid files trigger user-visible errors; the upload area disables while a file is present and supports clearing to reset. - Image handling: When an image is provided, the client sends it as a Data URL (`inputImageData`) directly to the API; the input image is not stored. If a hosted URL is required in the future, the UI will upload to object storage and send a public URL instead. - Models: Defaults to `black-forest-labs/flux-kontext-pro` for image+text or image-only; text-only may use `flux-schnell`. Output format defaults to `png` unless specified. - Prompting: If `prompt` is empty but an input image is present, generation is still allowed (image-only flow). Difficulty hints and unified prompt wrappers are applied server-side for consistent outputs. - Aspect ratio: For `flux-kontext-pro`, if `aspectRatio` is not provided when an image is supplied, it defaults to `"match_input_image"`. - Warnings: Model warnings are logged and do not fail generation by themselves. - Internationalization: UI copy and validation errors use next-intl; English is present by default and can be extended via `src/i18n/pages/landing/{locale}.json`. ## Docs - [Quick Start](https://colormon.art/en/docs/quickstart): Local development and project setup. - [Replicate Models — Image Generation](https://colormon.art/en/docs/replicate-models): Request shape, provider options, and model-specific mappings (including FLUX Kontext Pro). ## API - [POST /api/demo/gen-image](https://colormon.art/api/demo/gen-image): JSON endpoint for text→image, image→image, and image+text. Accepts `prompt`, `aspectRatio`, `seed`, `outputFormat`, and `options` (merged into `providerOptions.replicate`). When `inputImageData` (Data URL) is present, it maps to Replicate `input_image`. ## Optional - [Privacy Policy](https://colormon.art/privacy-policy): Data collection, usage, and security practices. - [Terms of Service](https://colormon.art/terms-of-service): Acceptable use, payments, IP, and dispute terms. - [Replicate: FLUX Kontext Pro](https://replicate.com/black-forest-labs/flux-kontext-pro): Model input schema and parameter descriptions. - [Next.js 15 Docs](https://nextjs.org/docs): App Router, API routes, and build/runtime details. - [Drizzle ORM Docs](https://orm.drizzle.team/docs/overview): Database schema, migrations, and query patterns. - [next-intl Docs](https://next-intl-docs.vercel.app/): Internationalization and routing helpers.