feat(piagent): support image quality and output_format in image client
Add quality and output_format to ImageRequestOptions, plumb them through the JSON/multipart request bodies, generalize asset URL collection to non-image formats, and add GenerateLayeredDocument for PSD output. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -303,6 +303,9 @@ func (a *DesignAgent) buildImagePrompts(ctx context.Context, req design.AgentReq
|
||||
|
||||
func plannedGenerationCount(req design.AgentRequest) int {
|
||||
count := req.TaskPlan.ImageCount
|
||||
if count <= 0 && req.ImageCount > 0 {
|
||||
count = req.ImageCount
|
||||
}
|
||||
if count <= 0 && len(req.TaskPlan.ImageTasks) > 0 {
|
||||
count = len(req.TaskPlan.ImageTasks)
|
||||
}
|
||||
@@ -516,6 +519,7 @@ func (a *DesignAgent) generateImageWithFallbackCount(ctx context.Context, req de
|
||||
image, err := a.imageAgent.Generate(ctx, prompt, ImageRequestOptions{
|
||||
Model: req.ImageModel,
|
||||
Size: req.ImageSize,
|
||||
Quality: req.ImageQuality,
|
||||
Count: count,
|
||||
Images: referenceImages,
|
||||
IdempotencyKey: imageGenerationIdempotencyKey(req, index, prompt, false),
|
||||
@@ -532,6 +536,7 @@ func (a *DesignAgent) generateImageWithFallbackCount(ctx context.Context, req de
|
||||
fallbackImage, fallbackErr := a.imageAgent.Generate(ctx, fallback, ImageRequestOptions{
|
||||
Model: req.ImageModel,
|
||||
Size: req.ImageSize,
|
||||
Quality: req.ImageQuality,
|
||||
Count: count,
|
||||
Images: referenceImages,
|
||||
IdempotencyKey: imageGenerationIdempotencyKey(req, index, fallback, true),
|
||||
@@ -553,6 +558,7 @@ func imageGenerationIdempotencyKey(req design.AgentRequest, index int, prompt st
|
||||
strings.TrimSpace(req.Prompt),
|
||||
strings.TrimSpace(req.ImageModel),
|
||||
strings.TrimSpace(req.ImageSize),
|
||||
strings.TrimSpace(req.ImageQuality),
|
||||
strconv.Itoa(plannedGenerationCount(req)),
|
||||
strconv.Itoa(index),
|
||||
kind,
|
||||
|
||||
Reference in New Issue
Block a user