diff --git a/agent-image-t2i.py b/agent-image-t2i.py index 0272fa7..08a7e40 100644 --- a/agent-image-t2i.py +++ b/agent-image-t2i.py @@ -43,6 +43,7 @@ class ImageGenerationRequest(BaseModel): model: str | None = Field(default=None, description="覆盖提供方默认模型") size: str = Field(default="1024x1024", description="图片尺寸") n: int = Field(default=1, ge=1, le=10, description="生成数量") + profile_name: str = Field(pattern=r"^[\w-]+$", description="调用方标识(必填),图片会保存到 output// 下") class GeneratedImage(BaseModel): @@ -107,6 +108,8 @@ def generate_images(request: ImageGenerationRequest): raise HTTPException(status_code=500, detail=f"未配置环境变量 {config['api_key_env']}") model = request.model or config["model"] + profile_dir = OUTPUT_DIR / request.profile_name + profile_dir.mkdir(parents=True, exist_ok=True) client = OpenAI(base_url=API_BASE_URL, api_key=api_key, timeout=120.0, max_retries=0) response = generate_with_retry( client, @@ -129,8 +132,8 @@ def generate_images(request: ImageGenerationRequest): raise HTTPException(status_code=502, detail="上游 Base64 图片数据格式无效") from e filename = f"{model}-{uuid4().hex}.png" - (OUTPUT_DIR / filename).write_bytes(raw) - images.append(GeneratedImage(filename=filename, url=f"/output/{filename}", bytes=len(raw))) + (profile_dir / filename).write_bytes(raw) + images.append(GeneratedImage(filename=filename, url=f"/output/{request.profile_name}/{filename}", bytes=len(raw))) return ImageGenerationResponse(provider=request.provider, model=model, images=images)