yufengzhu commited on
Commit
b9d2790
1 Parent(s): 3edbbcb

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +112 -0
app.py ADDED
@@ -0,0 +1,112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python
2
+
3
+ from __future__ import annotations
4
+
5
+ import gradio as gr
6
+
7
+ # from model import AppModel
8
+
9
+ MAINTENANCE_NOTICE='Sorry, due to computing resources issues, this space is under maintenance, and will be restored as soon as possible. '
10
+
11
+ DESCRIPTION = '''# <a href="https://github.com/THUDM/CogVideo">CogVideo</a>
12
+
13
+ Currently, this Space only supports the first stage of the CogVideo pipeline due to hardware limitations.
14
+
15
+ The model accepts only Chinese as input.
16
+ By checking the "Translate to Chinese" checkbox, the results of English to Chinese translation with [this Space](https://huggingface.co/spaces/chinhon/translation_eng2ch) will be used as input.
17
+ Since the translation model may mistranslate, you may want to use the translation results from other translation services.
18
+ '''
19
+ NOTES = 'This app is adapted from <a href="https://github.com/hysts/CogVideo_demo">https://github.com/hysts/CogVideo_demo</a>. It would be recommended to use the repo if you want to run the app yourself.'
20
+ FOOTER = '<img id="visitor-badge" alt="visitor badge" src="https://visitor-badge.glitch.me/badge?page_id=THUDM.CogVideo" />'
21
+
22
+ import json
23
+ import requests
24
+
25
+ def post(
26
+ text,
27
+ translate,
28
+ seed,
29
+ only_first_stage,
30
+ image_prompt
31
+ ):
32
+ url = 'https://ccb8is4fqtofrtdsfjebg.ml-platform-cn-beijing.volces.com/devinstance/di-20221130120908-bhpxq/proxy/6201/cogvideo-s1'
33
+ headers = {
34
+ "Content-Type": "application/json; charset=UTF-8",
35
+ "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36",
36
+ }
37
+
38
+ data = json.dumps({'text': text,
39
+ 'translate': translate,
40
+ 'seed': seed,
41
+ 'only_first_stage': only_first_stage,
42
+ 'image_prompt': image_prompt
43
+ })
44
+ r = requests.post(url, data, headers=headers)
45
+
46
+ translated_text = r.json()['data']['translated_text']
47
+ result_video = r.json()['data']['result_video']
48
+ return translated_text, result_video
49
+
50
+ def main():
51
+ only_first_stage = True
52
+ # model = AppModel(only_first_stage)
53
+
54
+ with gr.Blocks(css='style.css') as demo:
55
+ # gr.Markdown(MAINTENANCE_NOTICE)
56
+
57
+ gr.Markdown(DESCRIPTION)
58
+
59
+ with gr.Row():
60
+ with gr.Column():
61
+ with gr.Group():
62
+ text = gr.Textbox(label='Input Text')
63
+ translate = gr.Checkbox(label='Translate to Chinese',
64
+ value=False)
65
+ seed = gr.Slider(0,
66
+ 100000,
67
+ step=1,
68
+ value=1234,
69
+ label='Seed')
70
+ only_first_stage = gr.Checkbox(
71
+ label='Only First Stage',
72
+ value=only_first_stage,
73
+ visible=not only_first_stage)
74
+ image_prompt = gr.Image(type="filepath",
75
+ label="Image Prompt",
76
+ value=None)
77
+ run_button = gr.Button('Run')
78
+
79
+ with gr.Column():
80
+ with gr.Group():
81
+ translated_text = gr.Textbox(label='Translated Text')
82
+ with gr.Tabs():
83
+ with gr.TabItem('Output (Video)'):
84
+ result_video = gr.Video(show_label=False)
85
+
86
+ # examples = gr.Examples(
87
+ # examples=[['骑滑板的皮卡丘', False, 1234, True,None],
88
+ # ['a cat playing chess', True, 1253, True,None]],
89
+ # fn=model.run_with_translation,
90
+ # inputs=[text, translate, seed, only_first_stage,image_prompt],
91
+ # outputs=[translated_text, result_video],
92
+ # cache_examples=True)
93
+
94
+ gr.Markdown(NOTES)
95
+ gr.Markdown(FOOTER)
96
+ print(gr.__version__)
97
+ run_button.click(fn=post,
98
+ inputs=[
99
+ text,
100
+ translate,
101
+ seed,
102
+ only_first_stage,
103
+ image_prompt
104
+ ],
105
+ outputs=[translated_text, result_video])
106
+ print(gr.__version__)
107
+
108
+ demo.launch()
109
+
110
+
111
+ if __name__ == '__main__':
112
+ main()