package com.dora.service;

import com.dora.dto.api.ApiResponse;
import com.dora.entity.AiTask;

/**
 * 第三方AI API服务接口
 * 
 * @author 1818AI
 * @since 2025-10-20
 */
public interface ThirdPartyApiService {

    /**
     * 调用第三方AI API执行生成任务（文生图/视频）
     *
     * @param modelName 模型的名称
     * @param prompt    用户的提示词
     * @return API的完整响应体
     */
    ApiResponse executeGeneration(String modelName, String prompt);

    /**
     * 调用第三方AI API执行生成任务（支持图生视频）
     *
     * @param modelName  模型的名称
     * @param prompt     用户的提示词
     * @param imageParam 图片参数（URL或Base64）
     * @return API的完整响应体
     */
    ApiResponse executeGeneration(String modelName, String prompt, String imageParam);

    /**
     * 根据任务对象调用第三方AI API
     *
     * @param task AI任务对象
     * @return API的完整响应体
     */
    ApiResponse executeGenerationForTask(AiTask task);
}
