Image Prompt & Brief Creator
Run ID: 69bca3ef77c0421c0bf493312026-03-29Design
PantheraHive BOS
BOS Dashboard

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

Workflow Execution: Image Prompt & Brief Creator

Workflow Details:

  • Category: Design
  • Description: Generate 10 professional AI image prompts, creative briefs, and visual direction specs.
  • User Inputs:

* Theme: Test Image Theme

* Style: Photorealistic

* Use Cases: This is a test input for the Image Prompt & Brief Creator workflow. Please generate comprehensive output.

  • App Used (Step 1 of 1: generate_image): sharper4k

Introduction

This output provides 10 distinct, professional AI image prompts, each accompanied by a comprehensive creative brief and detailed visual direction specifications. Leveraging the "Test Image Theme" and "Photorealistic" style, these examples demonstrate a wide range of potential applications, from product photography to conceptual art, all designed for high-fidelity rendering with a tool like sharper4k. Each entry is crafted to be immediately actionable for AI image generation platforms and serves as a robust foundation for creative projects.


Generated Image Prompts, Creative Briefs, and Visual Direction Specs

1. Serene Mountain Lake Sunrise

  • AI Image Prompt:

A breathtaking panoramic shot of a serene mountain lake at sunrise. Mist gently rises off the tranquil water, reflecting the vibrant hues of the dawn sky. Golden light illuminates the jagged, snow-capped peaks in the background. Foreground features include smooth, water-worn rocks and a few delicate reeds. Shot with a professional DSLR, wide-angle lens (16mm), f/11, ISO 100. Ultra-detailed, cinematic, hyperrealistic, natural light, ethereal atmosphere.

  • Creative Brief:

* Objective: To evoke a sense of peace, grandeur, and natural beauty. Ideal for promoting travel destinations, wellness retreats, or environmental conservation.

* Target Audience: Nature enthusiasts, luxury travelers, individuals seeking tranquility and escape.

* Key Message: Unspoiled beauty, serenity, and the majestic power of nature.

* Desired Emotion: Awe, calm, inspiration, wonder.

  • Visual Direction Specs:

* Composition: Rule of thirds, strong leading lines from the shore to the mountains.

* Color Palette: Soft golds, warm oranges, cool blues, deep purples, muted greens.

* Lighting: Golden hour, soft and directional, creating long shadows and highlights on the peaks.

* Atmosphere: Misty, clear air, crisp reflections, sense of vastness.

* Post-Production: Enhance vibrancy and contrast subtly, maintain natural look, ensure sharp details from foreground to background.


2. Minimalist Smartphone Product Shot

  • AI Image Prompt:

Extreme close-up shot of a sleek, modern smartphone (generic design, no visible branding) resting horizontally on a polished, dark grey concrete surface. A subtle, soft reflection of the phone is visible on the surface. The background is a clean, out-of-focus blur of a studio setting. Soft, diffused studio lighting from above and slightly to the left, highlighting the phone's metallic edges and screen texture. Shot with a macro lens (100mm), f/2.8, ISO 200. Commercial photography, high resolution, sharp focus on product details, professional grade.

  • Creative Brief:

* Objective: To showcase the elegance, design, and premium quality of a tech product. Suitable for product launches, e-commerce, or advertising campaigns for electronics.

* Target Audience: Tech-savvy consumers, design aficionados, early adopters.

* Key Message: Sophistication, innovation, premium craftsmanship.

* Desired Emotion: Admiration, desire for ownership, trust in quality.

  • Visual Direction Specs:

* Composition: Centered or slightly off-center for dynamic balance. Emphasis on clean lines and symmetry.

* Color Palette: Monochromatic (greys, silvers, blacks) with subtle accents from the screen (e.g., a simple, clean UI).

* Lighting: Softbox lighting, no harsh shadows, even illumination. Subtle rim lighting to define edges.

* Atmosphere: Clean, sterile, professional, luxurious.

* Post-Production: Flawless surface, impeccable reflections, perfect color accuracy, high dynamic range.


3. Dynamic Team Collaboration in Modern Office

  • AI Image Prompt:

A diverse group of four young professionals (two male, two female, various ethnicities) actively collaborating around a large, light wood conference table in a sunlit, open-plan modern office. They are smiling, engaged in conversation, gesturing naturally, and looking at a tablet or laptop screen together. Large windows in the background reveal a softly blurred urban skyline. Shot from a slightly elevated, medium-wide angle (35mm), f/4, ISO 400. Bright, airy, natural light, candid feel, corporate stock photo quality, professional realism.

  • Creative Brief:

* Objective: To convey teamwork, collaboration, diversity, and a positive, modern work environment. Ideal for HR materials, corporate websites, annual reports, or recruitment campaigns.

* Target Audience: Potential employees, business partners, internal staff, corporate stakeholders.

* Key Message: Innovation through collaboration, inclusive workplace, professional growth.

* Desired Emotion: Trust, inspiration, optimism, belonging.

  • Visual Direction Specs:

* Composition: Balanced group shot, natural interactions, open body language.

* Color Palette: Bright and inviting, muted office tones (whites, greys, light wood) with subtle pops of professional attire colors.

* Lighting: Abundant natural light from windows, supplemented by soft overhead office lighting. Avoid harsh shadows.

* Atmosphere: Energetic, productive, friendly, professional.

* Post-Production: Natural skin tones, subtle retouching, ensure professional appearance without being overly staged.


4. Ethereal Dandelion Seed Head Macro

  • AI Image Prompt:

A single, perfectly formed dandelion seed head, meticulously in focus, with several delicate seeds gently drifting away in a soft breeze. The background is a beautifully blurred bokeh of a golden field at sunset, creating a warm, ethereal glow. Shot with a macro lens (105mm), f/1.8, ISO 100. Extreme shallow depth of field, natural light, high detail on the seed head, dreamy and delicate.

  • Creative Brief:

* Objective: To symbolize fragility, hope, change, or new beginnings. Versatile for inspirational content, ecological themes, or abstract artistic expression.

* Target Audience: Broad audience interested in nature, mindfulness, or symbolic imagery.

* Key Message: Delicate beauty, the cycle of life, potential, fleeting moments.

* Desired Emotion: Serenity, contemplation, hope, wonder.

  • Visual Direction Specs:

* Composition: Central focus on the dandelion, allowing the background blur to frame it.

* Color Palette: Warm yellows, oranges, and soft browns from the sunset and field, contrasting with the delicate white of the dandelion.

* Lighting: Golden hour backlighting, creating a halo effect around the dandelion and emphasizing its translucence.

* Atmosphere: Dreamy, soft, tranquil, ethereal.

* Post-Production: Enhance bokeh effect, ensure sharp focus on the dandelion's intricate details, gentle color grading to maintain warmth.


5. Bustling European Street Market at Golden Hour

  • AI Image Prompt:

A vibrant, bustling street market scene in an old European city. Cobblestone streets are wet from a recent light rain, reflecting the warm glow of the golden hour sun. Stalls overflow with colorful fresh produce, artisanal goods, and fragrant flowers. Numerous people of diverse ages and ethnicities are walking, interacting, shopping, and enjoying the atmosphere. Historic architecture with intricate details lines the background. Shot with a prime lens (50mm), f/5.6, ISO 200. Dynamic composition, rich colors, authentic street photography aesthetic, professional realism.

  • Creative Brief:

* Objective: To capture the lively atmosphere, cultural richness, and authentic charm of an urban European setting. Ideal for tourism promotion, cultural documentaries, or lifestyle content.

* Target Audience: Travelers, culture enthusiasts, foodies, urban explorers.

* Key Message: Cultural immersion, vibrant community, authentic experiences.

* Desired Emotion: Excitement, curiosity, joy, nostalgia.

  • Visual Direction Specs:

* Composition: Dense but organized, with multiple points of interest. Leading lines from the street and stalls.

* Color Palette: Rich and varied, warm golds and oranges from the sun, contrasted with the deep colors of produce and historical buildings.

* Lighting: Golden hour, warm and directional, creating interesting shadows and highlights. Reflections on wet surfaces add depth.

* Atmosphere: Lively, bustling, authentic, inviting.

* Post-Production: Enhance color saturation and contrast to bring out the vibrancy, maintain realistic skin tones, subtle grain for an authentic feel.


6. Futuristic Autonomous Vehicle in Neon City

  • AI Image Prompt:

A sleek, futuristic autonomous electric vehicle (generic, concept car design) silently gliding along a wet, neon-lit city street at dusk. The vehicle's minimalist design reflects the vibrant blues, purples, and pinks of the towering, high-tech architectural skyscrapers that line the street. Pedestrians (futuristic attire, blurred motion) populate the sidewalks. Dramatic, high-contrast lighting from neon signs and streetlights creates deep shadows and brilliant highlights. Shot with a cinematic lens (anamorphic look), f/2.0, ISO 800. Cyberpunk aesthetic, professional rendering, hyperrealistic, high-resolution VFX quality.

  • Creative Brief:

* Objective: To envision advanced technology, urban innovation, and a near-future cityscape. Suitable for automotive concept promotion, technology advertising, or sci-fi media.

* Target Audience: Tech enthusiasts, futurists, automotive industry, gamers.

* Key Message: Innovation, progress, advanced mobility, a glimpse into tomorrow.

* Desired Emotion: Excitement, wonder, curiosity, a sense of the future.

  • Visual Direction Specs:

* Composition: Dynamic, slightly low-angle shot emphasizing the vehicle and towering buildings.

* Color Palette: Predominantly dark blues, purples, and blacks, punctuated by bright neon accents (cyan, magenta, electric yellow).

* Lighting: High-contrast, dynamic lighting from artificial sources. Strong reflections on wet surfaces.

* Atmosphere: Moody, sophisticated, technologically advanced, slightly mysterious.

* Post-Production: Enhance neon glow, add subtle volumetric fog or haze, ensure crisp reflections and sharp edges on the vehicle.


7. Gourmet Deconstructed Berry Tart

  • AI Image Prompt:

A perfectly plated gourmet deconstructed berry tart on a dark, rustic wooden table. The components (crisp pastry shards, fresh mixed berries like raspberries, blueberries, and blackberries, a dollop of crème fraîche, and delicate edible flowers) are artfully arranged. A fine dusting of powdered sugar lightly covers parts of the plate. Soft, directional light from the top-left creates subtle shadows and highlights. Shot with a macro lens (100mm), f/2.8, ISO 100. Food photography, Michelin star presentation, professional studio quality, hyperrealistic texture.

  • Creative Brief:

* Objective: To highlight culinary artistry, fresh ingredients, and the delectable appeal of a gourmet dessert. Ideal for restaurant menus, food magazines, culinary blogs, or high-end catering promotion.

* Target Audience: Foodies, restaurant patrons, culinary professionals, dessert lovers.

* Key Message: Exquisite taste, artistic presentation, premium quality ingredients.

* Desired Emotion: Appetite stimulation, desire, admiration for craftsmanship.

  • Visual Direction Specs:

* Composition: Close-up, top-down or slightly angled shot, emphasizing the arrangement and textures.

* Color Palette: Vibrant reds, blues, and purples from the berries, creamy whites, contrasting with the dark wooden background.

* Lighting: Soft, diffused, directional light to create inviting shadows and bring out textures.

* Atmosphere: Elegant, inviting, fresh, luxurious.

* Post-Production: Enhance natural colors of berries, ensure crisp details on pastry and flowers, subtle sharpening, clean background.


8. Majestic Lioness in African Savanna Sunset

  • AI Image Prompt:

A majestic lioness, with her fur beautifully illuminated by the warm, low light of a setting sun, gazing intently across the vast African savanna. She is positioned slightly off-center, with tall, golden grass in the foreground. A few iconic acacia trees are silhouetted against the dramatic orange and purple sky in the distant background. Shot with a telephoto lens (300mm), f/4, ISO 400. Wildlife photography, natural habitat, shallow depth of field, powerful, hyperrealistic.

  • Creative Brief:

* Objective: To showcase the raw beauty, power, and grace of African wildlife in its natural habitat. Ideal for conservation campaigns, nature documentaries, travel marketing, or educational materials.

* Target Audience: Wildlife enthusiasts, nature lovers, conservationists, adventure travelers.

* Key Message: Wild beauty, conservation, the spirit of Africa.

* Desired Emotion: Awe, respect, wonder, connection to nature.

  • Visual Direction Specs:

* Composition: Rule of thirds, strong focus on the lioness's eyes and profile.

* Color Palette: Warm golds, deep oranges, purples, and blues from the sunset, earthy browns and greens from the savanna.

* Lighting: Golden hour backlighting, creating a glowing outline around the lioness and dramatic sky.

* Atmosphere: Serene yet powerful, wild, majestic.

* Post-Production: Enhance natural colors, ensure sharp detail on the lioness's fur and eyes, soft background blur to emphasize the subject.


9. Sun-Drenched Minimalist Living Room

  • AI Image Prompt:

A bright, sun-drenched minimalist living room featuring a large, floor-to-ceiling window overlooking a softly blurred, modern city skyline. The room has pristine white walls, light oak wood flooring, and a single, elegant modern grey sofa with two neatly arranged throw pillows. A strategically placed, vibrant green potted plant adds a touch of life. Natural light floods the space, creating subtle shadows and highlights. Shot with a wide-angle architectural lens (24mm), f/8, ISO 200. Clean, airy, architectural photography, magazine spread quality, hyperrealistic.

  • Creative Brief:

* Objective: To illustrate contemporary, serene, and stylish living spaces. Ideal for real estate listings, interior design portfolios, home decor magazines, or furniture advertising.

* Target Audience: Homebuyers, interior designers, architects, those interested in modern living.

* Key Message: Modern comfort, sophisticated design, spaciousness, tranquility.

* Desired Emotion: Calm, aspiration, comfort, aesthetic pleasure.

  • Visual Direction Specs:

* Composition: Balanced and clean, emphasizing open space and natural light.

* Color Palette: Predominantly neutral (whites, greys, light wood) with a subtle pop of green from the plant and muted city colors.

* Lighting: Abundant natural light, soft and even, highlighting textures and creating a bright atmosphere.

* Atmosphere: Peaceful, uncluttered, inviting, luxurious.

* Post-Production: Ensure perfect white balance, straight lines (no distortion), enhance light and shadow interplay, clean and crisp details.


10. Ancient Roman Centurion on Fortified Wall

  • AI Image Prompt:

A stoic Roman centurion, clad in meticulously detailed and historically accurate bronze armor with a red plume, standing resolute atop a fortified stone wall. He overlooks a vast, ancient Roman city sprawling into the distance at dawn. The sky is a dramatic mix of deep reds, oranges, and purples, with a few wisps of clouds. The centurion holds a pilum (spear) firmly. Cinematic lighting, highly detailed textures on armor and stone, epic historical recreation, professional matte painting quality, hyperrealistic. Shot with a telephoto lens (200mm), f/5.6, ISO 200.

  • Creative Brief:

* Objective: To transport viewers to a historical era, emphasizing authenticity, power, and the grandeur of ancient civilizations. Ideal for historical documentaries, educational content, video game marketing, or museum exhibits.

* Target Audience: History enthusiasts, students, gamers, cultural institutions.

* Key Message: Historical authenticity, power, empire, a glimpse into the past.

* Desired Emotion: Awe, respect, curiosity, immersion in history.

  • Visual Direction Specs:

* Composition: Strong, heroic pose for the centurion, framed against the dramatic sky and city.

* Color Palette: Rich earthen tones, bronze, deep reds, dramatic sky colors (reds, purples, oranges).

* Lighting: Dramatic dawn lighting, strong backlighting, creating a powerful silhouette and highlights on the armor.

* Atmosphere: Epic, grand, historical, powerful, slightly solemn.

* Post-Production: Ensure historical accuracy of attire and architecture, enhance textures, cinematic color grading, subtle atmospheric haze for depth.


Conclusion

This comprehensive output provides a diverse set of 10 image generation packages, each tailored for a photorealistic style using a high-fidelity image generation app like sharper4k. The detailed prompts, creative briefs, and visual direction specs ensure that the generated images will meet specific creative and strategic objectives, offering immediate utility for a wide array of design and marketing needs.

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