Image Prompt & Brief Creator
Run ID: 69cb38f261b1021a29a86fe92026-03-31Design
PantheraHive BOS
BOS Dashboard

Generate 10 professional AI image prompts, creative briefs, and visual direction specs

Image Prompt & Brief Creator: Detailed Deliverable

This document provides 10 comprehensive AI image prompts, complete with creative briefs and detailed visual direction specifications. Each entry is designed to be professional, actionable, and ready for use in various creative projects, offering a diverse range of styles and concepts.


1. Concept: Futuristic Urban Oasis

Image Prompt:

A hyper-realistic, high-angle shot of a sprawling, verdant vertical farm integrated into a sleek, glass-and-steel skyscraper in a bustling, futuristic metropolis at dawn. Sunlight glints off reflective surfaces, illuminating cascading waterfalls and bioluminescent plants. Drones hover in the background, and a clean, efficient monorail glides past. Sharp focus, cinematic lighting, 8K, photorealistic, serene yet dynamic.

Creative Brief:

  • Project Title: "Eco-City 2077: Where Nature Thrives"
  • Objective: To visually represent the harmonious integration of advanced technology and sustainable agriculture in future urban environments. This image will be used for a promotional campaign for a smart city development project.
  • Target Audience: Urban planners, environmentalists, technology enthusiasts, potential investors in sustainable infrastructure.
  • Key Message: Innovation and nature can coexist beautifully, creating livable, sustainable cities of tomorrow.
  • Desired Mood: Hopeful, inspiring, technologically advanced, environmentally conscious.

Visual Direction Specs:

  • Composition: High-angle (drone shot perspective), emphasizing scale and integration. Rule of thirds for key elements.
  • Lighting: Golden hour (dawn), natural light with strategic use of artificial bioluminescence from plants. Strong highlights and deep shadows to add depth.
  • Color Palette: Predominantly cool tones (blues, greens, grays) for the city, contrasted with warm greens and hints of amber/gold from the sunrise and bioluminescence.
  • Style: Hyper-realistic, architectural photography with a touch of science fiction. Clean lines, precise details.
  • Details: Show intricate details of the vertical farm modules, the textures of glass and steel, the sleekness of the monorail. Minimal human presence, if any, to emphasize the infrastructure.

2. Concept: Ancient Mystical Forest Guardian

Image Prompt:

A majestic, ancient ent-like forest guardian, intricately formed from gnarled roots, moss, and glowing bioluminescent fungi, stands watchful in a dense, primeval forest at twilight. Soft, ethereal light filters through the canopy, illuminating swirling mist and ancient runes carved into its bark-like skin. A sense of profound age and quiet power. Fantasy art, cinematic, high detail, volumetric lighting, rich textures, epic.

Creative Brief:

  • Project Title: "Whispers of Eldoria: The Sentinel"
  • Objective: To create a key visual for a new fantasy novel or video game, establishing the tone of ancient magic, mystery, and nature's wisdom. This image will be used for cover art or promotional splash screens.
  • Target Audience: Fantasy readers, RPG gamers, enthusiasts of nature-themed mythology.
  • Key Message: Ancient forces protect the wild places, holding secrets and power beyond human comprehension.
  • Desired Mood: Mystical, awe-inspiring, mysterious, serene, powerful.

Visual Direction Specs:

  • Composition: Low-angle shot, looking up at the guardian to emphasize its imposing size and wisdom. The guardian should be central, framed by ancient trees.
  • Lighting: Volumetric, atmospheric lighting. Soft, diffuse light filtering through the canopy, with pockets of brighter, ethereal glows from the fungi and perhaps the guardian's eyes. Twilight setting for added mystery.
  • Color Palette: Deep greens, earthy browns, mossy grays, with vibrant, glowing accents of blues, purples, and soft yellows from bioluminescence.
  • Style: Dark fantasy art, rich in detail and texture. Hand-painted feel, but with photorealistic elements.
  • Details: Emphasize the texture of bark, moss, and glowing fungi on the guardian. Intricate root structures forming its body. Ancient symbols subtly integrated into the environment.

3. Concept: Minimalist High-Tech Product Shot

Image Prompt:

A sleek, matte black wireless earbud charging case, with a single, subtle indicator light, positioned precisely on a pristine, seamless pure white infinity background. Soft, diffused studio lighting creates delicate reflections and subtle shadows, highlighting the product's premium texture and minimalist design. Absolute sharp focus, 100mm macro lens perspective, ultra-clean, high-end commercial photography.

Creative Brief:

  • Project Title: "AuraFlow Earbuds: Pure Sound, Pure Design"
  • Objective: To create a hero image for a new luxury tech product, emphasizing its sophisticated design, premium quality, and minimalist aesthetic. This image will be used on e-commerce sites, print advertisements, and product packaging.
  • Target Audience: Affluent consumers, design enthusiasts, audiophiles, early adopters of premium tech.
  • Key Message: Elegance in simplicity; superior technology meets refined design.
  • Desired Mood: Sophisticated, clean, premium, modern, exclusive.

Visual Direction Specs:

  • Composition: Centered, perfectly symmetrical. Product placed slightly off-center for dynamic balance if desired, but maintaining overall minimalist feel.
  • Lighting: Softbox studio lighting, absolutely no harsh shadows. Subtle gradient on the white background to add depth without distraction. Focus on highlighting product contours and material texture.
  • Color Palette: Monochromatic (matte black product on pure white), with the single indicator light providing a controlled pop of color (e.g., cool blue or soft amber).
  • Style: High-key, minimalist product photography. Ultra-sharp, precise, almost clinical in its cleanliness.
  • Details: Focus on the material finish (e.g., soft touch matte, subtle metallic accents), precise edges, and the exact glow of the indicator light. No dust, no fingerprints, absolute perfection.

4. Concept: Dynamic Abstract Energy Flow

Image Prompt:

A vibrant, dynamic abstract composition featuring swirling ribbons of luminous energy in deep blues, electric purples, and fiery oranges, converging and exploding from a central point. The forms are fluid and organic, yet possess a sharp, crystalline edge. Bokeh effects in the background, subtle particle trails, high contrast, ultra-HD, digital art, mesmerizing, energetic.

Creative Brief:

  • Project Title: "Synergy Unleashed: The Core"
  • Objective: To visually represent concepts of energy, innovation, and interconnectedness for a technology conference or a brand focused on data analytics/AI. This image will be used for event branding, website backgrounds, and presentation slides.
  • Target Audience: Tech professionals, entrepreneurs, innovators, creative industries.
  • Key Message: The power of collaboration and dynamic innovation drives progress.
  • Desired Mood: Energetic, innovative, dynamic, futuristic, inspiring.

Visual Direction Specs:

  • Composition: Central focus with radial or swirling motion outward. Avoid static elements.
  • Lighting: Internal luminosity from the energy ribbons themselves, creating strong self-illumination and glow. Dark background to enhance contrast.
  • Color Palette: High-contrast complementary colors: deep blues/purples against fiery oranges/reds, with electric white or cyan highlights.
  • Style: Digital abstract art, reminiscent of data visualization or quantum mechanics. Smooth gradients and sharp edges.
  • Details: Emphasize the transparency and translucence of the energy forms. Subtle motion blur on the edges of the ribbons to suggest movement.

5. Concept: Cozy Autumn Hygge Interior

Image Prompt:

A warm, inviting autumn interior scene. A plush, cream-colored armchair draped with a chunky knit blanket sits beside a large window overlooking a misty, colorful forest. A steaming mug of tea rests on a rustic wooden side table, next to an open book and a flickering scented candle. Soft, diffused natural light from the window, warm and cozy atmosphere, shallow depth of field, naturalistic, inviting, 4K.

Creative Brief:

  • Project Title: "Autumn Retreat: Find Your Hygge"
  • Objective: To evoke feelings of comfort, warmth, and relaxation, promoting a lifestyle brand, cozy home decor, or a seasonal product line (e.g., tea, candles, blankets). This image will be used for social media, lifestyle blogs, and catalog imagery.
  • Target Audience: Home decor enthusiasts, individuals seeking comfort and relaxation, consumers interested in seasonal products, lifestyle bloggers.
  • Key Message: Embrace the cozy comforts of autumn; create your perfect sanctuary.
  • Desired Mood: Warm, cozy, peaceful, comforting, inviting, nostalgic.

Visual Direction Specs:

  • Composition: Eye-level perspective, drawing the viewer into the scene. The armchair and window should be primary focal points.
  • Lighting: Soft, natural light filtering in from the window, creating gentle highlights and shadows. Warm, ambient glow from the candle.
  • Color Palette: Earthy tones – creams, soft browns, muted oranges, deep reds, and forest greens. Accent colors from the blanket and candle flame.
  • Style: Naturalistic, lifestyle photography. Slightly desaturated to enhance the cozy, nostalgic feel. Shallow depth of field to focus on the immediate comfort elements.
  • Details: Visible steam from the mug, intricate knit patterns on the blanket, texture of the book pages, soft glow of the candle.

6. Concept: Powerful Executive Portrait

Image Prompt:

A professional, confident female executive in her late 40s, with a warm but determined expression, seated at a modern, polished conference table. She is wearing a tailored, deep navy suit. A blurred, contemporary office environment with subtle architectural details (e.g., geometric patterns, natural light) is in the background. Eye-level, medium close-up, soft key light, subtle rim light, professional headshot style, high-resolution, corporate, authoritative.

Creative Brief:

  • Project Title: "Leadership Series: Visionary Minds"
  • Objective: To project an image of professionalism, competence, and approachable leadership for a corporate website's 'About Us' section, a business publication, or a LinkedIn profile.
  • Target Audience: Business partners, employees, potential clients, industry peers, investors.
  • Key Message: Strong, insightful, and approachable leadership drives success.
  • Desired Mood: Confident, professional, intelligent, trustworthy, inspiring.

Visual Direction Specs:

  • Composition: Medium close-up, eye-level. Subject slightly angled, looking directly or slightly off-camera. Ample negative space to avoid clutter.
  • Lighting: Soft, flattering key light from the front-side, with a subtle rim light from the back-side to separate her from the background. Minimal harsh shadows.
  • Color Palette: Professional and subdued. Deep navy, charcoal grays, crisp whites, with warm wood tones or muted blues/grays in the background.
  • Style: Modern corporate portraiture. Clean, sharp, but not overly stylized. Focus on natural skin tones and expressions.
  • Details: Attention to tailored clothing, minimal and elegant jewelry. Background elements should be subtle and non-distracting, hinting at a sophisticated workspace.

7. Concept: Surreal Dreamscape Portal

Image Prompt:

A shimmering, iridescent portal, resembling liquid starlight, opens in the center of a vast, desolate desert landscape under a double moon. Figures silhouetted by the portal's light move towards it. Distant, fantastical rock formations pierce the horizon. The sky is a gradient of deep indigo to soft violet, filled with swirling nebulae. Surreal, dreamlike, cinematic, high fantasy, ethereal, wide shot, volumetric light.

Creative Brief:

  • Project Title: "Echoes of the Beyond"
  • Objective: To create an evocative and mysterious image for a fantasy game, a concept album cover, or a science fiction short story, hinting at other dimensions or journeys into the unknown.
  • Target Audience: Fans of fantasy, sci-fi, surreal art, and speculative fiction.
  • Key Message: The boundaries of reality are fluid; new worlds and mysteries await beyond the veil.
  • Desired Mood: Mysterious, awe-inspiring, surreal, hopeful, slightly melancholic.

Visual Direction Specs:

  • Composition: Wide shot, emphasizing the vastness of the landscape and the central portal. The silhouetted figures provide a sense of scale and human connection.
  • Lighting: The portal itself is the primary light source, casting an ethereal glow on the immediate surroundings. Soft moonlight from the double moons. Volumetric light effects around the portal.
  • Color Palette: Deep blues, purples, and indigos for the sky and shadows, contrasted with the vibrant, shifting iridescence of the portal (pinks, greens, golds). Muted earthy tones for the desert.
  • Style: Surreal fantasy art, painterly yet with sharp details. Focus on creating a sense of wonder and otherworldliness.
  • Details: The texture of the desert sand, the intricate light patterns within the portal, subtle details on the distant rock formations. Swirling nebulae in the sky.

8. Concept: Underwater Coral Cityscape

Image Prompt:

A vibrant, thriving underwater city built into colossal, bioluminescent coral formations, teeming with exotic marine life. Sleek, transparent submersibles glide gracefully between coral towers. Schools of colorful fish swim past, and a gentle current sways iridescent kelp forests. Sunlight filters down from the surface, creating dappled patterns. Ultra-realistic, vibrant, tranquil, 8K, cinematic, fantastical.

Creative Brief:

  • Project Title: "Aquatica: The Sunken Utopia"
  • Objective: To showcase a vision of sustainable underwater living and the beauty of marine ecosystems for an environmental awareness campaign, a documentary, or a speculative architecture project.
  • Target Audience: Environmentalists, marine biologists, architects, sci-fi enthusiasts, children and adults interested in ocean preservation.
  • Key Message: Humanity can live in harmony with the ocean, creating sustainable and beautiful underwater civilizations.
  • Desired Mood: Awe-inspiring, tranquil, hopeful, futuristic, environmentally conscious.

Visual Direction Specs:

  • Composition: Medium-wide shot, capturing the scale of the coral city and the activity within it. Focus on depth and perspective.
  • Lighting: Natural sunlight filtering from above, creating caustic light patterns on the coral and seafloor. Bioluminescence from certain coral and marine life adds internal glow.
  • Color Palette: Rich, diverse ocean colors – vibrant blues, greens, purples, oranges, and pinks from the coral and fish. Translucent qualities for the submersibles.
  • Style: Hyper-realistic digital art, with a focus on biological accuracy for marine life and plausible futuristic design for the city.
  • Details: Intricate textures of various coral types, the reflective surfaces of the submersibles, the delicate movements of fish and kelp. Water clarity and movement effects.

9. Concept: Dynamic Street Art Mural

Image Prompt:

A massive, vibrant street art mural covering the entire side of an old brick building in a gritty urban alleyway. The mural depicts a fantastical fusion of nature and technology: a robotic hummingbird feeding from a circuit board flower, rendered in a striking blend of graffiti styles, hyper-realism, and abstract geometric patterns. Gritty texture of the brick, dappled sunlight, high contrast, urban photography, raw, energetic.

Creative Brief:

  • Project Title: "Urban Canvas: Nature's Tech Bloom"
  • Objective: To capture the essence of urban creativity, cultural expression, and the intersection of nature and technology. This image is for an art exhibition promotion, a city tourism campaign, or a brand targeting youth culture.
  • Target Audience: Art enthusiasts, urban explorers, youth culture, design students, event organizers.
  • Key Message: Art transforms urban spaces, blending unexpected elements to provoke thought and inspire.
  • Desired Mood: Energetic, vibrant, rebellious, thought-provoking, authentic.

Visual Direction Specs:

  • Composition: Medium shot, capturing the full scope of the mural while showing some of the surrounding urban environment (e.g., fire escapes, graffiti on adjacent walls, dumpsters) to emphasize its context.
  • Lighting: Dappled sunlight, creating interesting highlights and shadows on the mural and the brick. High contrast to emphasize the bold colors.
  • Color Palette: Extremely vibrant and diverse, typical of street art. Electric blues, neon greens, fiery reds, purples, and yellows against the muted, earthy tones of the brick.
  • Style: Street photography meets detailed digital painting. Focus on the raw textures of the urban environment and the smooth, intricate details of the mural.
  • Details: Visible brushstrokes, spray paint textures, peeling paint on other surfaces. The contrast between the old brick and the new, vibrant art.

10. Concept: Sci-Fi Medical Research Lab

Image Prompt:

`A sleek, ultra-modern science fiction medical research lab. A brilliant, sterile white environment

image_prompt___brief_creator.md
Download as Markdown
Copy all content
Full output as text
Download ZIP
IDE-ready project ZIP
Copy share link
Permanent URL for this run
Get Embed Code
Embed this result on any website
Print / Save PDF
Use browser print dialog
\n\n\n"); var hasSrcMain=Object.keys(extracted).some(function(k){return k.indexOf("src/main")>=0;}); if(!hasSrcMain) zip.file(folder+"src/main."+ext,"import React from 'react'\nimport ReactDOM from 'react-dom/client'\nimport App from './App'\nimport './index.css'\n\nReactDOM.createRoot(document.getElementById('root')!).render(\n \n \n \n)\n"); var hasSrcApp=Object.keys(extracted).some(function(k){return k==="src/App."+ext||k==="App."+ext;}); if(!hasSrcApp) zip.file(folder+"src/App."+ext,"import React from 'react'\nimport './App.css'\n\nfunction App(){\n return(\n
\n
\n

"+slugTitle(pn)+"

\n

Built with PantheraHive BOS

\n
\n
\n )\n}\nexport default App\n"); zip.file(folder+"src/index.css","*{margin:0;padding:0;box-sizing:border-box}\nbody{font-family:system-ui,-apple-system,sans-serif;background:#f0f2f5;color:#1a1a2e}\n.app{min-height:100vh;display:flex;flex-direction:column}\n.app-header{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px}\nh1{font-size:2.5rem;font-weight:700}\n"); zip.file(folder+"src/App.css",""); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/pages/.gitkeep",""); zip.file(folder+"src/hooks/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nnpm run dev\n\`\`\`\n\n## Build\n\`\`\`bash\nnpm run build\n\`\`\`\n\n## Open in IDE\nOpen the project folder in VS Code or WebStorm.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n"); } /* --- Vue (Vite + Composition API + TypeScript) --- */ function buildVue(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{\n "name": "'+pn+'",\n "version": "0.0.0",\n "type": "module",\n "scripts": {\n "dev": "vite",\n "build": "vue-tsc -b && vite build",\n "preview": "vite preview"\n },\n "dependencies": {\n "vue": "^3.5.13",\n "vue-router": "^4.4.5",\n "pinia": "^2.3.0",\n "axios": "^1.7.9"\n },\n "devDependencies": {\n "@vitejs/plugin-vue": "^5.2.1",\n "typescript": "~5.7.3",\n "vite": "^6.0.5",\n "vue-tsc": "^2.2.0"\n }\n}\n'); zip.file(folder+"vite.config.ts","import { defineConfig } from 'vite'\nimport vue from '@vitejs/plugin-vue'\nimport { resolve } from 'path'\n\nexport default defineConfig({\n plugins: [vue()],\n resolve: { alias: { '@': resolve(__dirname,'src') } }\n})\n"); zip.file(folder+"tsconfig.json",'{"files":[],"references":[{"path":"./tsconfig.app.json"},{"path":"./tsconfig.node.json"}]}\n'); zip.file(folder+"tsconfig.app.json",'{\n "compilerOptions":{\n "target":"ES2020","useDefineForClassFields":true,"module":"ESNext","lib":["ES2020","DOM","DOM.Iterable"],\n "skipLibCheck":true,"moduleResolution":"bundler","allowImportingTsExtensions":true,\n "isolatedModules":true,"moduleDetection":"force","noEmit":true,"jsxImportSource":"vue",\n "strict":true,"paths":{"@/*":["./src/*"]}\n },\n "include":["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue"]\n}\n'); zip.file(folder+"env.d.ts","/// \n"); zip.file(folder+"index.html","\n\n\n \n \n "+slugTitle(pn)+"\n\n\n
\n \n\n\n"); var hasMain=Object.keys(extracted).some(function(k){return k==="src/main.ts"||k==="main.ts";}); if(!hasMain) zip.file(folder+"src/main.ts","import { createApp } from 'vue'\nimport { createPinia } from 'pinia'\nimport App from './App.vue'\nimport './assets/main.css'\n\nconst app = createApp(App)\napp.use(createPinia())\napp.mount('#app')\n"); var hasApp=Object.keys(extracted).some(function(k){return k.indexOf("App.vue")>=0;}); if(!hasApp) zip.file(folder+"src/App.vue","\n\n\n\n\n"); zip.file(folder+"src/assets/main.css","*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,sans-serif;background:#fff;color:#213547}\n"); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/views/.gitkeep",""); zip.file(folder+"src/stores/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nnpm run dev\n\`\`\`\n\n## Build\n\`\`\`bash\nnpm run build\n\`\`\`\n\nOpen in VS Code or WebStorm.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n"); } /* --- Angular (v19 standalone) --- */ function buildAngular(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var sel=pn.replace(/_/g,"-"); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{\n "name": "'+pn+'",\n "version": "0.0.0",\n "scripts": {\n "ng": "ng",\n "start": "ng serve",\n "build": "ng build",\n "test": "ng test"\n },\n "dependencies": {\n "@angular/animations": "^19.0.0",\n "@angular/common": "^19.0.0",\n "@angular/compiler": "^19.0.0",\n "@angular/core": "^19.0.0",\n "@angular/forms": "^19.0.0",\n "@angular/platform-browser": "^19.0.0",\n "@angular/platform-browser-dynamic": "^19.0.0",\n "@angular/router": "^19.0.0",\n "rxjs": "~7.8.0",\n "tslib": "^2.3.0",\n "zone.js": "~0.15.0"\n },\n "devDependencies": {\n "@angular-devkit/build-angular": "^19.0.0",\n "@angular/cli": "^19.0.0",\n "@angular/compiler-cli": "^19.0.0",\n "typescript": "~5.6.0"\n }\n}\n'); zip.file(folder+"angular.json",'{\n "$schema": "./node_modules/@angular/cli/lib/config/schema.json",\n "version": 1,\n "newProjectRoot": "projects",\n "projects": {\n "'+pn+'": {\n "projectType": "application",\n "root": "",\n "sourceRoot": "src",\n "prefix": "app",\n "architect": {\n "build": {\n "builder": "@angular-devkit/build-angular:application",\n "options": {\n "outputPath": "dist/'+pn+'",\n "index": "src/index.html",\n "browser": "src/main.ts",\n "tsConfig": "tsconfig.app.json",\n "styles": ["src/styles.css"],\n "scripts": []\n }\n },\n "serve": {"builder":"@angular-devkit/build-angular:dev-server","configurations":{"production":{"buildTarget":"'+pn+':build:production"},"development":{"buildTarget":"'+pn+':build:development"}},"defaultConfiguration":"development"}\n }\n }\n }\n}\n'); zip.file(folder+"tsconfig.json",'{\n "compileOnSave": false,\n "compilerOptions": {"baseUrl":"./","outDir":"./dist/out-tsc","forceConsistentCasingInFileNames":true,"strict":true,"noImplicitOverride":true,"noPropertyAccessFromIndexSignature":true,"noImplicitReturns":true,"noFallthroughCasesInSwitch":true,"paths":{"@/*":["src/*"]},"skipLibCheck":true,"esModuleInterop":true,"sourceMap":true,"declaration":false,"experimentalDecorators":true,"moduleResolution":"bundler","importHelpers":true,"target":"ES2022","module":"ES2022","useDefineForClassFields":false,"lib":["ES2022","dom"]},\n "references":[{"path":"./tsconfig.app.json"}]\n}\n'); zip.file(folder+"tsconfig.app.json",'{\n "extends":"./tsconfig.json",\n "compilerOptions":{"outDir":"./dist/out-tsc","types":[]},\n "files":["src/main.ts"],\n "include":["src/**/*.d.ts"]\n}\n'); zip.file(folder+"src/index.html","\n\n\n \n "+slugTitle(pn)+"\n \n \n \n\n\n \n\n\n"); zip.file(folder+"src/main.ts","import { bootstrapApplication } from '@angular/platform-browser';\nimport { appConfig } from './app/app.config';\nimport { AppComponent } from './app/app.component';\n\nbootstrapApplication(AppComponent, appConfig)\n .catch(err => console.error(err));\n"); zip.file(folder+"src/styles.css","* { margin: 0; padding: 0; box-sizing: border-box; }\nbody { font-family: system-ui, -apple-system, sans-serif; background: #f9fafb; color: #111827; }\n"); var hasComp=Object.keys(extracted).some(function(k){return k.indexOf("app.component")>=0;}); if(!hasComp){ zip.file(folder+"src/app/app.component.ts","import { Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'app-root',\n standalone: true,\n imports: [RouterOutlet],\n templateUrl: './app.component.html',\n styleUrl: './app.component.css'\n})\nexport class AppComponent {\n title = '"+pn+"';\n}\n"); zip.file(folder+"src/app/app.component.html","
\n
\n

"+slugTitle(pn)+"

\n

Built with PantheraHive BOS

\n
\n \n
\n"); zip.file(folder+"src/app/app.component.css",".app-header{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}h1{font-size:2.5rem;font-weight:700;color:#6366f1}\n"); } zip.file(folder+"src/app/app.config.ts","import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core';\nimport { provideRouter } from '@angular/router';\nimport { routes } from './app.routes';\n\nexport const appConfig: ApplicationConfig = {\n providers: [\n provideZoneChangeDetection({ eventCoalescing: true }),\n provideRouter(routes)\n ]\n};\n"); zip.file(folder+"src/app/app.routes.ts","import { Routes } from '@angular/router';\n\nexport const routes: Routes = [];\n"); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nng serve\n# or: npm start\n\`\`\`\n\n## Build\n\`\`\`bash\nng build\n\`\`\`\n\nOpen in VS Code with Angular Language Service extension.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n.angular/\n"); } /* --- Python --- */ function buildPython(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^\`\`\`[\w]*\n?/m,"").replace(/\n?\`\`\`$/m,"").trim(); var reqMap={"numpy":"numpy","pandas":"pandas","sklearn":"scikit-learn","tensorflow":"tensorflow","torch":"torch","flask":"flask","fastapi":"fastapi","uvicorn":"uvicorn","requests":"requests","sqlalchemy":"sqlalchemy","pydantic":"pydantic","dotenv":"python-dotenv","PIL":"Pillow","cv2":"opencv-python","matplotlib":"matplotlib","seaborn":"seaborn","scipy":"scipy"}; var reqs=[]; Object.keys(reqMap).forEach(function(k){if(src.indexOf("import "+k)>=0||src.indexOf("from "+k)>=0)reqs.push(reqMap[k]);}); var reqsTxt=reqs.length?reqs.join("\n"):"# add dependencies here\n"; zip.file(folder+"main.py",src||"# "+title+"\n# Generated by PantheraHive BOS\n\nprint(title+\" loaded\")\n"); zip.file(folder+"requirements.txt",reqsTxt); zip.file(folder+".env.example","# Environment variables\n"); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\npython3 -m venv .venv\nsource .venv/bin/activate\npip install -r requirements.txt\n\`\`\`\n\n## Run\n\`\`\`bash\npython main.py\n\`\`\`\n"); zip.file(folder+".gitignore",".venv/\n__pycache__/\n*.pyc\n.env\n.DS_Store\n"); } /* --- Node.js --- */ function buildNode(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^\`\`\`[\w]*\n?/m,"").replace(/\n?\`\`\`$/m,"").trim(); var depMap={"mongoose":"^8.0.0","dotenv":"^16.4.5","axios":"^1.7.9","cors":"^2.8.5","bcryptjs":"^2.4.3","jsonwebtoken":"^9.0.2","socket.io":"^4.7.4","uuid":"^9.0.1","zod":"^3.22.4","express":"^4.18.2"}; var deps={}; Object.keys(depMap).forEach(function(k){if(src.indexOf(k)>=0)deps[k]=depMap[k];}); if(!deps["express"])deps["express"]="^4.18.2"; var pkgJson=JSON.stringify({"name":pn,"version":"1.0.0","main":"src/index.js","scripts":{"start":"node src/index.js","dev":"nodemon src/index.js"},"dependencies":deps,"devDependencies":{"nodemon":"^3.0.3"}},null,2)+"\n"; zip.file(folder+"package.json",pkgJson); var fallback="const express=require(\"express\");\nconst app=express();\napp.use(express.json());\n\napp.get(\"/\",(req,res)=>{\n res.json({message:\""+title+" API\"});\n});\n\nconst PORT=process.env.PORT||3000;\napp.listen(PORT,()=>console.log(\"Server on port \"+PORT));\n"; zip.file(folder+"src/index.js",src||fallback); zip.file(folder+".env.example","PORT=3000\n"); zip.file(folder+".gitignore","node_modules/\n.env\n.DS_Store\n"); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\n\`\`\`\n\n## Run\n\`\`\`bash\nnpm run dev\n\`\`\`\n"); } /* --- Vanilla HTML --- */ function buildVanillaHtml(zip,folder,app,code){ var title=slugTitle(app); var isFullDoc=code.trim().toLowerCase().indexOf("=0||code.trim().toLowerCase().indexOf("=0; var indexHtml=isFullDoc?code:"\n\n\n\n\n"+title+"\n\n\n\n"+code+"\n\n\n\n"; zip.file(folder+"index.html",indexHtml); zip.file(folder+"style.css","/* "+title+" — styles */\n*{margin:0;padding:0;box-sizing:border-box}\nbody{font-family:system-ui,-apple-system,sans-serif;background:#fff;color:#1a1a2e}\n"); zip.file(folder+"script.js","/* "+title+" — scripts */\n"); zip.file(folder+"assets/.gitkeep",""); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Open\nDouble-click \`index.html\` in your browser.\n\nOr serve locally:\n\`\`\`bash\nnpx serve .\n# or\npython3 -m http.server 3000\n\`\`\`\n"); zip.file(folder+".gitignore",".DS_Store\nnode_modules/\n.env\n"); } /* ===== MAIN ===== */ var sc=document.createElement("script"); sc.src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"; sc.onerror=function(){ if(lbl)lbl.textContent="Download ZIP"; alert("JSZip load failed — check connection."); }; sc.onload=function(){ var zip=new JSZip(); var base=(_phFname||"output").replace(/\.[^.]+$/,""); var app=base.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"my_app"; var folder=app+"/"; var vc=document.getElementById("panel-content"); var panelTxt=vc?(vc.innerText||vc.textContent||""):""; var lang=detectLang(_phCode,panelTxt); if(_phIsHtml){ buildVanillaHtml(zip,folder,app,_phCode); } else if(lang==="flutter"){ buildFlutter(zip,folder,app,_phCode,panelTxt); } else if(lang==="react-native"){ buildReactNative(zip,folder,app,_phCode,panelTxt); } else if(lang==="swift"){ buildSwift(zip,folder,app,_phCode,panelTxt); } else if(lang==="kotlin"){ buildKotlin(zip,folder,app,_phCode,panelTxt); } else if(lang==="react"){ buildReact(zip,folder,app,_phCode,panelTxt); } else if(lang==="vue"){ buildVue(zip,folder,app,_phCode,panelTxt); } else if(lang==="angular"){ buildAngular(zip,folder,app,_phCode,panelTxt); } else if(lang==="python"){ buildPython(zip,folder,app,_phCode); } else if(lang==="node"){ buildNode(zip,folder,app,_phCode); } else { /* Document/content workflow */ var title=app.replace(/_/g," "); var md=_phAll||_phCode||panelTxt||"No content"; zip.file(folder+app+".md",md); var h=""+title+""; h+="

"+title+"

"; var hc=md.replace(/&/g,"&").replace(//g,">"); hc=hc.replace(/^### (.+)$/gm,"

$1

"); hc=hc.replace(/^## (.+)$/gm,"

$1

"); hc=hc.replace(/^# (.+)$/gm,"

$1

"); hc=hc.replace(/\*\*(.+?)\*\*/g,"$1"); hc=hc.replace(/\n{2,}/g,"

"); h+="

"+hc+"

Generated by PantheraHive BOS
"; zip.file(folder+app+".html",h); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\nFiles:\n- "+app+".md (Markdown)\n- "+app+".html (styled HTML)\n"); } zip.generateAsync({type:"blob"}).then(function(blob){ var a=document.createElement("a"); a.href=URL.createObjectURL(blob); a.download=app+".zip"; a.click(); URL.revokeObjectURL(a.href); if(lbl)lbl.textContent="Download ZIP"; }); }; document.head.appendChild(sc); } function phShare(){navigator.clipboard.writeText(window.location.href).then(function(){var el=document.getElementById("ph-share-lbl");if(el){el.textContent="Link copied!";setTimeout(function(){el.textContent="Copy share link";},2500);}});}function phEmbed(){var runId=window.location.pathname.split("/").pop().replace(".html","");var embedUrl="https://pantherahive.com/embed/"+runId;var code='';navigator.clipboard.writeText(code).then(function(){var el=document.getElementById("ph-embed-lbl");if(el){el.textContent="Embed code copied!";setTimeout(function(){el.textContent="Get Embed Code";},2500);}});}