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

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

Image Prompt & Brief Creator: Deliverable

This document provides 10 professional AI image prompts, complete with detailed creative briefs and visual direction specifications. Each entry is designed to be highly actionable, guiding AI models to generate specific, high-quality visuals for a range of applications.


1. Concept: Futuristic Urban Oasis

Image Prompt:

A hyperrealistic, cinematic wide-angle shot of a futuristic urban oasis. Gleaming chrome and glass skyscrapers are interwoven with lush, bioluminescent vertical gardens and cascading water features. Flying autonomous vehicles navigate a complex, multi-level airspace. Soft, volumetric dawn lighting casts long shadows and highlights the intricate architecture. Sharp focus, extreme detail, 8K, Unreal Engine 5, Octane render, award-winning photography, golden hour, serene yet advanced.

Creative Brief:

  • Objective: To visualize a harmonious integration of advanced technology and sustainable natural environments in a future city.
  • Mood: Serene, awe-inspiring, hopeful, technologically advanced, sustainable.
  • Target Audience: Urban planners, environmental tech companies, science fiction enthusiasts, architectural firms.
  • Application: Concept art for urban development, marketing material for eco-tech, book covers, website hero images.

Visual Direction & Specifications:

  • Style: Hyperrealistic, cinematic, futuristic, architectural.
  • Composition: Wide-angle, establishing shot. Skyscrapers should dominate the frame but be softened by integrated greenery. A clear sense of depth with foreground, midground (buildings, gardens), and background (sky, distant city).
  • Lighting: Dawn lighting (golden hour) from the left, creating long, dramatic shadows and warm highlights. Bioluminescent elements in the gardens should glow subtly, providing secondary light sources. Volumetric fog/haze to enhance atmosphere.
  • Color Palette: Predominantly cool blues, grays, and silvers for architecture, contrasted with vibrant greens and subtle purples/pinks for bioluminescent flora. Warm golden tones from the dawn light.
  • Key Elements:

* Sleek, modern skyscraper designs.

* Extensive vertical gardens covering building facades.

* Cascading water features (e.g., waterfalls, reflective pools).

* Futuristic, elegant flying vehicles (drones, passenger pods).

* Clean, well-maintained pedestrian areas at ground level (optional, in foreground).

  • Camera Angle: Slightly elevated, looking down into the city, emphasizing scale and complexity.
  • Focus: Sharp throughout, with extreme detail on both architectural and natural elements.

2. Concept: Mystical Forest Guardian

Image Prompt:

A breathtaking, low-angle portrait of an ancient, wise forest guardian. The guardian is a humanoid figure crafted from gnarled tree roots, moss, and glowing fungi, with eyes that emanate a soft, ethereal light. It stands amidst an ancient, untouched forest bathed in shafts of magical, dappled sunlight filtering through a dense canopy. Volumetric god rays, intricate textures, deep greens and earthy browns, fantasy art, photorealistic, 4K, dramatic lighting, professional concept art, serene, powerful.

Creative Brief:

  • Objective: To create a compelling, mystical character representing the protective spirit of nature.
  • Mood: Ancient, wise, mystical, serene, powerful, protective.
  • Target Audience: Fantasy game developers, illustrators, environmental organizations, storytellers.
  • Application: Character design, book covers, game concept art, promotional material for nature-themed products.

Visual Direction & Specifications:

  • Style: Photorealistic fantasy art, magical realism.
  • Composition: Low-angle portrait, emphasizing the guardian's height and imposing presence. The guardian should be centered or slightly off-center, with the forest receding into the background.
  • Lighting: Dramatic, dappled sunlight filtering through the canopy, creating strong god rays and high contrast. The guardian's eyes and internal glowing fungi should be primary light sources, casting a soft glow.
  • Color Palette: Rich greens (moss, leaves), earthy browns (roots, bark), subtle purples/blues/golds for magical light and fungi.
  • Key Elements:

* Guardian: Detailed root structure, interwoven moss, glowing mushrooms/fungi on its body. Eyes with a distinct, warm ethereal glow. A sense of aged wisdom in its form.

* Forest: Ancient, towering trees with thick canopies. Forest floor covered in moss, ferns, and wildflowers.

* Atmosphere: Gentle mist or haze in the air, enhancing the mystical feel.

  • Camera Angle: Low angle, looking up at the guardian, making it appear monumental.
  • Focus: Sharp on the guardian, with a gentle depth of field blurring the background slightly.

3. Concept: Minimalist Product Showcase - Tech Gadget

Image Prompt:

A pristine, studio-quality product photograph of a sleek, minimalist smart home device. The device is a matte black, hexagonal hub with a single, subtle LED indicator, resting on a polished concrete surface. A single, perfectly diffused softbox light from the top-right creates subtle shadows and highlights. Clean lines, negative space, extreme detail, photorealistic, 4K, commercial photography, stark contrast, elegant, high-end.

Creative Brief:

  • Objective: To showcase a high-end tech product with an emphasis on its design, simplicity, and premium feel.
  • Mood: Modern, elegant, clean, sophisticated, high-tech, premium.
  • Target Audience: Tech consumers, product designers, marketing teams for smart home devices.
  • Application: E-commerce product pages, advertising campaigns, tech reviews, website hero images.

Visual Direction & Specifications:

  • Style: Minimalist product photography, clean, commercial.
  • Composition: Centered or rule-of-thirds placement for the product. Ample negative space around the device. Simple, uncluttered background.
  • Lighting: Single, large softbox light from the top-right, providing even, diffused illumination with soft, subtle shadows that define the product's form. No harsh reflections.
  • Color Palette: Predominantly monochrome (matte black device, gray concrete), with a very subtle accent color from the LED (e.g., cool blue or white).
  • Key Elements:

* Product: Matte black hexagonal hub, smooth finish, precise edges. A single, small, glowing LED. No visible ports or buttons unless explicitly desired.

* Surface: Polished concrete, clean and free of imperfections.

* Background: Plain, light gray or white seamless backdrop.

  • Camera Angle: Eye-level or slightly elevated, straight on, to capture the product's design clearly.
  • Focus: Absolutely sharp on the product, with a very shallow depth of field if any, ensuring the entire product is in focus.

4. Concept: Surreal Dreamscape - Floating Islands

Image Prompt:

A breathtaking, surreal dreamscape featuring a series of lush, verdant floating islands suspended in a vibrant, swirling nebula sky. Ancient, twisted trees grow on the islands, their roots dangling towards the cosmic abyss below. A lone, small hot air balloon drifts peacefully in the mid-ground. Ethereal lighting, vibrant colors, fantastical, magical realism, 8K, digital painting, atmospheric, volumetric clouds, award-winning illustration.

Creative Brief:

  • Objective: To evoke a sense of wonder, peace, and imaginative escape through a fantastical, surreal landscape.
  • Mood: Dreamlike, magical, serene, awe-inspiring, mysterious, adventurous.
  • Target Audience: Fantasy artists, game developers, illustrators, those seeking imaginative escapism.
  • Application: Album art, book covers, concept art for games/films, wall art, digital backgrounds.

Visual Direction & Specifications:

  • Style: Surreal, fantastical, digital painting with high detail.
  • Composition: Wide-angle, panoramic view. Multiple floating islands at varying distances and elevations, creating depth. The hot air balloon serves as a focal point and adds a sense of scale.
  • Lighting: Ethereal, soft light emanating from the nebula itself, creating subtle glows and reflections. No direct sun, but a sense of cosmic illumination. Volumetric clouds/nebula material should be luminous.
  • Color Palette: Rich blues, purples, and pinks for the nebula sky, contrasted with vibrant greens and earthy browns for the islands. The hot air balloon can be a warm, contrasting color (e.g., deep red or orange).
  • Key Elements:

* Floating Islands: Varied in size and shape, covered in lush vegetation, ancient trees, and perhaps a small ruin or waterfall. Roots extending downwards.

* Nebula Sky: Swirling, luminous gas and dust clouds, displaying a spectrum of vibrant cosmic colors.

* Hot Air Balloon: Classic design, small in scale, adding a human element to the vastness.

  • Camera Angle: Elevated, looking across and slightly down at the scene, emphasizing the vastness and height.
  • Focus: Overall sharp, with a sense of depth achieved through atmospheric perspective on distant elements.

5. Concept: Cyberpunk Ramen Bar

Image Prompt:

A vibrant, atmospheric shot inside a bustling cyberpunk ramen bar in a neon-drenched futuristic city. Rain streaks down the grime-covered window, reflecting holographic advertisements outside. Patrons with glowing cybernetic implants slurp ramen under the warm glow of paper lanterns and flickering neon signs. Steam rises from bowls. Gritty textures, volumetric lighting, extreme detail, photorealistic, 4K, cinematic, Blade Runner aesthetic, gritty yet inviting.

Creative Brief:

  • Objective: To capture the gritty, vibrant, and atmospheric essence of a cyberpunk urban environment through a common, relatable scene.
  • Mood: Gritty, bustling, futuristic, atmospheric, inviting (despite the grit), neon-noir.
  • Target Audience: Cyberpunk enthusiasts, game developers, film concept artists, urban culture magazines.
  • Application: Game environments, film concept art, book covers, promotional material for themed events.

Visual Direction & Specifications:

  • Style: Photorealistic, cinematic, cyberpunk, gritty.
  • Composition: Medium shot, slightly off-center, focusing on a few patrons and the bar's interior. The window to the outside should be prominent, showcasing the neon reflections.
  • Lighting: Dominant warm, inviting glow from paper lanterns and interior neon signs, contrasted with the harsh, flickering, multi-colored neon reflections from outside. Volumetric steam/haze in the air.
  • Color Palette: Dominant reds, blues, and purples from neon, warm oranges/yellows from lanterns, dark grays and blacks for the interior.
  • Key Elements:

* Ramen Bar: Counter seating, steam rising from bowls, chopsticks.

* Patrons: Diverse, with visible (but not over-the-top) cybernetic implants (e.g., glowing eyes, arm enhancements). Wearing practical, slightly worn futuristic clothing.

* Exterior: Rain-streaked window, reflecting holographic advertisements and street lights.

* Interior Details: Grimy surfaces, exposed wires, subtle graffiti, Japanese-inspired decor.

  • Camera Angle: Slightly low, as if from a customer's perspective, looking across the bar.
  • Focus: Sharp on the foreground elements (patrons, ramen bowls), with the background (window, distant bar elements) slightly softened but still detailed.

6. Concept: Serene Abstract Landscape - Gradient Waves

Image Prompt:

An ethereal, abstract landscape composed of gently undulating, soft gradient waves. The waves transition seamlessly from deep indigo to soft lavender to warm peach, meeting a horizon line of shimmering, diffused light. Minimalist, calming, tranquil, pastel colors, smooth transitions, high resolution, digital art, atmospheric, abstract expressionism, 8K, subtle texture, meditation art.

Creative Brief:

  • Objective: To create a calming, minimalist, and aesthetically pleasing abstract image suitable for relaxation or decorative purposes.
  • Mood: Serene, peaceful, tranquil, contemplative, elegant, minimalist.
  • Target Audience: Interior designers, wellness brands, meditation apps, digital artists, art collectors.
  • Application: Wall art, backgrounds for meditation apps, website banners, album covers for ambient music, digital decor.

Visual Direction & Specifications:

  • Style: Abstract, minimalist, digital art.
  • Composition: Horizontal orientation. The waves should flow gently across the frame, creating a sense of movement without being disruptive. A clear, soft horizon line.
  • Lighting: Soft, diffused, internal glow within the gradients. No direct light source, but a sense of luminosity from the colors themselves. The horizon should appear as a bright, diffused light source.
  • Color Palette: Smooth, harmonious gradient transitions: deep indigo at the bottom, moving through various shades of blue and purple (lavender, periwinkle) to soft peach/pink at the top/horizon.
  • Key Elements:

* Gradient Waves: Soft, organic curves, not sharp or angular. Seamless color blending.

* Horizon: A line of pure, diffused light, blurring the distinction between sky and water/land.

  • Camera Angle: Eye-level, looking straight across the abstract landscape.
  • Focus: Uniformly soft and smooth, emphasizing the gradients and textures rather than sharp details.

7. Concept: Renaissance Portrait - Modern Twist

Image Prompt:

A captivating, highly detailed portrait of a young woman in the style of a Renaissance painting, but with subtle, anachronistic modern elements. She wears a rich velvet gown with intricate embroidery, but holds a transparent, glowing smartphone subtly in her hand. Soft, chiaroscuro lighting illuminates her serene face and delicate features. Oil painting texture, photorealistic, 4K, master painting, dramatic light, Vermeer-esque, elegant, enigmatic.

Creative Brief:

  • Objective: To create an intriguing and thought-provoking image that blends historical artistry with contemporary elements, sparking curiosity and discussion.
  • Mood: Elegant, enigmatic, historical, modern, artistic, contemplative.
  • Target Audience: Art enthusiasts, cultural commentators, marketing agencies, fashion brands, museum exhibits.
  • Application: Art prints, editorial illustrations, advertising campaigns for luxury brands, conceptual art projects.

Visual Direction & Specifications:

  • Style: Photorealistic oil painting, Renaissance portraiture with a modern twist.
  • Composition: Classic portrait composition, head and shoulders or waist-up. Subject slightly off-center, looking directly at the viewer or slightly to the side.
  • Lighting: Chiaroscuro lighting, with a single strong light source from the left, creating dramatic highlights and deep shadows. Soft, diffused light on the face, emphasizing contours.
  • Color Palette: Rich, deep jewel tones (velvet gown), warm skin tones, subtle golds for embroidery. The smartphone's glow should be a cool, contrasting light.
  • Key Elements:

* Subject: Young woman with classic Renaissance features (e.g., delicate nose, soft eyes, serene expression).

* Attire: Exquisitely detailed velvet gown, possibly with a ruff or elaborate sleeves.

* Modern Twist: A sleek, minimalist, subtly glowing smartphone held inconspicuously.

* Background: Dark, simple, painterly background typical of Renaissance portraits, allowing the subject to stand out.

  • Camera Angle: Eye-level, direct portrait.
  • Focus: Extremely sharp on the face and details of the gown and smartphone, with a gentle blur on the background.

8. Concept: Dynamic Sports Action - Parkour Leap

Image Prompt:

A breathtaking, high-speed action shot of a parkour athlete mid-leap between two towering, brutalist concrete buildings in a gritty urban environment. The athlete is silhouetted against a dramatic, stormy sunset sky, with rain beginning to fall. Dynamic composition, motion blur on limbs, sharp focus on the athlete's body, volumetric lighting, photorealistic, 4K, cinematic, professional sports photography, intense, powerful.

Creative Brief:

  • Objective: To capture the athleticism, risk, and raw energy of parkour in a dramatic and visually striking manner.
  • Mood: Intense, powerful, dynamic, adventurous, gritty, thrilling.
  • Target Audience: Sports brands, extreme sports enthusiasts, fitness publications, advertising agencies.
  • Application: Sports advertising, magazine covers, promotional material for action-oriented products, fitness apps.

Visual Direction & Specifications:

  • Style: Photorealistic, high-speed sports photography, cinematic.
  • Composition: Dynamic, diagonal composition. The athlete should be caught at the peak of their leap, spanning a significant gap. Buildings should frame the action.
  • Lighting: Dramatic stormy sunset lighting. The athlete is partially silhouetted against the vibrant sky, with rim lighting highlighting their form. Rain streaks visible.
  • Color Palette: Deep oranges, purples, and blues of the sunset sky, contrasted with the gray
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);}});}