Files
aiData/LingYa/Banana.py
HuangHai 3a0e2c3ec8 'commit'
2026-02-06 08:25:47 +08:00

58 lines
1.6 KiB
Python

import asyncio
import json
import os
import sys
# Add project root to path
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
from Util.BananaClient import BananaClient
import logging
# Configure logging to show info level
logging.basicConfig(level=logging.INFO)
# 强制刷新 stdout
def print_flush(*args, **kwargs):
print(*args, **kwargs)
sys.stdout.flush()
async def main():
print_flush("=== Testing LingYa Image Gen via Util.BananaClient ===")
# 使用 LingYa 提供商初始化客户端
# 配置信息会自动从 Config/ExternalCfg.py 读取
client = BananaClient(provider="LingYa")
prompt = "A futuristic city with flying bananas"
try:
# 使用项目配置中的默认模型 (nano-banana)
print_flush(f"\nGenerating image with prompt: '{prompt}'...")
print_flush(f"Model: {client.model}")
# 调用集成后的 generate_image 方法
# Util.BananaClient 统一了接口调用
result = await client.generate_image(
prompt,
n=1,
size="1024x1024"
)
print_flush("\n[Generation Result]:")
print_flush(json.dumps(result, indent=2, ensure_ascii=False))
# 获取并打印 URL
urls = await client.get_image_urls(result)
if urls:
for url in urls:
print_flush(f"\nImage URL: {url}")
else:
print_flush("\nNo image URLs found in response.")
except Exception as e:
print_flush(f"Test failed: {e}")
if __name__ == "__main__":
asyncio.run(main())