jbilcke-hf HF staff commited on
Commit
68cf43c
1 Parent(s): f95b0b5

improvements

Browse files
src/app/agents/ant.ts CHANGED
@@ -18,17 +18,23 @@ const positions = [
18
  "on the ground"
19
  ]
20
 
 
 
 
 
21
  export const agent: Agent = {
22
  title: "Ant",
23
  type: "ant",
24
  simulate: (): Scene => {
25
  const action = pick(actions)
26
  const position = pick(positions)
 
27
 
28
  const prompt = [
29
  `close-up shot of a couple of ants`,
30
  action,
31
  position,
 
32
  `high res`,
33
  `documentary`,
34
  ].join(", ")
@@ -36,6 +42,7 @@ export const agent: Agent = {
36
  return {
37
  action,
38
  position,
 
39
  prompt
40
  }
41
  }
 
18
  "on the ground"
19
  ]
20
 
21
+ const times = [
22
+ "during the day",
23
+ ]
24
+
25
  export const agent: Agent = {
26
  title: "Ant",
27
  type: "ant",
28
  simulate: (): Scene => {
29
  const action = pick(actions)
30
  const position = pick(positions)
31
+ const time = pick(times)
32
 
33
  const prompt = [
34
  `close-up shot of a couple of ants`,
35
  action,
36
  position,
37
+ time,
38
  `high res`,
39
  `documentary`,
40
  ].join(", ")
 
42
  return {
43
  action,
44
  position,
45
+ time,
46
  prompt
47
  }
48
  }
src/app/agents/city.ts ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { pick } from "./pick"
2
+ import { Agent, Scene } from "./types"
3
+
4
+ const actions = [
5
+ "busy pedestrians",
6
+ "busy traffic",
7
+ "typical street life",
8
+ "skyscrapper being constructed",
9
+ "a building is on fire",
10
+ ]
11
+
12
+ const positions = [
13
+ "city center with skyscrappers",
14
+ "city center with a hospital",
15
+ "market area",
16
+ "residential area with small houses",
17
+ "residential area and houses with pools",
18
+ "industrial area with a smoking factory",
19
+ "beachfront area with villas",
20
+ "theme park with one big rollercoaster"
21
+ ]
22
+
23
+ const times = [
24
+ "during the day",
25
+ // "during the night",
26
+ ]
27
+
28
+ export const agent: Agent = {
29
+ title: "City",
30
+ type: "city",
31
+ simulate: (): Scene => {
32
+ const action = pick(actions)
33
+ const position = pick(positions)
34
+ const time = pick(times)
35
+
36
+ const prompt = [
37
+ `static isometrical view of 3D rendered city`,
38
+ action,
39
+ position,
40
+ time,
41
+ `isometric`,
42
+ `game`,
43
+ `high res`,
44
+ ].join(", ")
45
+
46
+ return {
47
+ action,
48
+ position,
49
+ time,
50
+ prompt
51
+ }
52
+ }
53
+ }
src/app/agents/dungeon.ts ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { pick } from "./pick"
2
+ import { Agent, Scene } from "./types"
3
+
4
+ const actions = [
5
+ "not moving",
6
+ "walking in",
7
+ "looking up",
8
+ "looking down",
9
+ "looking left",
10
+ "looking right",
11
+ "looking around"
12
+ ]
13
+
14
+ const positions = [
15
+ "corridor with a beautiful wooden door at the end, wooden floor and stone walls",
16
+ "a beautiful wooden door",
17
+ "beautiful room with stone walls and wooden floor",
18
+ "large ball room with stone pillars, stone floor and red carpet",
19
+ "a cosy room with a fireplace, stone walls and wooden floor",
20
+ "a fireplace with stone walls",
21
+ "a cold dungeon with stone walls",
22
+ "a damp medieval jail cell with stone walls and wooden floor"
23
+ ]
24
+
25
+ const times = [
26
+ "lit through windows",
27
+ "lit through wall-mounted torchs"
28
+ // "poorly lit"
29
+ ]
30
+
31
+ export const agent: Agent = {
32
+ title: "Dungeon",
33
+ type: "dungeon",
34
+ simulate: (): Scene => {
35
+ const action = pick(actions)
36
+ const position = pick(positions)
37
+ const time = pick(times)
38
+
39
+ const prompt = [
40
+ `first-person footage`,
41
+ action,
42
+ position,
43
+ time,
44
+ `medieval`,
45
+ `photography`,
46
+ `documentary`,
47
+ `high res`,
48
+ ].join(", ")
49
+
50
+ return {
51
+ action,
52
+ position,
53
+ time,
54
+ prompt
55
+ }
56
+ }
57
+ }
src/app/agents/fish.ts CHANGED
@@ -21,24 +21,32 @@ const positions = [
21
  "hiding in the coral"
22
  ]
23
 
 
 
 
 
24
  export const agent: Agent = {
25
  title: "Fish",
26
  type: "fish",
27
  simulate: (): Scene => {
28
  const action = pick(actions)
29
  const position = pick(positions)
 
30
 
31
  const prompt = [
32
  `medium shot of a clownfish`,
33
  action,
34
  position,
 
35
  `in front of yellow coral`,
36
- `high res underwater footage`,
 
37
  ].join(", ")
38
 
39
  return {
40
  action,
41
  position,
 
42
  prompt
43
  }
44
  }
 
21
  "hiding in the coral"
22
  ]
23
 
24
+ const times = [
25
+ "during the day",
26
+ ]
27
+
28
  export const agent: Agent = {
29
  title: "Fish",
30
  type: "fish",
31
  simulate: (): Scene => {
32
  const action = pick(actions)
33
  const position = pick(positions)
34
+ const time = pick(times)
35
 
36
  const prompt = [
37
  `medium shot of a clownfish`,
38
  action,
39
  position,
40
+ time,
41
  `in front of yellow coral`,
42
+ `high res`,
43
+ `underwater footage`,
44
  ].join(", ")
45
 
46
  return {
47
  action,
48
  position,
49
+ time,
50
  prompt
51
  }
52
  }
src/app/agents/fox.ts CHANGED
@@ -18,6 +18,9 @@ const positions = [
18
  "in front of a bush"
19
  ]
20
 
 
 
 
21
 
22
  export const agent: Agent = {
23
  title: "Fox",
@@ -25,11 +28,13 @@ export const agent: Agent = {
25
  simulate: (): Scene => {
26
  const action = pick(actions)
27
  const position = pick(positions)
 
28
 
29
  const prompt = [
30
  `medium shot of a fox`,
31
  action,
32
  position,
 
33
  `high res`,
34
  `documentary`,
35
  ].join(", ")
@@ -37,6 +42,7 @@ export const agent: Agent = {
37
  return {
38
  action,
39
  position,
 
40
  prompt
41
  }
42
  }
 
18
  "in front of a bush"
19
  ]
20
 
21
+ const times = [
22
+ "during the day",
23
+ ]
24
 
25
  export const agent: Agent = {
26
  title: "Fox",
 
28
  simulate: (): Scene => {
29
  const action = pick(actions)
30
  const position = pick(positions)
31
+ const time = pick(times)
32
 
33
  const prompt = [
34
  `medium shot of a fox`,
35
  action,
36
  position,
37
+ time,
38
  `high res`,
39
  `documentary`,
40
  ].join(", ")
 
42
  return {
43
  action,
44
  position,
45
+ time,
46
  prompt
47
  }
48
  }
src/app/agents/index.ts CHANGED
@@ -4,9 +4,11 @@ import { agent as ant } from "./ant"
4
  import { agent as fish } from "./fish"
5
  import { agent as fox } from "./fox"
6
  import { agent as smith } from "./smith"
 
 
7
 
8
- export const agents = { ant, fish, fox, smith }
9
 
10
- export const defaultAgent: AgentType = "fish"
11
 
12
  export const getAgent = (type?: AgentType) => agents[type || defaultAgent] || agents[defaultAgent]
 
4
  import { agent as fish } from "./fish"
5
  import { agent as fox } from "./fox"
6
  import { agent as smith } from "./smith"
7
+ import { agent as city } from "./city"
8
+ import { agent as dungeon } from "./dungeon"
9
 
10
+ export const agents = { ant, fish, fox, smith, city, dungeon }
11
 
12
+ export const defaultAgent: AgentType = "dungeon"
13
 
14
  export const getAgent = (type?: AgentType) => agents[type || defaultAgent] || agents[defaultAgent]
src/app/agents/smith.ts CHANGED
@@ -17,25 +17,33 @@ const positions = [
17
  "on the sidewalk of a street"
18
  ]
19
 
 
 
 
 
 
20
  export const agent: Agent = {
21
  title: "Smith",
22
  type: "smith",
23
  simulate: (): Scene => {
24
  const action = pick(actions)
25
  const position = pick(positions)
 
26
 
27
  const prompt = [
28
  `static medium shot of Agent Smith from the Matrix`,
29
  `wearing a black costume with black tie and black sunglasses`,
30
  action,
31
  position,
 
32
  `high res`,
33
- `documentary`,
34
  ].join(", ")
35
 
36
  return {
37
  action,
38
  position,
 
39
  prompt
40
  }
41
  }
 
17
  "on the sidewalk of a street"
18
  ]
19
 
20
+ const times = [
21
+ "during the day",
22
+ "during the night",
23
+ ]
24
+
25
  export const agent: Agent = {
26
  title: "Smith",
27
  type: "smith",
28
  simulate: (): Scene => {
29
  const action = pick(actions)
30
  const position = pick(positions)
31
+ const time = pick(times)
32
 
33
  const prompt = [
34
  `static medium shot of Agent Smith from the Matrix`,
35
  `wearing a black costume with black tie and black sunglasses`,
36
  action,
37
  position,
38
+ time,
39
  `high res`,
40
+ `Matrix movie`,
41
  ].join(", ")
42
 
43
  return {
44
  action,
45
  position,
46
+ time,
47
  prompt
48
  }
49
  }
src/app/agents/types.ts CHANGED
@@ -1,8 +1,9 @@
1
- export type AgentType = 'ant' | 'fish' | 'fox' | 'smith'
2
 
3
  export interface Scene {
4
  action: string
5
  position: string
 
6
  prompt: string
7
  }
8
 
 
1
+ export type AgentType = 'ant' | 'fish' | 'fox' | 'smith' | 'city' | 'dungeon'
2
 
3
  export interface Scene {
4
  action: string
5
  position: string
6
+ time: string
7
  prompt: string
8
  }
9
 
src/app/types.ts ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ export interface RenderRequest {
3
+ prompt: string
4
+
5
+ // whether to use video segmentation
6
+ // disabled (default)
7
+ // firstframe: we only analyze the first frame
8
+ // allframes: we analyze all the frames
9
+ segmentation: 'disabled' | 'firstframe' | 'allframes'
10
+
11
+ // segmentation will only be executed if we have a non-empty list of actionnables
12
+ // actionnables are names of things like "chest", "key", "tree", "chair" etc
13
+ actionnables: string[]
14
+
15
+ // note: this is the number of frames for Zeroscope,
16
+ // which is currently configured to only output 3 seconds, so:
17
+ // nbFrames=8 -> 1 sec
18
+ // nbFrames=16 -> 2 sec
19
+ // nbFrames=24 -> 3 sec
20
+ nbFrames: number // min: 8, max: 24
21
+
22
+ nbSteps: number // min: 1, max: 50
23
+
24
+ seed: number
25
+ }
26
+
27
+ export interface ImageSegment {
28
+ id: number
29
+ box: number[]
30
+ label: string
31
+ score: number
32
+ }
33
+
34
+ export interface RenderResponse {
35
+
36
+ }