package imports

//
//import (
//	"bytes"
//	"encoding/json"
//	"fmt"
//	"net/http"
//)
//
////------------------------------------------图生图
//
//type Image2ImageRequest struct {
//	Model  string      `json:"model"`
//	Input  ImageInput  `json:"input"`
//	Params ImageParams `json:"parameters"`
//}
//
//type ImageInput struct {
//	Images []string `json:"images"`
//	Prompt string   `json:"prompt"` // 可选的条件文本
//}
//
//type ImageParams struct {
//	Size     string  `json:"size,omitempty"` // 输出尺寸
//	Strength float64 `json:"strength"`       // 重绘强度0-1
//	N        int     `json:"n,omitempty"`    // 生成数量
//}
//
//type ImageResponse struct {
//	Output struct {
//		TaskID  string `json:"task_id"`
//		Results []struct {
//			URL string `json:"url"`
//		} `json:"results"`
//	} `json:"output"`
//	RequestID string `json:"request_id"`
//}
//
//// Image2image 图生图
//func (g *AiGenerator) Image2image(imagePath string, prompt string, strength float64, size string, n int) (*ImageResponse, error) {
//	if g.cfg.APIKey == "" {
//		return nil, fmt.Errorf("API密钥未配置")
//	}
//
//	// 构建请求
//	req := Image2ImageRequest{
//		Model: g.cfg.ImageModel,
//		Input: ImageInput{
//			Images: []string{imagePath},
//			Prompt: prompt,
//		},
//		Params: ImageParams{
//			Size:     size,
//			Strength: strength,
//			N:        n,
//		},
//	}
//
//	url := g.cfg.BaseURL + g.cfg.Image2ImageURL
//	jsonData, err := json.Marshal(req)
//	if err != nil {
//		return nil, err
//	}
//
//	httpReq, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
//	if err != nil {
//		return nil, err
//	}
//
//	httpReq.Header.Set("Content-Type", "application/json")
//	httpReq.Header.Set("Authorization", "Bearer "+g.cfg.APIKey)
//	httpReq.Header.Set("X-DashScope-Async", "enable")
//
//	resp, err := g.client.Do(httpReq)
//	if err != nil {
//		return nil, err
//	}
//	defer resp.Body.Close()
//
//	// 解析响应
//	var result ImageResponse
//	if err := json.NewDecoder(resp.Body).Decode(&result); err != nil {
//		return nil, fmt.Errorf("响应解析失败: %v", err)
//	}
//
//	if resp.StatusCode != http.StatusOK {
//		return nil, fmt.Errorf("API错误: %d", resp.StatusCode)
//	}
//
//	return &result, nil
//}
