File size: 7,781 Bytes
8e282b2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31467f9
8e282b2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31467f9
8e282b2
 
 
 
 
 
 
 
 
 
 
31467f9
8e282b2
 
31467f9
8e282b2
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
import gradio as gr
import os
import random
from datetime import datetime
from huggingface_hub import HfApi

API = HfApi()
ASSETS_REPO = "RedSparkie/dreamfactory-assets"
SPACE_REPO = "RedSparkie/dreamfactory"
NICHE_CATALOG = {
    "Cyberpunk": "cyberpunk, neon, futuristic, dystopian, sci-fi, night city, rain, holograms, synthwave",
    "Fantasy": "fantasy landscape, magical forest, dragons, enchanted, ethereal, mystical, medieval",
    "Minimalist Zen": "minimalist, zen, Japanese garden, nature, peaceful, serene, simple, elegant",
    "Steampunk": "steampunk, brass gears, mechanical, Victorian, retro-futuristic, clockwork, copper",
    "Cosmic/Abstract": "cosmic, abstract, galaxy, nebula, spiritual, surreal, universe, stars, ethereal",
    "Kawaii/Merch": "kawaii, cute, chibi, adorable, colorful, cartoon, merchandise-ready, print design",
    "Automotive/Luxury": "luxury car, sports car, automotive, chrome, speed, premium, showroom, photorealistic",
}

def generate_marketplace_metadata(meta):
    niche = meta.get("niche", "Art")
    tags = meta.get("tags", [])
    titles = {
        "Cyberpunk": f"Neon {random.choice(['Dragon','Cityscape','Warrior','Dream'])} – Premium Digital Art",
        "Fantasy": f"Enchanted {random.choice(['Forest','Realm','Waterfall','Garden'])} – Fantasy Art Print",
        "Minimalist Zen": f"Zen {random.choice(['Harmony','Balance','Serenity','Moment'])} – Minimalist Art",
        "Steampunk": f"Clockwork {random.choice(['Owl','Heart','City','Explorer'])} – Steampunk Digital",
        "Cosmic/Abstract": f"Cosmic {random.choice(['Awakening','Journey','Soul','Vision'])} – Abstract Art",
        "Kawaii/Merch": f"Cute {random.choice(['Space Cat','Dream','Adventure','Magic'])} – Kawaii Illustration",
        "Automotive/Luxury": f"{random.choice(['Chrome','Midnight','Velocity','Elite'])} – Luxury Automotive Art",
    }
    title = titles.get(niche, "Premium Digital Art – Limited Edition")
    description = f"""🎨 {title}

Exclusive AI-generated digital artwork from the DreamFactory collection.

✨ Features:
β€’ Ultra-high resolution ready for printing
β€’ Perfect for wall art, posters, and merchandise
β€’ Unique piece generated with professional prompts
β€’ Digital download – instant delivery

πŸ“ You will receive:
β€’ High-resolution file
β€’ License for personal and commercial use (print-on-demand)

πŸ”– Tags: {', '.join(tags[:8])}

Β© DreamFactory AI Art.
"""
    marketplace_tags = tags + ["digital art", "AI art", "printable", "wall art", "poster", "home decor"]
    return title, description, marketplace_tags

with gr.Blocks(title="DreamFactory AI Art", theme=gr.themes.Soft()) as demo:
    gr.Markdown("""# 🏭 DreamFactory AI Art\n### Fully Automated Digital Content Business\n*Zero-touch premium art generation, ready for passive income distribution*""")
    with gr.Tab("🎨 Generate New Art"):
        with gr.Row():
            niche_dd = gr.Dropdown(choices=list(NICHE_CATALOG.keys()), value="Cyberpunk", label="Art Niche")
            count_sl = gr.Slider(1, 4, value=1, step=1, label="Batch Count")
            seed_num = gr.Number(value=0, label="Seed (0=random)", precision=0)
        gen_btn = gr.Button("✨ GENERATE ART", variant="primary")
        gallery_out = gr.Gallery(label="Generated Artworks", columns=2, height="auto")
        meta_json = gr.JSON(label="Generation Metadata")
        def gen_and_show(niche, count, seed):
            results = []
            for i in range(int(count)):
                s = int(seed) if seed > 0 else random.randint(1000, 999999)
                base = NICHE_CATALOG.get(niche, niche)
                mods = ["masterpiece, ultra detailed, 8k quality, professional","highly detailed, cinematic lighting, award winning art","digital art, trending on artstation, studio quality","hyperdetailed, perfect composition, gallery quality"]
                prompt = f"{base}, {random.choice(mods)}"
                res_map = {"Cyberpunk":(1344,576),"Fantasy":(1152,864),"Minimalist Zen":(1024,1024),"Steampunk":(1024,1024),"Cosmic/Abstract":(1024,1536),"Kawaii/Merch":(1024,1024),"Automotive/Luxury":(1680,720)}
                w,h = res_map.get(niche,(1024,1024))
                try:
                    from gradio_client import Client
                    c = Client("mcp-tools/Z-Image-Turbo")
                    result = c.predict(prompt=prompt, resolution=f"{w}x{h}", steps=12, shift=3, seed=s, api_name="/predict")
                    meta = {"prompt":prompt,"niche":niche,"seed":s,"resolution":f"{w}x{h}","date":datetime.now().isoformat(),"tags":base.split(", ")}
                    results.append((result, meta))
                except Exception as e:
                    results.append((None, {"error":str(e)}))
            imgs, metas = [], []
            for img, meta in results:
                if img: imgs.append(img); metas.append(meta)
            return imgs, metas
        gen_btn.click(gen_and_show, inputs=[niche_dd, count_sl, seed_num], outputs=[gallery_out, meta_json])

    with gr.Tab("πŸ“¦ Marketplace Export Kit"):
        gr.Markdown("""### πŸš€ Passive Income Workflow\nEvery artwork comes with **pre-formatted metadata** for instant upload to:\n\n1. **Gumroad** – Sell digital downloads\n2. **Etsy** – Sell as digital downloads or POD listings\n3. **Redbubble/Society6** – Auto-sync with print-on-demand products\n4. **Adobe Stock/Shutterstock** – License as stock art\n5. **NFT Marketplaces** – Mint as digital collectibles\n\n**How to automate:** Generate β†’ Export β†’ Bulk upload β†’ Set & forget.""")
        meta_input = gr.JSON(label="Paste generation metadata", value={"niche": "Cyberpunk", "tags": ["cyberpunk", "neon", "futuristic", "dystopian", "sci-fi"], "prompt": "cyberpunk dragon, neon, futuristic, masterpiece, ultra detailed"})
        export_btn = gr.Button("πŸ“‹ Generate Marketplace Listing")
        title_out = gr.Textbox(label="Product Title")
        desc_out = gr.Textbox(label="Product Description", lines=10)
        tags_out = gr.Textbox(label="Tags (comma-separated)")
        def do_export(meta):
            t, d, tags = generate_marketplace_metadata(meta)
            return t, d, ", ".join(tags)
        export_btn.click(do_export, inputs=[meta_input], outputs=[title_out, desc_out, tags_out])

    with gr.Tab("πŸ’° Monetization Dashboard"):
        gr.Markdown("""### πŸ’΅ Revenue Model (Fully Automated)\n\n| Channel | Effort | Est. Monthly Revenue |\n|---------|--------|---------------------|\n| **Gumroad** digital downloads | Upload once | $200–$500 |\n| **Etsy** digital prints | Upload once + auto-delivery | $300–$800 |\n| **Redbubble** POD | Upload once | $100–$400 |\n| **Adobe Stock** royalties | Upload once | $50–$200 |\n| **NFT collections** | Mint once | Variable |\n\n**Total effort after setup: ZERO.**""")

    with gr.Tab("πŸ€– Auto-Mode"):
        gr.Markdown("""### πŸ”„ 24/7 Content Factory\n\nTo run this business **fully automatically**:\n\n1. **HF Scheduled Jobs** β†’ Generate 10 images/day\n2. **GitHub Actions** β†’ Auto-commit new assets\n3. **Zapier/Make.com** β†’ Auto-post to Gumroad/Etsy\n4. **Social Bots** β†’ Auto-Tweet/Instagram for traffic\n\n**Recommended cron:** `0 */6 * * *` (4 batches/day = 28 artworks/day)\n\n> **Next step:** Say \"activate auto-mode\" and I will write the automation scripts.""")
        auto_niche = gr.Dropdown(choices=list(NICHE_CATALOG.keys()), value="Cyberpunk", label="Niche for Auto-Gen")
        auto_count = gr.Slider(1, 10, value=5, label="Images per Batch")
        activate_btn = gr.Button("πŸš€ ACTIVATE AUTO-MODE")

    gr.Markdown("---\n*Built by πŸ€– Hugging Face Agent | Business: 100% automated digital content monetization*")

if __name__ == "__main__":
    demo.launch()