jbilcke-hf HF staff commited on
Commit
74bfab8
β€’
1 Parent(s): 1c6f9de

use the .env.local file

Browse files
.env.sample ADDED
@@ -0,0 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ #--------------------- GENERATION CONFIGURATION -------------------
3
+ # if deployed to Hugging Face (with persistent storage enabled)
4
+ VC_STORAGE_PATH="/data/"
5
+
6
+ # for a local usage on your dev machine
7
+ #VC_STORAGE_PATH="./sandbox"
8
+
9
+ #--------------------- AUTH SECRETS AND ACCESS TOKENS -------------
10
+ # The access token required to send some queries to VideoChain
11
+ VC_SECRET_ACCESS_TOKEN="<USE YOUR OWN>"
12
+
13
+ # The access token required to send queries to some sub-servers
14
+ VC_MICROSERVICE_SECRET_TOKEN="<USE YOUR OWN>"
15
+
16
+ # OpenAI API key used to call OpenAI API services
17
+ VC_OPENAI_API_KEY="<USE YOUR OWN>"
18
+
19
+ # Hugging Face API key used to call Hugging Face spaces
20
+ VC_HF_API_TOKEN="<USE YOUR OWN>"
21
+
22
+ #--------------------- LLM INFERENCE SERVERS ----------------------
23
+ VC_INFERENCE_ENDPOINT_URL="<USE YOUR OWN>"
24
+
25
+ #--------------------- SDXL INFERENCE SERVERS ---------------------
26
+ VC_SDXL_SPACE_API_URL_1="https://jbilcke-hf-image-server-1.hf.space"
27
+ VC_SDXL_SPACE_API_URL_2="https://jbilcke-hf-image-server-2.hf.space"
28
+ VC_SDXL_SPACE_API_URL_3="https://jbilcke-hf-image-server-3.hf.space"
29
+ VC_SDXL_SPACE_API_URL_4="https://jbilcke-hf-image-server-4.hf.space"
30
+ VC_SDXL_SPACE_API_URL_5="https://jbilcke-hf-image-server-5.hf.space"
31
+ VC_SDXL_SPACE_API_URL_6="https://jbilcke-hf-image-server-6.hf.space"
32
+ VC_SDXL_SPACE_API_URL_7="https://jbilcke-hf-image-server-7.hf.space"
33
+ VC_SDXL_SPACE_API_URL_8="https://jbilcke-hf-image-server-8.hf.space"
34
+ VC_SDXL_SPACE_API_URL_9="https://jbilcke-hf-image-server-9.hf.space"
35
+ VC_SDXL_SPACE_API_URL_10="https://jbilcke-hf-image-server-10.hf.space"
36
+ VC_SDXL_SPACE_API_URL_11="https://jbilcke-hf-image-server-11.hf.space"
37
+ VC_SDXL_SPACE_API_URL_12="https://jbilcke-hf-image-server-12.hf.space"
38
+ VC_SDXL_SPACE_API_URL_13="https://jbilcke-hf-image-server-13.hf.space"
39
+ VC_SDXL_SPACE_API_URL_14="https://jbilcke-hf-image-server-14.hf.space"
40
+ VC_SDXL_SPACE_API_URL_15="https://jbilcke-hf-image-server-15.hf.space"
41
+ VC_SDXL_SPACE_API_URL_16="https://jbilcke-hf-image-server-16.hf.space"
42
+ VC_SDXL_SPACE_API_URL_17="https://jbilcke-hf-image-server-17.hf.space"
43
+ VC_SDXL_SPACE_API_URL_18="https://jbilcke-hf-image-server-18.hf.space"
44
+
45
+ #----------------- ZEROSCOPE INFERENCE SERVERS -------------------
46
+ VC_ZEROSCOPE_SPACE_API_URL_1="https://jbilcke-hf-video-server-1.hf.space"
47
+ VC_ZEROSCOPE_SPACE_API_URL_2="https://jbilcke-hf-video-server-2.hf.space"
48
+ VC_ZEROSCOPE_SPACE_API_URL_3="https://jbilcke-hf-video-server-3.hf.space"
49
+ VC_ZEROSCOPE_SPACE_API_URL_4="https://jbilcke-hf-video-server-4.hf.space"
50
+
51
+ #----------------- HOTSHOT-XL INFERENCE SERVERS -------------------
52
+ VC_HOTSHOT_XL_GRADIO_SPACE_API_URL_1="https://jbilcke-hf-hotshot-xl-server-1.hf.space"
53
+ VC_HOTSHOT_XL_GRADIO_SPACE_API_URL_2="https://jbilcke-hf-hotshot-xl-server-2.hf.space"
54
+ VC_HOTSHOT_XL_GRADIO_SPACE_API_URL_3="https://jbilcke-hf-hotshot-xl-server-3.hf.space"
55
+ VC_HOTSHOT_XL_GRADIO_SPACE_API_URL_4="https://jbilcke-hf-hotshot-xl-server-4.hf.space"
56
+ VC_HOTSHOT_XL_GRADIO_SPACE_API_URL_5="https://jbilcke-hf-hotshot-xl-server-5.hf.space"
57
+ VC_HOTSHOT_XL_GRADIO_SPACE_API_URL_6="https://jbilcke-hf-hotshot-xl-server-6.hf.space"
58
+ VC_HOTSHOT_XL_GRADIO_SPACE_API_URL_7="https://jbilcke-hf-hotshot-xl-server-7.hf.space"
59
+ VC_HOTSHOT_XL_GRADIO_SPACE_API_URL_8="https://jbilcke-hf-hotshot-xl-server-8.hf.space"
60
+
61
+
62
+ #----------------- HOTSHOT-XL REPLICATE CONFIG --------------------
63
+ VC_HOTSHOT_XL_REPLICATE_MODEL="cloneofsimo/hotshot-xl-lora-controlnet"
64
+ VC_HOTSHOT_XL_REPLICATE_MODEL_VERSION="c447ef9fc621af091e2c06d08fd2a22d9f5906389a2f8103c851a2f7cf9c4e63"
65
+
66
+ #----------------- FRAME SEGMENTATION SERVERS ---------------------
67
+ VC_SEGMENTATION_MODULE_SPACE_API_URL_1="https://jbilcke-hf-segmentation-server-1.hf.space"
68
+ VC_SEGMENTATION_MODULE_SPACE_API_URL_2="https://jbilcke-hf-segmentation-server-2.hf.space"
69
+ VC_SEGMENTATION_MODULE_SPACE_API_URL_3="https://jbilcke-hf-segmentation-server-3.hf.space"
70
+
71
+ # obsolete:
72
+ VC_SEGMENTATION_MODULE_SPACE_API_URL="https://jbilcke-hf-image-segmentation.hf.space"
73
+
74
+ #----------------- PANORAMA GENERATION SERVERS -------------------
75
+ VC_SDXL_360_SPACE_API_URL_1="https://jbilcke-hf-360-server-1.hf.space"
76
+
77
+ #----------------- IMAGE UPSCALING SERVERS -----------------------
78
+ VC_UPSCALING_SPACE_API_URL_1="https://jbilcke-hf-upscaling-server-1.hf.space"
79
+ VC_UPSCALING_SPACE_API_URL_2="https://jbilcke-hf-upscaling-server-2.hf.space"
80
+ VC_UPSCALING_SPACE_API_URL_3="https://jbilcke-hf-upscaling-server-3.hf.space"
81
+ VC_UPSCALING_SPACE_API_URL_4="https://jbilcke-hf-upscaling-server-4.hf.space"
82
+
83
+ #----------------- VIDEO UPSCALING SERVERS -----------------------
84
+ VC_VIDEO_UPSCALE_SPACE_API_URL_1="https://jbilcke-hf-video-upscaling-server-1.hf.space"
85
+
86
+ #----------------- VIDEO INTERPOLATION (FILM) SERVERS -------------------
87
+ VC_VIDEO_INTERPOLATION_SPACE_API_URL="https://jbilcke-hf-video-frame-interpolation.hf.space"
88
+
89
+ #----------------- VIDEO INTERPOLATION (ST-MFNET) CONFIG -------------------
90
+ VC_VIDEO_INTERPOLATION_STMFNET_REPLICATE_MODEL="hzsxkib/st-mfnet"
91
+ VC_VIDEO_INTERPOLATION_STMFNET_REPLICATE_MODEL_VERSION="faa7693430b0a4ac95d1b8e25165673c1d7a7263537a7c4bb9be82a3e2d130fb"
92
+
93
+ #----------------- AUDIO GENERATION SERVERS ----------------------
94
+ VC_AUDIO_GENERATION_SPACE_API_URL="https://jbilcke-hf-audioldm-text-to-audio-generation.hf.space"
95
+
96
+ #----------------- IMAGE ANALYSIS SERVERS ----------------------
97
+ VC_ANALYSIS_SPACE_API_URL="https://huggingfacem4-idefics-playground.hf.space"
98
+
99
+ #----------------- SPEECH TO TEXT SERVERS ----------------------
100
+ VC_SPEECH_TO_TEXT_SPACE_API_URL_1="https://jbilcke-hf-speech-recognition-server-1.hf.space"
101
+
.gitignore CHANGED
@@ -5,4 +5,5 @@ node_modules
5
  .venv
6
  *.mp4
7
  sandbox
8
- scripts
 
 
5
  .venv
6
  *.mp4
7
  sandbox
8
+ scripts
9
+ .env.local
package-lock.json CHANGED
@@ -16,6 +16,7 @@
16
  "@types/express": "^4.17.17",
17
  "@types/ffmpeg-concat": "^1.1.2",
18
  "@types/uuid": "^9.0.2",
 
19
  "eventsource-parser": "^1.0.0",
20
  "express": "^4.18.2",
21
  "ffmpeg-concat": "^1.3.0",
@@ -1474,6 +1475,17 @@
1474
  "node": ">=0.3.1"
1475
  }
1476
  },
 
 
 
 
 
 
 
 
 
 
 
1477
  "node_modules/dup": {
1478
  "version": "1.0.0",
1479
  "resolved": "https://registry.npmjs.org/dup/-/dup-1.0.0.tgz",
 
16
  "@types/express": "^4.17.17",
17
  "@types/ffmpeg-concat": "^1.1.2",
18
  "@types/uuid": "^9.0.2",
19
+ "dotenv": "^16.3.1",
20
  "eventsource-parser": "^1.0.0",
21
  "express": "^4.18.2",
22
  "ffmpeg-concat": "^1.3.0",
 
1475
  "node": ">=0.3.1"
1476
  }
1477
  },
1478
+ "node_modules/dotenv": {
1479
+ "version": "16.3.1",
1480
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz",
1481
+ "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==",
1482
+ "engines": {
1483
+ "node": ">=12"
1484
+ },
1485
+ "funding": {
1486
+ "url": "https://github.com/motdotla/dotenv?sponsor=1"
1487
+ }
1488
+ },
1489
  "node_modules/dup": {
1490
  "version": "1.0.0",
1491
  "resolved": "https://registry.npmjs.org/dup/-/dup-1.0.0.tgz",
package.json CHANGED
@@ -23,6 +23,7 @@
23
  "@types/express": "^4.17.17",
24
  "@types/ffmpeg-concat": "^1.1.2",
25
  "@types/uuid": "^9.0.2",
 
26
  "eventsource-parser": "^1.0.0",
27
  "express": "^4.18.2",
28
  "ffmpeg-concat": "^1.3.0",
 
23
  "@types/express": "^4.17.17",
24
  "@types/ffmpeg-concat": "^1.1.2",
25
  "@types/uuid": "^9.0.2",
26
+ "dotenv": "^16.3.1",
27
  "eventsource-parser": "^1.0.0",
28
  "express": "^4.18.2",
29
  "ffmpeg-concat": "^1.3.0",
src/index.mts CHANGED
@@ -3,6 +3,11 @@ import path from "node:path"
3
 
4
  import { validate as uuidValidate } from "uuid"
5
  import express from "express"
 
 
 
 
 
6
  import { Video, VideoStatus, VideoAPIRequest, RenderRequest, RenderedScene, ImageAnalysisRequest, ImageAnalysisResponse, SoundAnalysisResponse, SoundAnalysisRequest } from "./types.mts"
7
 
8
  import { parseVideoRequest } from "./utils/requests/parseVideoRequest.mts"
 
3
 
4
  import { validate as uuidValidate } from "uuid"
5
  import express from "express"
6
+
7
+ import dotenv from "dotenv"
8
+
9
+ dotenv.config({ path: ".env.local" })
10
+
11
  import { Video, VideoStatus, VideoAPIRequest, RenderRequest, RenderedScene, ImageAnalysisRequest, ImageAnalysisResponse, SoundAnalysisResponse, SoundAnalysisRequest } from "./types.mts"
12
 
13
  import { parseVideoRequest } from "./utils/requests/parseVideoRequest.mts"
src/providers/video-generation/generateVideoWithHotshotGradioAPI.mts CHANGED
@@ -7,6 +7,13 @@ import { generateSeed } from "../../utils/misc/generateSeed.mts"
7
  // we don't use replicas yet, because it ain't easy to get their hostname
8
  const instances: string[] = [
9
  `${process.env.VC_HOTSHOT_XL_GRADIO_SPACE_API_URL_1 || ""}`,
 
 
 
 
 
 
 
10
  ].filter(instance => instance?.length > 0)
11
 
12
  const secretToken = `${process.env.VC_MICROSERVICE_SECRET_TOKEN || ""}`
 
7
  // we don't use replicas yet, because it ain't easy to get their hostname
8
  const instances: string[] = [
9
  `${process.env.VC_HOTSHOT_XL_GRADIO_SPACE_API_URL_1 || ""}`,
10
+ //`${process.env.VC_HOTSHOT_XL_GRADIO_SPACE_API_URL_2 || ""}`,
11
+ //`${process.env.VC_HOTSHOT_XL_GRADIO_SPACE_API_URL_3 || ""}`,
12
+ //`${process.env.VC_HOTSHOT_XL_GRADIO_SPACE_API_URL_4 || ""}`,
13
+ //`${process.env.VC_HOTSHOT_XL_GRADIO_SPACE_API_URL_5 || ""}`,
14
+ //`${process.env.VC_HOTSHOT_XL_GRADIO_SPACE_API_URL_6 || ""}`,
15
+ //`${process.env.VC_HOTSHOT_XL_GRADIO_SPACE_API_URL_7 || ""}`,
16
+ //`${process.env.VC_HOTSHOT_XL_GRADIO_SPACE_API_URL_8 || ""}`,
17
  ].filter(instance => instance?.length > 0)
18
 
19
  const secretToken = `${process.env.VC_MICROSERVICE_SECRET_TOKEN || ""}`
src/providers/video-generation/generateVideoWithHotshotReplicate.mts CHANGED
@@ -8,8 +8,8 @@ import { getNegativePrompt, getPositivePrompt } from "./defaultPrompts.mts"
8
  import { VideoGenerationOptions } from "./types.mts"
9
 
10
  const replicateToken = `${process.env.AUTH_REPLICATE_API_TOKEN || ""}`
11
- const replicateModel = `${process.env.HOTSHOT_XL_REPLICATE_MODEL || ""}`
12
- const replicateModelVersion = `${process.env.HOTSHOT_XL_REPLICATE_MODEL_VERSION || ""}`
13
 
14
  if (!replicateToken) {
15
  throw new Error(`you need to configure your AUTH_REPLICATE_API_TOKEN`)
@@ -49,11 +49,11 @@ export async function generateVideoWithHotshotReplicate({
49
  }
50
 
51
  if (!replicateModel) {
52
- throw new Error(`you need to configure your HOTSHOT_XL_REPLICATE_MODEL`)
53
  }
54
 
55
  if (!replicateModelVersion) {
56
- throw new Error(`you need to configure your HOTSHOT_XL_REPLICATE_MODEL_VERSION`)
57
  }
58
 
59
  // pimp the prompt
 
8
  import { VideoGenerationOptions } from "./types.mts"
9
 
10
  const replicateToken = `${process.env.AUTH_REPLICATE_API_TOKEN || ""}`
11
+ const replicateModel = `${process.env.VC_HOTSHOT_XL_REPLICATE_MODEL || ""}`
12
+ const replicateModelVersion = `${process.env.VC_HOTSHOT_XL_REPLICATE_MODEL_VERSION || ""}`
13
 
14
  if (!replicateToken) {
15
  throw new Error(`you need to configure your AUTH_REPLICATE_API_TOKEN`)
 
49
  }
50
 
51
  if (!replicateModel) {
52
+ throw new Error(`you need to configure your VC_HOTSHOT_XL_REPLICATE_MODEL`)
53
  }
54
 
55
  if (!replicateModelVersion) {
56
+ throw new Error(`you need to configure your VC_HOTSHOT_XL_REPLICATE_MODEL_VERSION`)
57
  }
58
 
59
  // pimp the prompt
src/providers/video-interpolation/interpolateVideoWithReplicate.mts CHANGED
@@ -9,8 +9,8 @@ import Replicate from "replicate"
9
  import { sleep } from "../../utils/misc/sleep.mts"
10
 
11
  const replicateToken = `${process.env.AUTH_REPLICATE_API_TOKEN || ""}`
12
- const replicateModel = `${process.env.STMFNET_REPLICATE_MODEL || ""}`
13
- const replicateModelVersion = `${process.env.STMFNET_REPLICATE_MODEL_VERSION || ""}`
14
 
15
  if (!replicateToken) {
16
  throw new Error(`you need to configure your AUTH_REPLICATE_API_TOKEN`)
@@ -45,11 +45,11 @@ export async function interpolateVideoWithReplicate({
45
  }
46
 
47
  if (!replicateModel) {
48
- throw new Error(`you need to configure your STMFNET_REPLICATE_MODEL`)
49
  }
50
 
51
  if (!replicateModelVersion) {
52
- throw new Error(`you need to configure your STMFNET_REPLICATE_MODEL_VERSION`)
53
  }
54
 
55
  // for params and doc see https://replicate.com/zsxkib/st-mfnet
 
9
  import { sleep } from "../../utils/misc/sleep.mts"
10
 
11
  const replicateToken = `${process.env.AUTH_REPLICATE_API_TOKEN || ""}`
12
+ const replicateModel = `${process.env.VC_VIDEO_INTERPOLATION_STMFNET_REPLICATE_MODEL || ""}`
13
+ const replicateModelVersion = `${process.env.VC_VIDEO_INTERPOLATION_STMFNET_REPLICATE_MODEL_VERSION || ""}`
14
 
15
  if (!replicateToken) {
16
  throw new Error(`you need to configure your AUTH_REPLICATE_API_TOKEN`)
 
45
  }
46
 
47
  if (!replicateModel) {
48
+ throw new Error(`you need to configure your VC_VIDEO_INTERPOLATION_STMFNET_REPLICATE_MODEL`)
49
  }
50
 
51
  if (!replicateModelVersion) {
52
+ throw new Error(`you need to configure your VC_VIDEO_INTERPOLATION_STMFNET_REPLICATE_MODEL_VERSION`)
53
  }
54
 
55
  // for params and doc see https://replicate.com/zsxkib/st-mfnet