akhaliq HF Staff commited on
Commit
170fe75
·
verified ·
1 Parent(s): 4451595

Update Gradio app with multiple files

Browse files
Files changed (1) hide show
  1. app.py +26 -8
app.py CHANGED
@@ -123,15 +123,29 @@ def simple_generate(prompt: str) -> Optional[str]:
123
 
124
  return video_path
125
 
 
 
 
 
 
 
 
 
 
 
126
  # Build the Gradio interface
127
  with gr.Blocks(title="Sora-2 Text-to-Video Generator", theme=gr.themes.Soft()) as demo:
128
  gr.HTML("""
129
  <div style="text-align: center; margin-bottom: 2rem;">
130
  <h1>🎬 Sora-2 Text-to-Video Generator</h1>
 
131
  <p><a href="https://huggingface.co/spaces/akhaliq/anycoder" target="_blank">Built with anycoder</a></p>
132
  </div>
133
  """)
134
 
 
 
 
135
  prompt_input = gr.Textbox(
136
  label="Enter your prompt",
137
  placeholder="Describe the video you want to create...",
@@ -142,18 +156,22 @@ with gr.Blocks(title="Sora-2 Text-to-Video Generator", theme=gr.themes.Soft()) a
142
 
143
  video_output = gr.Video(label="Generated Video")
144
 
145
- # Event handler
146
  generate_btn.click(
147
- fn=simple_generate,
148
- inputs=prompt_input,
149
- outputs=video_output
 
 
 
150
  )
151
 
152
  # Launch the application
153
  if __name__ == "__main__":
 
 
154
  demo.launch(
155
- show_api=True,
156
- share=False,
157
- server_name="0.0.0.0",
158
- server_port=7860
159
  )
 
123
 
124
  return video_path
125
 
126
+ def generate_with_auth(prompt: str, profile: gr.OAuthProfile | None) -> Optional[str]:
127
+ """
128
+ Wrapper function that checks if user is logged in before generating video.
129
+ """
130
+ if profile is None:
131
+ raise gr.Error("Click Sign in with Hugging Face button to use this app for free")
132
+
133
+ # User is logged in, proceed with video generation
134
+ return simple_generate(prompt)
135
+
136
  # Build the Gradio interface
137
  with gr.Blocks(title="Sora-2 Text-to-Video Generator", theme=gr.themes.Soft()) as demo:
138
  gr.HTML("""
139
  <div style="text-align: center; margin-bottom: 2rem;">
140
  <h1>🎬 Sora-2 Text-to-Video Generator</h1>
141
+ <p style='color: orange;'>⚠️ You must Sign in with Hugging Face using the button to use this app.</p>
142
  <p><a href="https://huggingface.co/spaces/akhaliq/anycoder" target="_blank">Built with anycoder</a></p>
143
  </div>
144
  """)
145
 
146
+ # Add login button - required for OAuth
147
+ gr.LoginButton()
148
+
149
  prompt_input = gr.Textbox(
150
  label="Enter your prompt",
151
  placeholder="Describe the video you want to create...",
 
156
 
157
  video_output = gr.Video(label="Generated Video")
158
 
159
+ # Event handler - note the function now takes OAuthProfile
160
  generate_btn.click(
161
+ fn=generate_with_auth,
162
+ inputs=[prompt_input],
163
+ outputs=video_output,
164
+ queue=False,
165
+ api_name=False,
166
+ show_api=False,
167
  )
168
 
169
  # Launch the application
170
  if __name__ == "__main__":
171
+ # Launch without special auth parameters
172
+ # OAuth is enabled via Space metadata (hf_oauth: true in README.md)
173
  demo.launch(
174
+ show_api=False,
175
+ enable_monitoring=False,
176
+ quiet=True,
 
177
  )