tomo2chin2 commited on
Commit
5771837
·
verified ·
1 Parent(s): 2521103

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -9
app.py CHANGED
@@ -7,7 +7,7 @@ import gradio as gr
7
  from fastapi import FastAPI, HTTPException
8
  from fastapi.middleware.cors import CORSMiddleware
9
  from pydantic import BaseModel, HttpUrl
10
- from typing import Optional
11
  import requests
12
  import tempfile
13
  import os
@@ -51,10 +51,10 @@ class VideoResponse(BaseModel):
51
 
52
  # V2.2: スライドデータ→音声付き動画変換モデル(history: String型対応)
53
  class SlideDataToVideoRequest(BaseModel):
54
- """スライドデータ→音声付き動画変換リクエスト(V2.2)"""
55
- slide_data: str # 14枚のスライド構造 - JSON文字列
56
- pdf_url: str # GASが生成したPDF URL
57
- history: str # 6件の元イベント(年号・語呂合わせ・サマリー)- JSON文字列 # 6件の元イベント(年号・語呂合わせ・サマリー)- JSON文字列
58
 
59
  class AudioInfo(BaseModel):
60
  """音声情報"""
@@ -631,9 +631,9 @@ def create_video_with_audio_from_slides(
631
 
632
 
633
  def create_video_with_audio_from_slides_v2(
634
- slide_data: str,
635
  pdf_url: str,
636
- history: str,
637
  gemini_token: str,
638
  progress_callback=None
639
  ) -> tuple:
@@ -1214,9 +1214,12 @@ async def slidedata_to_video(request: SlideDataToVideoRequest):
1214
  )
1215
 
1216
  try:
1217
- logger.info(f"API リクエスト受信(V2.2)")
 
 
 
1218
 
1219
- # 動画生成(V2.2完全版)
1220
  video_url, page2_image_url, audio_info_list = create_video_with_audio_from_slides_v2(
1221
  slide_data=request.slide_data,
1222
  pdf_url=request.pdf_url,
 
7
  from fastapi import FastAPI, HTTPException
8
  from fastapi.middleware.cors import CORSMiddleware
9
  from pydantic import BaseModel, HttpUrl
10
+ from typing import Optional, Union
11
  import requests
12
  import tempfile
13
  import os
 
51
 
52
  # V2.2: スライドデータ→音声付き動画変換モデル(history: String型対応)
53
  class SlideDataToVideoRequest(BaseModel):
54
+ """スライドデータ→音声付き動画変換リクエスト(V2.3 - Dify list型対応)"""
55
+ slide_data: Union[str, list] # JSON文字列 or list(Difyからの直接配列も受付)
56
+ pdf_url: str # GASが生成したPDF URL
57
+ history: Union[str, list] # JSON文字列 or list(Difyからの直接配列も受付) # 6件の元イベント(年号・語呂合わせ・サマリー)- JSON文字列
58
 
59
  class AudioInfo(BaseModel):
60
  """音声情報"""
 
631
 
632
 
633
  def create_video_with_audio_from_slides_v2(
634
+ slide_data: Union[str, list],
635
  pdf_url: str,
636
+ history: Union[str, list],
637
  gemini_token: str,
638
  progress_callback=None
639
  ) -> tuple:
 
1214
  )
1215
 
1216
  try:
1217
+ logger.info(f"API リクエスト受信(V2.3 - Dify list型対応)")
1218
+ logger.info(f" slide_data type: {type(request.slide_data).__name__}")
1219
+ logger.info(f" history type: {type(request.history).__name__}")
1220
+ logger.info(f" pdf_url: {request.pdf_url[:50]}...")
1221
 
1222
+ # 動画生成(V2.3完全版)
1223
  video_url, page2_image_url, audio_info_list = create_video_with_audio_from_slides_v2(
1224
  slide_data=request.slide_data,
1225
  pdf_url=request.pdf_url,