feat: 优化图片资源删除管理,生图任务列表管理
This commit is contained in:
@@ -18,6 +18,8 @@ class ProductListItem(BaseModel):
|
||||
currency_code: str = "RUB"
|
||||
source_platform: str | None = None
|
||||
source_url: str | None = None
|
||||
# 采集箱显示中文标题:优先 raw.title_zh,兼容早期采集写入的 raw.title。
|
||||
raw: dict | None = None
|
||||
asset_counts: dict | None = None
|
||||
ozon_product_id: int | None = None
|
||||
created_at: datetime
|
||||
|
||||
+16
-5
@@ -1,6 +1,7 @@
|
||||
"""套图规划 / 一键生成 / 单张 AI 生图 契约(studio/src/services/suite.ts 同源,见 docs/v2.1/api.md)。"""
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
from typing import Literal
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
@@ -61,7 +62,7 @@ PLATFORM_SPECS: dict[str, dict] = {
|
||||
|
||||
|
||||
class TextMaterial(BaseModel):
|
||||
kind: str = Field(..., description="title | params | selling_point | desc | price | brand | sales | shop")
|
||||
kind: str = Field(..., description="title | title_ru | params | selling_point | desc | price | brand | sales | shop")
|
||||
content: str = ""
|
||||
pairs: list[dict] | None = None # [{key, value}]
|
||||
|
||||
@@ -135,6 +136,7 @@ class SuiteCreateResponse(BaseModel):
|
||||
|
||||
|
||||
class SuiteImageOut(BaseModel):
|
||||
item_id: str
|
||||
type_id: str
|
||||
name: str
|
||||
url: str
|
||||
@@ -145,6 +147,7 @@ class SuiteImageOut(BaseModel):
|
||||
class SuiteOut(BaseModel):
|
||||
id: str
|
||||
status: str
|
||||
kind: str = "image_suite"
|
||||
style_set: int
|
||||
platform: str
|
||||
lang: str
|
||||
@@ -152,6 +155,12 @@ class SuiteOut(BaseModel):
|
||||
provider: str
|
||||
model: str | None = None
|
||||
total: int = 0 # 计划总张数(进度分母;images 是逐张追加,过程中 length < total)
|
||||
completed: int = 0
|
||||
failed: int = 0
|
||||
cancel_requested: bool = False
|
||||
created_at: datetime | None = None
|
||||
started_at: datetime | None = None
|
||||
completed_at: datetime | None = None
|
||||
images: list[SuiteImageOut]
|
||||
error: str | None = None
|
||||
|
||||
@@ -160,15 +169,17 @@ class ImageEditSingleRequest(BaseModel):
|
||||
"""POST /api/suite/image-edit:单张 AI 生图(试算页每张图的「AI 生图」入口)。"""
|
||||
product_id: str | None = Field(default=None, description="append=true 时回写到该商品的 generated 组")
|
||||
image_url: str = Field(..., description="原图(stored_url 或 source_url,远程由服务端带 Referer 代下)")
|
||||
prompt: str = Field(..., min_length=1, description="用户要求(必填,进生图指令)")
|
||||
prompt: str = Field(default="", description="用户要求(可选,作为额外生图指令)")
|
||||
model: str = Field(default="nano-banana-2")
|
||||
append: bool = Field(default=True, description="结果是否追加为商品素材(generated 组)")
|
||||
after_asset_id: str | None = Field(
|
||||
default=None,
|
||||
description="插入锚点:新素材排在该素材(generated 组)之后,方便与原图对比;缺省追加到组尾",
|
||||
)
|
||||
watermark: WatermarkOptions | None = Field(default=None, description="单张生图完成后的服务端水印;关闭时不传")
|
||||
|
||||
|
||||
class ImageEditSingleResponse(BaseModel):
|
||||
url: str
|
||||
asset_id: str | None = None
|
||||
class ImageEditTaskResponse(BaseModel):
|
||||
"""单张编辑已进入统一图片任务队列;用 GET /api/suites/{suite_id} 查询结果。"""
|
||||
|
||||
suite_id: str
|
||||
|
||||
Reference in New Issue
Block a user