diff --git a/internal/server/newapi.go b/internal/server/newapi.go index 473cba9..bb381bf 100644 --- a/internal/server/newapi.go +++ b/internal/server/newapi.go @@ -615,6 +615,14 @@ func (c *newAPIClient) generateSeedreamImageRefs(ctx context.Context, token, mod } payload["image"] = imageInput } + log.Printf( + "popiartServer: Seedream image request model=%s has_image=%t image_type=%s image_count=%d size=%v", + modelID, + payload["image"] != nil, + describeImagePayloadType(payload["image"]), + countImagePayloadItems(payload["image"]), + payload["size"], + ) body, err := json.Marshal(payload) if err != nil { @@ -1340,6 +1348,39 @@ func encodeSeedreamReferenceInputs(refs []imageEditReference) (any, error) { return encodeImageReferenceInputs(refs) } +func describeImagePayloadType(value any) string { + switch value.(type) { + case nil: + return "missing" + case string: + return "string" + case []string: + return "string_array" + case []any: + return "array" + default: + return fmt.Sprintf("%T", value) + } +} + +func countImagePayloadItems(value any) int { + switch typed := value.(type) { + case nil: + return 0 + case string: + if strings.TrimSpace(typed) == "" { + return 0 + } + return 1 + case []string: + return len(typed) + case []any: + return len(typed) + default: + return 1 + } +} + func encodeImageReference(ref imageEditReference) (string, error) { if rawURL := strings.TrimSpace(ref.URL); rawURL != "" { return rawURL, nil