noumanjavaid commited on
Commit
9572351
·
verified ·
1 Parent(s): 6ffe885

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +74 -26
app.py CHANGED
@@ -293,10 +293,18 @@ def get_ai_suggestion(field_name, existing_values=None):
293
  # Story generation function
294
  def generate_story(story_details):
295
  try:
296
- system_prompt = system_dislecxic(story_details.get('target_age_group', '7-9'), 150)
 
 
 
 
 
 
 
 
297
  user_prompt = user_dislecxic(
298
  story_details.get('target_age_group', '7-9'),
299
- 150,
300
  story_details.get('story_style', ''),
301
  story_details.get('theme', ''),
302
  story_details.get('language', 'English'),
@@ -347,14 +355,24 @@ def generate_images(image_prompts, art_style):
347
  try:
348
  styled_prompts = []
349
  style_descriptions = {
350
- "Abstract Art": "Digital art in Abstract style with vibrant shapes and patterns, ",
351
- "Art Deco": "Digital art in Art Deco style with symmetrical designs and bold geometric forms, ",
352
- "Art Nouveau": "Digital illustration in Art Nouveau style with intricate floral motifs and curvilinear designs, ",
353
- "Bauhaus": "Digital art inspired by Bauhaus movement with geometric shapes and functional form, ",
354
- "Celtic Art": "Digital art in Celtic style with intricate knotwork and spiral designs, ",
355
- "Chinese Brush Painting": "Digital art in Chinese Brush Painting style with fluid brush strokes, ",
356
- "Concept Art": "Detailed concept art illustration with rich details and atmosphere, ",
357
- "Cyber Folk": "Digital art blending traditional folk patterns with futuristic cyber aesthetics, "
 
 
 
 
 
 
 
 
 
 
358
  }
359
 
360
  style_prefix = style_descriptions.get(art_style, "Digital illustration in a ")
@@ -378,7 +396,7 @@ def generate_images(image_prompts, art_style):
378
  return None
379
 
380
  # Main UI
381
- st.title("✨ StoryMii - AI Story Generator")
382
 
383
  # Sidebar navigation
384
  page = st.sidebar.radio("Navigation", ["Create Story", "Story Library"])
@@ -437,22 +455,52 @@ if page == "Create Story":
437
 
438
  story_details["target_age_group"] = st.select_slider(
439
  "Target Age Group",
440
- options=["5-7", "7-9", "9-11"],
441
- value="7-9"
 
442
  )
443
-
444
- with col2:
445
- story_details["main_character"] = st.text_input(
446
- "Main Character",
447
- help="Who is your story's protagonist?",
448
- value=st.session_state.story_details.get("main_character", "")
449
- )
450
- suggest_character = st.form_submit_button("🦸 Suggest Character")
451
- if suggest_character:
452
- suggestion = get_ai_suggestion("main character")
453
- if suggestion:
454
- st.session_state.story_details["main_character"] = suggestion
455
- story_details["main_character"] = suggestion
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
456
 
457
  story_details["main_character_attributes"] = st.text_area(
458
  "Character Attributes",
 
293
  # Story generation function
294
  def generate_story(story_details):
295
  try:
296
+ word_limits = {
297
+ "1-3": 50,
298
+ "4-6": 100,
299
+ "7-9": 150,
300
+ "10-12": 200
301
+ }
302
+ word_limit = word_limits[story_details.get('target_age_group', '7-9')]
303
+
304
+ system_prompt = system_dislecxic(story_details.get('target_age_group', '7-9'), word_limit)
305
  user_prompt = user_dislecxic(
306
  story_details.get('target_age_group', '7-9'),
307
+ word_limit,
308
  story_details.get('story_style', ''),
309
  story_details.get('theme', ''),
310
  story_details.get('language', 'English'),
 
355
  try:
356
  styled_prompts = []
357
  style_descriptions = {
358
+ "Abstract Art": "Digital art in Abstract style with vibrant shapes and patterns, dynamic composition, non-representational elements, ",
359
+ "Art Deco": "Digital art in Art Deco style with symmetrical designs, bold geometric forms, radiant colors, 1920s aesthetic, ",
360
+ "Art Nouveau": "Digital illustration in Art Nouveau style with intricate floral motifs, curvilinear designs, flowing organic patterns, ",
361
+ "Bauhaus": "Digital art inspired by Bauhaus movement with geometric shapes, functional form, modernist approach, ",
362
+ "Celtic Art": "Digital art in Celtic style with intricate knotwork, spiral designs, medieval influence, ",
363
+ "Chinese Brush Painting": "Digital art in Chinese Brush Painting style with fluid brush strokes, serene composition, nature-inspired, ",
364
+ "Concept Art": "Detailed concept art illustration with rich details, atmospheric lighting, cinematic composition, ",
365
+ "Cyber Folk": "Digital art blending traditional folk patterns with futuristic cyber aesthetics, neon accents, ",
366
+ "Fairy Tale": "Classic storybook illustration with whimsical elements, soft colors, enchanted atmosphere, ",
367
+ "Fantasy": "Magical and imaginative digital art with ethereal lighting, fantastical elements, ",
368
+ "Pixar": "3D animated style with emotional depth, vibrant colors, expressive characters, cinematic quality, ",
369
+ "Watercolor": "Digital watercolor style with soft edges, flowing colors, artistic textures, delicate details, ",
370
+ "Abstract Geometry": "Digital art with clean geometric shapes, interlocking triangles and circles, modern minimal style, ",
371
+ "Bokeh Art": "Digital art with soft focus effects, luminous spots, dreamy atmosphere, ethereal lighting, ",
372
+ "Brutalism": "Digital art with raw textures, bold shapes, monolithic structures, stark contrasts, ",
373
+ "Byzantine": "Digital art with rich gold tones, mosaic-like textures, religious icon style, ornate details, ",
374
+ "Charcoal": "Digital art emulating charcoal drawing with bold strokes, rich textures, dramatic shadows, ",
375
+ "Chiptune": "Digital art in retro pixel art style, 8-bit aesthetic, vibrant colors, nostalgic gaming feel, "
376
  }
377
 
378
  style_prefix = style_descriptions.get(art_style, "Digital illustration in a ")
 
396
  return None
397
 
398
  # Main UI
399
+ st.title("✨ StoryMii")
400
 
401
  # Sidebar navigation
402
  page = st.sidebar.radio("Navigation", ["Create Story", "Story Library"])
 
455
 
456
  story_details["target_age_group"] = st.select_slider(
457
  "Target Age Group",
458
+ options=["1-3", "4-6", "7-9", "10-12"],
459
+ value="7-9",
460
+ help="Select the target age group for your story"
461
  )
462
+
463
+ # Word limit based on age group
464
+ word_limits = {
465
+ "1-3": 50, # Simpler, shorter stories for toddlers
466
+ "4-6": 100, # Slightly longer for preschoolers
467
+ "7-9": 150, # More complex for early readers
468
+ "10-12": 200 # Longer stories for confident readers
469
+ }
470
+ word_limit = word_limits[story_details["target_age_group"]]
471
+
472
+ # Updated story tones
473
+ story_details["story_tone"] = st.selectbox(
474
+ "Story Tone",
475
+ ["Whimsical", "Educational", "Neutral", "Gentle", "Encouraging"],
476
+ help="Choose the overall tone of your story"
477
+ )
478
+
479
+ # Updated story styles
480
+ story_details["story_style"] = st.radio(
481
+ "Story Style",
482
+ [
483
+ "Picture Book",
484
+ "Early Reader",
485
+ "Educational Story",
486
+ "Bedtime Story",
487
+ "Interactive Story",
488
+ "Simple Chapter Story"
489
+ ],
490
+ help="Select the style that best fits your story"
491
+ )
492
+
493
+ story_details["main_character"] = st.text_input(
494
+ "Main Character",
495
+ help="Who is your story's protagonist?",
496
+ value=st.session_state.story_details.get("main_character", "")
497
+ )
498
+ suggest_character = st.form_submit_button("🦸 Suggest Character")
499
+ if suggest_character:
500
+ suggestion = get_ai_suggestion("main character")
501
+ if suggestion:
502
+ st.session_state.story_details["main_character"] = suggestion
503
+ story_details["main_character"] = suggestion
504
 
505
  story_details["main_character_attributes"] = st.text_area(
506
  "Character Attributes",