1515from novelai_python import GenerateImageInfer , ImageGenerateResp , ApiCredential
1616from novelai_python .sdk .ai .generate_image import Action , Model , Sampler , Character , UCPreset , Params
1717from novelai_python .sdk .ai .generate_image .schema import PositionMap
18+ from novelai_python .tool .random_prompt import RandomPromptGenerator
1819from novelai_python .utils .useful import enum_to_list
1920
2021
2122async def generate (
22- prompt = "2girls, fisheye, closeup, from above"
23+ prompt = None ,
2324):
2425 jwt = os .getenv ("NOVELAI_JWT" , None )
2526 if jwt is None :
2627 raise ValueError ("NOVELAI_JWT is not set in `.env` file, please create one and set it" )
28+
2729 credential = ApiCredential (api_token = SecretStr (jwt ))
2830 """Or you can use the login credential to get the renewable jwt token"""
2931 _login_credential = LoginCredential (
@@ -43,24 +45,29 @@ async def generate(
4345 A5 B5 C5 D5 E5
4446 """
4547 )
48+
49+ # Randomly generate a scene
50+ prompt_generator = RandomPromptGenerator ()
51+ scene = prompt_generator .generate_scene_composition ()
52+ if prompt is None :
53+ prompt = scene .pop (0 ) + ',' .join ([
54+ 'muelsyse (arknights) '
55+ ])
56+ character = [
57+ Character (
58+ prompt = c_prompt ,
59+ uc = "red hair" ,
60+ center = PositionMap .B2
61+ ) for c_prompt in scene
62+ ]
63+
4664 try :
4765 agent = GenerateImageInfer .build_generate (
4866 prompt = prompt ,
49- width = 1216 ,
50- height = 832 ,
51- model = Model .NAI_DIFFUSION_4_CURATED_PREVIEW ,
52- character_prompts = [
53- Character (
54- prompt = "1girl, head tilt, short hair, black hair, grey eyes, small breasts, looking at viewer" ,
55- uc = "red hair" ,
56- center = PositionMap .B2
57- ),
58- Character (
59- prompt = "1girl, fox ears, fox tail, white hair, white tail, white ears" ,
60- uc = "black hair" ,
61- center = PositionMap .D2
62- )
63- ],
67+ width = 832 ,
68+ height = 1216 ,
69+ model = Model .NAI_DIFFUSION_4_FULL ,
70+ character_prompts = character ,
6471 sampler = Sampler .K_EULER_ANCESTRAL ,
6572 ucPreset = UCPreset .TYPE0 ,
6673 # Recommended, using preset negative_prompt depends on selected model
0 commit comments