Skip to content

bingxinv5/DrawingsoftwareAPP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DrawingsoftwareAPP

一个基于 Android + Kotlin + Jetpack Compose 的 AI 创作应用,当前重点接入第三方 API 平台 Geek Al,支持 AI 聊天、AI 生图、AI 视频生成,并保留柏拉图平台的兼容配置。

项目概览

应用包名:com.bltcy.aiart

当前版本围绕以下能力构建:

  • AI 生图:支持文生图与图生图,图片任务由应用侧异步执行并写入本地历史。
  • AI 视频:提交视频生成任务后,后台轮询远端任务状态并保存结果。
  • AI 对话:基于 OpenAI 兼容接口发送聊天请求,扩展了多种字段与多模态内容结构。
  • 任务查询:支持通过 Task ID 手动查看图片任务本地状态和视频任务远端状态。
  • 平台配置:Geek Al 为当前主接入平台,柏拉图配置保留用于兼容旧逻辑。

当前接入说明

Geek Al

  • 聊天接口:/v1/chat/completions
  • 生图接口:/v1/images/generations
  • 视频接口:/v1/videos
  • 视频查询:/v1/videos/{id}

生图任务模式

当前 Geek Al 的 OpenAI/GPT 图片接口返回的是 data[].url 或图片数据,不提供远端图片 task_id 查询端点。

因此项目中的生图实现采用的是:

  • 应用本地立即生成一个 geek_image_* taskId
  • 通过 WorkManager 在后台执行实际生图请求
  • 完成后把图片保存到本地并更新 Room 历史记录

也就是说,图片任务查询是“本地异步任务状态”,不是 Geek Al 远端图片任务轮询。

主要功能

1. 创作

  • 文生图
  • 图生图
  • 历史记录保存
  • 本地图片落盘

2. 视频

  • 文生视频
  • 任务提交后后台轮询
  • 视频结果下载与保存
  • Task ID 手动查询

3. 对话

  • 流式/非流式聊天
  • 聊天模型与聊天生图模型分离配置
  • 支持扩展字段,例如 top_ptoolsresponse_formatmodalitiesaudio

4. 设置

  • Geek Al Base URL / API Key / 生图模型 / 聊天模型 / 视频模型
  • 柏拉图 Base URL / API Key / 模型配置保留
  • 系统提示词配置

技术栈

  • Kotlin 2.0.0
  • Android Gradle Plugin 8.13.2
  • Jetpack Compose + Material 3
  • Navigation Compose
  • Hilt
  • Room
  • DataStore Preferences
  • WorkManager
  • Retrofit 2.11.0
  • OkHttp 4.12.0
  • Gson
  • Coil
  • Media3 ExoPlayer

环境要求

  • JDK 17
  • Android SDK 35
  • minSdk 26
  • targetSdk 35
  • Android Studio 最新稳定版或已安装本地 Gradle 的开发环境

项目结构

app/src/main/java/com/bltcy/aiart/
├─ api/        # Retrofit 接口与请求/响应模型
├─ data/       # Repository、Room、DataStore、资源保存逻辑
├─ di/         # Hilt 依赖注入
├─ ui/         # 导航与 Compose 界面
└─ worker/     # WorkManager 后台任务

快速开始

1. 克隆项目

git clone https://github.com/bingxinv5/DrawingsoftwareAPP.git
cd DrawingsoftwareAPP

2. 配置 Android 开发环境

确保本机已安装:

  • Android Studio
  • Android SDK
  • JDK 17

本项目不会提交 local.properties,请在本地生成或由 Android Studio 自动创建。

3. 打开并同步项目

推荐直接使用 Android Studio 打开项目并执行 Gradle Sync。

4. 配置 API

启动应用后,进入设置页填写:

  • Geek Al Base URL
  • Geek Al API Key
  • Geek Al 生图模型
  • Geek Al 聊天模型
  • Geek Al 聊天生图模型
  • Geek Al 视频模型

注意:默认 Base URL 为 https://api.openai.com/,实际使用时请改成你自己的 Geek Al 或中转平台地址。

5. 运行应用

可直接在 Android Studio 中运行到真机或模拟器。

如果你本地没有 gradlew / gradlew.bat,可以使用已安装的 Gradle 执行构建,例如:

gradle assembleDebug

已验证的构建信息

当前工程已在以下条件下完成过构建验证:

  • Java 17
  • compileSdk 35
  • 本地 Gradle 8.13
  • assembleDebug 构建通过

配置与数据说明

  • API 配置通过 DataStore 保存在本地设备中。
  • 图片和视频历史通过 Room 持久化保存。
  • 图片/视频资源会保存到本地媒体库。
  • local.properties.gradle/build/.idea/ 等本地文件和构建产物已通过 .gitignore 排除。

当前已知限制

  • Geek Al 的 GPT 图片接口没有远端图片任务查询端点,因此图片任务追踪是本地异步状态,不是远端轮询。
  • 视频相关图片参考字段当前依赖上游接口兼容性,不同平台的 URL / data URI 支持情况可能不同。
  • 工程当前仓库未包含 Gradle Wrapper 启动脚本时,需要本机自行提供 Gradle 环境或使用 Android Studio。

后续可扩展方向

  • 增加 README 截图或演示 GIF
  • 补充接口配置示例
  • 新增发布说明与版本日志
  • 为公开仓库补充 LICENSE

仓库简介

AI 第三方 API 接入聊天、生图、视频功能的 Android 应用示例工程。

About

AI第三方API接聊天、生图、视频功能

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors