feat(core): standalone image-gen endpoint + api.ts methods (profile/password/avatar/generate-image)

- POST /api/ai/generate-image/ — project-less image generation (AITask.project nullable, no schema change),
  reuses VolcanoArk image_generation + credit reserve/charge; modes image/model/cover.
  Verified: manage.py check clean; 2 active IMAGE models present (doubao-seedream-4.5/5.0).
  (Real generation calls Volcano API + charges credit — not yet live-tested to avoid spend.)
- api.ts: updateProfile / changePassword / uploadAvatar / generateImage

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
seaislee1209
2026-06-05 15:51:36 +08:00
co-authored by Claude Opus 4.8
parent aad9bd683b
commit a8f4608d10
4 changed files with 115 additions and 3 deletions
+5 -2
View File
@@ -1,9 +1,12 @@
from django.urls import path
from rest_framework.routers import DefaultRouter
from .views import AITaskViewSet, ModelConfigViewSet
from .views import AITaskViewSet, GenerateImageView, ModelConfigViewSet
router = DefaultRouter()
router.register("tasks", AITaskViewSet, basename="ai-task")
router.register("models", ModelConfigViewSet, basename="model-config")
urlpatterns = router.urls
urlpatterns = [
path("generate-image/", GenerateImageView.as_view(), name="ai-generate-image"),
] + router.urls