package com.yaoai.pipeline.service;

import com.yaoai.domain.entity.Storyboard;

import java.util.List;

public interface StoryboardPipelineService {

    /**
     * AI 批量生成分镜：根据分集脚本拆分为多个镜头
     */
    List<Storyboard> generateStoryboards(Long episodeId, Long projectId, Long tenantId);

    List<Storyboard> listByEpisode(Long episodeId, Long tenantId);

    List<Storyboard> listByProject(Long projectId, Long tenantId);

    Storyboard create(Storyboard storyboard);

    Storyboard update(Long id, Long tenantId, Storyboard patch);

    void delete(Long id, Long tenantId);

    /**
     * 批量更新排序：传入 [{id, seq}, ...] 形式的有序列表
     */
    void reorder(List<Long> orderedIds, Long tenantId);

    /**
     * AI 根据分镜剧本信息生成视频描述提示词（分时段影视风格）
     */
    String generatePrompt(Long storyboardId, Long tenantId);

    List<Storyboard> populateMissingVideoPromptsByEpisode(Long episodeId, Long tenantId);
}
