diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/Chat/AgentSendInput.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/Chat/AgentSendInput.cs
index 85425145..e2eed240 100644
--- a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/Chat/AgentSendInput.cs
+++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/Chat/AgentSendInput.cs
@@ -15,7 +15,7 @@ public class AgentSendInput
///
/// api密钥Id
///
- public string Token { get; set; }
+ public Guid TokenId { get; set; }
///
/// 模型id
diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/Chat/ImageGenerationInput.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/Chat/ImageGenerationInput.cs
index c9bade65..7526b00f 100644
--- a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/Chat/ImageGenerationInput.cs
+++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/Chat/ImageGenerationInput.cs
@@ -5,6 +5,11 @@ namespace Yi.Framework.AiHub.Application.Contracts.Dtos.Chat;
///
public class ImageGenerationInput
{
+ ///
+ /// 密钥id
+ ///
+ public Guid? TokenId { get; set; }
+
///
/// 提示词
///
@@ -16,7 +21,7 @@ public class ImageGenerationInput
public string ModelId { get; set; } = string.Empty;
///
- /// 参考图Base64列表(可选,包含前缀如 data:image/png;base64,...)
+ /// 参考图PrefixBase64列表(可选,包含前缀如 data:image/png;base64,...)
///
- public List? ReferenceImagesBase64 { get; set; }
+ public List? ReferenceImagesPrefixBase64 { get; set; }
}
diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/Chat/ImageTaskOutput.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/Chat/ImageTaskOutput.cs
index 1834b5a0..aba37169 100644
--- a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/Chat/ImageTaskOutput.cs
+++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/Chat/ImageTaskOutput.cs
@@ -18,19 +18,19 @@ public class ImageTaskOutput
public string Prompt { get; set; } = string.Empty;
///
- /// 参考图Base64列表
+ /// 参考图PrefixBase64列表(带前缀)
///
- public List? ReferenceImagesBase64 { get; set; }
+ // public List? ReferenceImagesPrefixBase64 { get; set; }
///
/// 参考图URL列表
///
- public List? ReferenceImagesUrl { get; set; }
+ // public List? ReferenceImagesUrl { get; set; }
///
- /// 生成图片Base64(包含前缀)
+ /// 生成图片PrefixBase64(包含前缀)
///
- public string? StoreBase64 { get; set; }
+ public string? StorePrefixBase64 { get; set; }
///
/// 生成图片URL
@@ -42,6 +42,16 @@ public class ImageTaskOutput
///
public TaskStatusEnum TaskStatus { get; set; }
+ ///
+ /// 发布状态
+ ///
+ public PublishStatusEnum PublishStatus { get; set; }
+
+ ///
+ /// 分类标签
+ ///
+ public List Categories { get; set; } = new();
+
///
/// 创建时间
///
diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/Chat/PublishImageInput.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/Chat/PublishImageInput.cs
new file mode 100644
index 00000000..9300d7df
--- /dev/null
+++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/Chat/PublishImageInput.cs
@@ -0,0 +1,17 @@
+namespace Yi.Framework.AiHub.Application.Contracts.Dtos.Chat;
+
+///
+/// 发布图片输入
+///
+public class PublishImageInput
+{
+ ///
+ /// 任务ID
+ ///
+ public Guid TaskId { get; set; }
+
+ ///
+ /// 分类标签
+ ///
+ public List Categories { get; set; } = new();
+}
diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/ModelGetListOutput.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/ModelGetListOutput.cs
index 6ebf2f2c..b89560aa 100644
--- a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/ModelGetListOutput.cs
+++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/ModelGetListOutput.cs
@@ -6,13 +6,7 @@ public class ModelGetListOutput
/// 模型ID
///
public Guid Id { get; set; }
-
- ///
- /// 模型分类
- ///
- public string Category { get; set; }
-
-
+
///
/// 模型id
///
@@ -28,36 +22,6 @@ public class ModelGetListOutput
///
public string? ModelDescribe { get; set; }
- ///
- /// 模型价格
- ///
- public double ModelPrice { get; set; }
-
- ///
- /// 模型类型
- ///
- public string ModelType { get; set; }
-
- ///
- /// 模型展示状态
- ///
- public string ModelShow { get; set; }
-
- ///
- /// 系统提示
- ///
- public string SystemPrompt { get; set; }
-
- ///
- /// API 主机地址
- ///
- public string ApiHost { get; set; }
-
- ///
- /// API 密钥
- ///
- public string ApiKey { get; set; }
-
///
/// 备注信息
///
diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Jobs/ImageGenerationJob.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Jobs/ImageGenerationJob.cs
index fca09694..c1c81660 100644
--- a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Jobs/ImageGenerationJob.cs
+++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Jobs/ImageGenerationJob.cs
@@ -30,32 +30,93 @@ public class ImageGenerationJob : AsyncBackgroundJob, IT
public override async Task ExecuteAsync(ImageGenerationJobArgs args)
{
- _logger.LogInformation("开始执行图片生成任务,TaskId: {TaskId}, ModelId: {ModelId}, UserId: {UserId}",
- args.TaskId, args.ModelId, args.UserId);
+ var task = await _imageStoreTaskRepository.GetFirstAsync(x => x.Id == args.TaskId);
+ if (task is null)
+ {
+ throw new UserFriendlyException($"{args.TaskId} 图片生成任务不存在");
+ }
+ _logger.LogInformation("开始执行图片生成任务,TaskId: {TaskId}, ModelId: {ModelId}, UserId: {UserId}",
+ task.Id, task.ModelId, task.UserId);
try
{
- var request = JsonSerializer.Deserialize(args.RequestJson);
+ // 构建 Gemini API 请求对象
+ var parts = new List