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

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

Image Prompt & Brief Creator: 10 Professional Outputs

This document provides 10 distinct professional AI image prompts, accompanying creative briefs, and detailed visual direction specifications. Each entry is designed to be comprehensive, actionable, and ready for direct use with advanced AI image generation models (e.g., Midjourney, DALL-E 3, Stable Diffusion) or as a foundation for human design teams.


1. Futuristic Urban Oasis

  • Image Prompt: A hyper-realistic, high-detail rendering of a serene, lush vertical garden integrated into a towering, sleek, chrome and glass skyscraper in a futuristic metropolis. Rain-streaked windows reflect neon city lights. Soft, ambient bioluminescent lighting illuminates exotic flora. A single, minimalist bench overlooks the vast cityscape. Cinematic, volumetric lighting, ultra-wide angle, 8k, photorealistic, sharp focus.
  • Creative Brief: To depict a harmonious blend of nature and advanced technology, emphasizing sustainability and tranquility within a high-tech urban environment. The image should evoke a sense of peaceful escape and futuristic optimism, targeting audiences interested in urban planning, sustainable living, and architectural innovation.
  • Visual Direction Specs:

* Aspect Ratio: 16:9 (cinematic widescreen).

* Camera Angle: Low-angle shot looking up at the skyscraper from a slight distance, with the garden prominently featured in the mid-ground.

* Lighting: Predominantly soft, cool-toned ambient light from bioluminescent plants and reflections, contrasted with warmer, blurred neon streetlights in the background. Rain should be visibly glistening.

* Color Palette: Dominantly cool blues, greens, and silvers, with pops of vibrant pinks, purples, and oranges from neon signs.

* Mood: Serene, futuristic, hopeful, sophisticated.

* Key Elements: Emphasize the intricate details of the vertical garden, the reflective quality of the glass and chrome, and the depth of the city in the background. Avoid overt dystopian elements.


2. Ethereal Mountain Lake Sunrise

  • Image Prompt: An breathtaking, hyper-realistic landscape photograph of a crystalline mountain lake at sunrise. Mist gently rises from the water's surface, reflecting a sky ablaze with soft pastel hues of pink, gold, and lavender. Towering, snow-capped peaks frame the scene, their jagged reflections mirrored perfectly in the still water. A lone, ancient pine tree stands silhouetted on a small rocky outcrop. Golden hour, volumetric fog, intricate details, epic scale, award-winning photography, 8k, sharp focus.
  • Creative Brief: To capture the majestic beauty and tranquil solitude of a pristine natural environment at dawn. The image should inspire awe, peace, and a connection to nature, appealing to outdoor enthusiasts, travel agencies, and wellness brands.
  • Visual Direction Specs:

* Aspect Ratio: 3:2 (standard landscape photography).

* Camera Angle: Eye-level, wide shot encompassing the lake, mountains, and sky, with the pine tree as a focal point.

* Lighting: Warm, soft golden hour light, with atmospheric fog creating a dreamy, ethereal quality. Strong reflections are crucial.

* Color Palette: Soft pastels (pinks, purples, oranges, light blues) in the sky, contrasted with deep blues/greens of the water and greys/whites of the mountains.

* Mood: Serene, majestic, inspiring, peaceful, dreamlike.

* Key Elements: Emphasize the perfect reflection, the subtle texture of the mist, and the grandeur of the mountains. The pine tree should convey resilience and solitude.


3. Abstract Geometric Digital Art

  • Image Prompt: A vibrant, highly detailed abstract digital artwork featuring a complex interplay of luminous, translucent geometric shapes. Cubes, spheres, pyramids, and tessellating patterns intersect and overlap, creating dynamic shadows and light refractions. The forms are rendered in a smooth, polished 3D style with a subtle glowing aura. Background is a soft gradient of complementary colors. High contrast, volumetric light, rendered in Octane, 4k, clean lines, sharp.
  • Creative Brief: To create a visually striking and modern piece of abstract art that explores form, light, and color. The image aims to be intellectually stimulating and aesthetically pleasing, suitable for tech companies, modern art galleries, or design-focused brands.
  • Visual Direction Specs:

* Aspect Ratio: 1:1 (square, ideal for social media and profiles).

* Camera Angle: Straight-on, slightly isometric view to emphasize depth and form.

* Lighting: Internal glow from the shapes themselves, combined with directional volumetric light casting interesting shadows.

* Color Palette: A vibrant, harmonious blend of two to three primary/secondary colors (e.g., electric blue, vivid magenta, bright orange) with subtle gradients.

* Mood: Modern, energetic, sophisticated, intellectual, clean.

* Key Elements: Focus on the transparency and luminosity of the shapes, the precision of their edges, and the interplay of light and shadow. Avoid organic or chaotic elements.


4. Renaissance Master Portrait

  • Image Prompt: A dramatic, hyper-realistic oil painting portrait in the style of a Renaissance master (e.g., Rembrandt, Caravaggio). Subject is an elderly, wise-looking man with a long, flowing white beard and deep, thoughtful eyes, wearing a dark, richly textured velvet tunic. Intense chiaroscuro lighting illuminates his face from the side, casting deep shadows. The background is a dark, indistinct, painterly void. Extremely detailed brushstrokes, painterly textures, museum quality, 8k, dramatic lighting, sharp focus on face.
  • Creative Brief: To evoke the timeless elegance, depth, and emotional intensity of Renaissance portraiture. The image should convey wisdom, gravitas, and a sense of history, suitable for luxury brands, historical documentaries, or artistic endeavors.
  • Visual Direction Specs:

* Aspect Ratio: 4:5 (classic portrait orientation).

* Camera Angle: Close-up, head-and-shoulders shot, slightly off-center.

* Lighting: Strong, single-source chiaroscuro lighting from the left, creating dramatic highlights and deep, soft shadows.

* Color Palette: Rich, deep, earthy tones (dark reds, browns, greens) with warm skin tones. Background is almost black.

* Mood: Solemn, wise, profound, classical, artistic.

* Key Elements: Emphasize the texture of the beard and tunic, the intense gaze of the eyes, and the authentic, visible brushstrokes. The subject's expression should be contemplative.


5. Minimalist Tech Product Shot

  • Image Prompt: A clean, hyper-realistic studio product photograph of a sleek, matte black wireless earbud case resting on a polished white marble surface. A single earbud is meticulously placed beside it. The lighting is soft and diffused, creating subtle shadows that define the product's contours. A minimalist, clean aesthetic with ample negative space. Studio lighting, product photography, macro shot, 8k, sharp focus, clean background.
  • Creative Brief: To showcase a modern tech product with elegance and simplicity, highlighting its design and premium quality. The image aims to be sophisticated and aspirational, targeting consumers of high-end electronics and minimalist design enthusiasts.
  • Visual Direction Specs:

* Aspect Ratio: 1:1 (square, versatile for product listings and social media).

* Camera Angle: Slightly elevated eye-level, directly overhead or a very slight angle to show the top and a sliver of the side.

* Lighting: Soft, even, diffused studio lighting from multiple sources to eliminate harsh shadows and create gentle gradients.

* Color Palette: Predominantly monochrome (matte black, white marble) with very subtle cool tones.

* Mood: Clean, modern, sophisticated, premium, minimalist.

* Key Elements: Emphasize the texture of the matte finish, the precise lines of the product, and the reflective quality of the marble. Ample negative space is crucial.


6. Mythical Forest Guardian

  • Image Prompt: A fantastical, hyper-realistic digital painting of a majestic forest guardian creature. It has the body of a stag, intricate antlers adorned with glowing moss and delicate blossoms, and a wise, ancient face resembling carved wood. Its fur is a blend of deep greens and browns, camouflaged against a dense, ancient forest backdrop bathed in dappled sunlight. Ethereal light beams pierce through the canopy, illuminating motes of dust. Magical atmosphere, cinematic lighting, intricate details, fantasy art, 8k, sharp focus.
  • Creative Brief: To create an enchanting and powerful mythical creature that embodies the spirit of an ancient forest. The image should evoke wonder, mystery, and a sense of protective magic, suitable for fantasy games, book covers, or nature conservation campaigns.
  • Visual Direction Specs:

* Aspect Ratio: 16:9 (cinematic widescreen).

* Camera Angle: Mid-shot, slightly low angle, making the creature appear imposing yet benevolent.

* Lighting: Dappled sunlight filtering through a dense canopy, creating dramatic light shafts and glowing highlights on the creature. Ethereal, magical light around its antlers.

* Color Palette: Deep forest greens, earthy browns, with vibrant pops of glowing moss and delicate flower colors.

* Mood: Magical, mysterious, ancient, powerful, enchanting.

* Key Elements: Emphasize the intricate details of the antlers and face, the texture of the fur/wood, and the depth of the forest environment. The creature should appear watchful and serene.


7. Surreal Dreamscape Portal

  • Image Prompt: A surreal, hyper-realistic digital artwork depicting an impossible landscape. A perfectly still, mirror-like lake reflects a sky filled with swirling nebulae and distant galaxies, but instead of mountains, gigantic, ancient keys float impossibly in the air, forming an archway. A lone, glowing, open doorway stands on a small island in the middle of the lake, emitting a soft, inviting light. Dreamlike, fantastical, cosmic, volumetric lighting, highly detailed, 8k, sharp focus.
  • Creative Brief: To create a thought-provoking and visually stunning surreal scene that plays with perception and symbolism. The image aims to inspire curiosity, wonder, and a sense of infinite possibilities, suitable for conceptual art, philosophical discussions, or creative agency branding.
  • Visual Direction Specs:

* Aspect Ratio: 16:9 (cinematic widescreen).

* Camera Angle: Wide shot, slightly elevated, looking down on the lake and the key archway, with the glowing doorway as the focal point.

* Lighting: Ethereal, soft cosmic light from the nebulae, reflecting strongly in the water. The doorway emits its own warm, inviting glow.

* Color Palette: Deep blues, purples, and blacks of space, contrasted with the warm, golden glow of the doorway and subtle metallic sheen of the keys.

* Mood: Dreamlike, mysterious, expansive, contemplative, whimsical.

* Key Elements: Emphasize the perfect reflection, the impossible scale of the keys, and the inviting light from the doorway. The overall composition should feel balanced yet unsettling.


8. Candid Urban Street Scene

  • Image Prompt: A gritty, hyper-realistic street photography shot captured on a rainy evening in a bustling metropolis. A lone figure, umbrella in hand, walks past a brightly lit ramen shop, their face partially obscured by rain and reflections. The street is wet and reflective, showing blurred neon signs and car headlights. Shallow depth of field, creating bokeh from city lights. Candid, cinematic, raw, moody, photorealistic, 8k, sharp focus on the figure.
  • Creative Brief: To capture the atmospheric and often melancholic beauty of urban life, emphasizing candid moments and the interplay of light and shadow in a rainy city. The image should evoke a sense of introspection and the dynamic energy of city living, appealing to photography enthusiasts, urban culture brands, or travel content creators.
  • Visual Direction Specs:

* Aspect Ratio: 3:2 (standard photography).

* Camera Angle: Eye-level, slightly off-center, capturing the figure in motion.

* Lighting: Predominantly artificial city lights (neon, headlights, shop windows) reflecting off wet surfaces. Backlighting on the figure, creating a subtle halo effect.

* Color Palette: Predominantly dark blues, greys, and blacks, with vibrant pops of red, yellow, and green from neon signs.

* Mood: Moody, atmospheric, dynamic, introspective, authentic.

* Key Elements: Emphasize the rain streaks, reflections, and the bokeh effect from the background lights. The figure should appear natural and unaware of the camera.


9. Modern Scandinavian Interior

  • Image Prompt: A bright, hyper-realistic architectural photograph of a minimalist, modern Scandinavian-style living room. Large windows let in abundant natural light, illuminating light wood floors, a simple grey sofa with textured throw pillows, and a few carefully selected green plants in terracotta pots. White walls, clean lines, and functional design define the space. A subtle, cozy atmosphere. Architectural photography, natural light, clean aesthetic, 8k, sharp focus.
  • Creative Brief: To showcase the elegance and comfort of modern Scandinavian interior design, focusing on natural light, functionality, and a serene aesthetic. The image should inspire feelings of calm and sophisticated living, suitable for interior design magazines, furniture retailers, or real estate listings.
  • Visual Direction Specs:

* Aspect Ratio: 5:4 (classic interior photography).

* Camera Angle: Wide shot from a corner, capturing the depth of the room and the main furniture pieces.

* Lighting: Abundant, soft, natural daylight filling the room. Subtle shadows to add depth, but no harsh contrasts.

* Color Palette: Dominantly whites, light greys, and natural wood tones, with subtle greens from plants and muted pastels from textiles.

* Mood: Calm, serene, minimalist, cozy, sophisticated, inviting.

* Key Elements: Emphasize the clean lines, the texture of the textiles and wood, and the overall brightness of the space. Avoid clutter or overly ornate elements.


10. Gourmet Dessert Close-Up

  • Image Prompt: A mouth-watering, hyper-realistic food photograph of a deconstructed gourmet dessert. A perfect sphere of vanilla bean ice cream sits atop a crumble of dark chocolate soil, garnished with fresh raspberries and delicate mint leaves. A drizzle of glistening raspberry coulis adds vibrant color. Shot on a dark, rustic wooden table with soft, warm, directional lighting highlighting the textures. Macro photography, shallow depth of field, food styling, 8k, sharp focus.
  • Creative Brief: To create an irresistible and visually appealing image of a gourmet dessert, emphasizing its exquisite presentation and tempting textures. The image aims to stimulate appetite and convey luxury, suitable for high-end restaurants, food blogs, or culinary publications.
  • Visual Direction Specs:

* Aspect Ratio: 1:1 (square, ideal for social media and menus).

* Camera Angle: Close-up, slightly overhead shot, focusing on the dessert itself.

* Lighting: Soft, warm, directional lighting from the upper left, creating subtle highlights and shadows that emphasize texture.

* Color Palette: Rich browns of chocolate, creamy whites of ice cream, vibrant reds of raspberries, and fresh greens of mint.

* Mood: Luxurious, appetizing, decadent, elegant, fresh.

* Key Elements: Emphasize the smooth texture of the ice cream, the crumble of the chocolate soil, the sheen of the coulis, and the vibrant colors of the fruit. The focus should be incredibly sharp on the dessert.

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);}});}