purple-swift is a modern image-generation experience for creating an image of a person in the streets of Moscow wearing elegant, premium contemporary clothing. The requested style is modern, not classical formal. The supplied portrait is the subject reference for the generated image; it informs the person depicted, not the interface layout or palette.
This document is the System Requirements Document for the requested product. Its audience is the person creating the image.
Success means the user can provide a description, request generation, and see an image that reflects the supplied subject reference, a recognizable Moscow street setting, and elegant contemporary clothing. The result must not default to classical formalwear.
purple-swift provides a public entry where the user can enter an image description, and an Image Studio where the image is generated and displayed. The current product has one active human persona: مُنشئ الصور (Image Creator). No account or sign-in is required by the accepted page contract.
The application uses a React frontend and a shared FastAPI backend. The backend calls the model provider through the provisioned LiteLLM gateway. MariaDB is provisioned for application-owned persistent data; PostgreSQL supports LiteLLM and is separate from application-owned storage. The accepted workflow does not establish a need for application-owned user accounts, image history, or other persistent domain records.
Current scope is limited to describing and generating the requested image and showing its result. It does not add image editing, galleries, downloads, sharing, or account management.
The supplied page contract is the current information architecture: Landing is the public, anonymous entry and prompt-input surface; Image Studio is the generation and result surface. Both are application-owned custom pages and require no identity. The user’s description is passed to the image-generation service through the backend and LiteLLM gateway. The generated image and its generation status are shown in Image Studio.
The supplied portrait is a subject reference for image generation. It is not a request to reproduce the reference photograph’s layout, interface colors, or clothing. The current delivery boundary is the single image-generation journey described here; no future product capabilities are specified.
As a مُنشئ الصور, I should be able to enter a description for the requested image on Landing.
Provenance: required_inference — necessary to make the accepted image-generation journey executable.
Lifecycle and access: The user opens the public, anonymous Landing page and enters a multiline description. The description is the input to the generation request. No account is required.
Acceptance: The description can be submitted to begin generation. An empty description does not start generation; the user remains able to enter one. After submission, the request continues to Image Studio.
As a مُنشئ الصور, I should be able to request an image of a person in Moscow streets wearing elegant, premium contemporary clothing.
Provenance: The Moscow street setting and elegant, premium clothing are explicit; the modern, non-classical-formal style is explicit. Sending the description to an image-generation service is required_inference.
Lifecycle and access: From Landing, the user submits the description. The application sends the request through the backend and LiteLLM gateway to the image-generation service. Image Studio shows a generating status while the request is in progress.
Acceptance: The request specifies a person in Moscow streets, elegant premium clothing, and a modern style—not classical formalwear. The supplied portrait informs the subject. On success, Image Studio displays the generated image and a ready status. On failure, it displays an error and allows retry using the submitted description; the user can continue the journey without re-entering the description during that active retry. No additional participant is involved.
required_inference, necessary to complete the accepted image-generation outcome.required_inference persona from the Planning Scope; the user’s image-generation goal and visual constraints are explicit.The visual direction is “Modern Moscow, tailored to you”, with Yves Béhar as the named muse. The interface should feel humane, aspirational, and calm, keeping the generated fashion portrait as the dominant visual element. The supplied portrait informs the generated subject; its blue shirt does not define the interface palette.
Light-mode color tokens
#F4F0E8 — warm paper.#FFFCF6 — warm, quiet panels.#242522 — readable charcoal.#A85D43 — restrained terracotta.#82927A — sage.#79766F.Typography
Shape and layout
Make the first screen a portrait-led creation surface: a large Moscow fashion image occupies roughly two-thirds of the desktop composition, with a narrow warm-paper gutter separating it from the prompt panel. Align a bold, wrapping-safe heading and concise Arabic-aware prompt guidance in the panel. Group the visible prompt label, multiline description field, and terracotta generate button as one creation instrument. Place the compact status line beneath the portrait. On mobile, stack the prompt panel above the portrait, preserving readable text and controls while adapting the image crop to keep the subject legible. The concept uses only the accepted description, generation, status, and result behavior.
Interaction Model: Animated
Motion Tempo: restrained
Hero Dimensionality: layered_2d
Responsive readability and control access
Provenance: Explicit creative direction. At 375px, 768px, and 1280px, readable text and controls must remain fully within the viewport and their containers. Text may wrap or scale; imagery may crop as directed, provided the subject remains legible.
Subject visibility
Provenance: Explicit creative direction. Interface text and controls must not cover the generated subject’s face or outfit.
Reduced-motion usability
Provenance: Explicit creative direction. With reduced motion enabled, the interface remains fully usable in a static arrangement, and status remains understandable without animation.
Generation service integration
Provenance: required_inference. The backend must be able to send the accepted image-generation request through the provisioned LiteLLM gateway and return the result or a failure state to the frontend.

purple-swift · image creation
صف الصورة التي تريدها: الشخص في شوارع موسكو، بإطلالة عصرية أنيقة وراقية. الصورة المرفقة مرجع للشخصية فقط، وليست صورة النتيجة.
اذكر تفاصيل المشهد والأسلوب المعاصر؛ سنستخدم الصورة المرفقة كمرجع للشخص.

purple-swift · image creation
صف الصورة التي تريدها: الشخص في شوارع موسكو، بإطلالة عصرية أنيقة وراقية. الصورة المرفقة مرجع للشخصية فقط، وليست صورة النتيجة.
اذكر تفاصيل المشهد والأسلوب المعاصر؛ سنستخدم الصورة المرفقة كمرجع للشخص.
No comments yet. Be the first!