Compare commits
4
Commits
pr-21
...
api-key-setup
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a5c55fd44b | ||
|
|
63cb3fcf0d | ||
|
|
e1faa49e25 | ||
|
|
c8c437b495 |
@@ -0,0 +1,216 @@
|
||||
{
|
||||
"id": "80767774-d39b-4f73-a75a-3c1327f92316",
|
||||
"revision": 0,
|
||||
"last_node_id": 94,
|
||||
"last_link_id": 199,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 93,
|
||||
"type": "LoadImage",
|
||||
"pos": [
|
||||
2148.41357421875,
|
||||
-644.6304931640625
|
||||
],
|
||||
"size": [
|
||||
284.00726318359375,
|
||||
497.4951477050781
|
||||
],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"inputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [
|
||||
198
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "MASK",
|
||||
"type": "MASK",
|
||||
"links": null
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "LoadImage"
|
||||
},
|
||||
"widgets_values": [
|
||||
"image (24).png",
|
||||
"image"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 92,
|
||||
"type": "LoadImage",
|
||||
"pos": [
|
||||
1846.3321533203125,
|
||||
-654.7257080078125
|
||||
],
|
||||
"size": [
|
||||
270,
|
||||
510.1016845703125
|
||||
],
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"inputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [
|
||||
197
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "MASK",
|
||||
"type": "MASK",
|
||||
"links": null
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "LoadImage"
|
||||
},
|
||||
"widgets_values": [
|
||||
"image (25).png",
|
||||
"image"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 94,
|
||||
"type": "PreviewImage",
|
||||
"pos": [
|
||||
2907.259765625,
|
||||
-712.0502319335938
|
||||
],
|
||||
"size": [
|
||||
660.7576293945312,
|
||||
723.7353515625
|
||||
],
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 199
|
||||
}
|
||||
],
|
||||
"outputs": [],
|
||||
"properties": {
|
||||
"Node name for S&R": "PreviewImage"
|
||||
},
|
||||
"widgets_values": []
|
||||
},
|
||||
{
|
||||
"id": 91,
|
||||
"type": "FluxProKontextMulti_fal",
|
||||
"pos": [
|
||||
2462.2119140625,
|
||||
-595.9410400390625
|
||||
],
|
||||
"size": [
|
||||
400,
|
||||
364
|
||||
],
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "image_1",
|
||||
"type": "IMAGE",
|
||||
"link": 197
|
||||
},
|
||||
{
|
||||
"name": "image_2",
|
||||
"type": "IMAGE",
|
||||
"link": 198
|
||||
},
|
||||
{
|
||||
"name": "image_3",
|
||||
"shape": 7,
|
||||
"type": "IMAGE",
|
||||
"link": null
|
||||
},
|
||||
{
|
||||
"name": "image_4",
|
||||
"shape": 7,
|
||||
"type": "IMAGE",
|
||||
"link": null
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [
|
||||
199
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "FluxProKontextMulti_fal"
|
||||
},
|
||||
"widgets_values": [
|
||||
"Woman wearing this backpack on her way to jungle",
|
||||
"9:16",
|
||||
false,
|
||||
3.5,
|
||||
1,
|
||||
"2",
|
||||
"jpeg",
|
||||
false,
|
||||
2075416510,
|
||||
"randomize"
|
||||
]
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[
|
||||
197,
|
||||
92,
|
||||
0,
|
||||
91,
|
||||
0,
|
||||
"IMAGE"
|
||||
],
|
||||
[
|
||||
198,
|
||||
93,
|
||||
0,
|
||||
91,
|
||||
1,
|
||||
"IMAGE"
|
||||
],
|
||||
[
|
||||
199,
|
||||
91,
|
||||
0,
|
||||
94,
|
||||
0,
|
||||
"IMAGE"
|
||||
]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"ds": {
|
||||
"scale": 0.863837598531476,
|
||||
"offset": [
|
||||
-1745.427153953069,
|
||||
795.6355480141049
|
||||
]
|
||||
},
|
||||
"frontendVersion": "1.18.10",
|
||||
"ue_links": [],
|
||||
"VHS_latentpreview": false,
|
||||
"VHS_latentpreviewrate": 0,
|
||||
"VHS_MetadataImage": true,
|
||||
"VHS_KeepIntermediate": true
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
@@ -0,0 +1,261 @@
|
||||
{
|
||||
"id": "80767774-d39b-4f73-a75a-3c1327f92316",
|
||||
"revision": 0,
|
||||
"last_node_id": 97,
|
||||
"last_link_id": 202,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 92,
|
||||
"type": "LoadImage",
|
||||
"pos": [
|
||||
1846.3321533203125,
|
||||
-654.7257080078125
|
||||
],
|
||||
"size": [
|
||||
270,
|
||||
510.1016845703125
|
||||
],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"inputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [
|
||||
200
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "MASK",
|
||||
"type": "MASK",
|
||||
"links": null
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "LoadImage"
|
||||
},
|
||||
"widgets_values": [
|
||||
"image (25).png",
|
||||
"image"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 96,
|
||||
"type": "LoadVideoURL",
|
||||
"pos": [
|
||||
2672.1376953125,
|
||||
-645.724609375
|
||||
],
|
||||
"size": [
|
||||
270,
|
||||
266
|
||||
],
|
||||
"flags": {
|
||||
"collapsed": false
|
||||
},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "url",
|
||||
"type": "STRING",
|
||||
"widget": {
|
||||
"name": "url"
|
||||
},
|
||||
"link": 201
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "frames",
|
||||
"type": "IMAGE",
|
||||
"links": [
|
||||
202
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "frame_count",
|
||||
"type": "INT",
|
||||
"links": null
|
||||
},
|
||||
{
|
||||
"name": "video_info",
|
||||
"type": "VHS_VIDEOINFO",
|
||||
"links": null
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "LoadVideoURL"
|
||||
},
|
||||
"widgets_values": [
|
||||
"https://example.com/video.mp4",
|
||||
0,
|
||||
"Disabled",
|
||||
512,
|
||||
512,
|
||||
0,
|
||||
0,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 97,
|
||||
"type": "VHS_VideoCombine",
|
||||
"pos": [
|
||||
2995.218994140625,
|
||||
-646.7775268554688
|
||||
],
|
||||
"size": [
|
||||
215.01171875,
|
||||
670.6875
|
||||
],
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 202
|
||||
},
|
||||
{
|
||||
"name": "audio",
|
||||
"shape": 7,
|
||||
"type": "AUDIO",
|
||||
"link": null
|
||||
},
|
||||
{
|
||||
"name": "meta_batch",
|
||||
"shape": 7,
|
||||
"type": "VHS_BatchManager",
|
||||
"link": null
|
||||
},
|
||||
{
|
||||
"name": "vae",
|
||||
"shape": 7,
|
||||
"type": "VAE",
|
||||
"link": null
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "Filenames",
|
||||
"type": "VHS_FILENAMES",
|
||||
"links": null
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "VHS_VideoCombine"
|
||||
},
|
||||
"widgets_values": {
|
||||
"frame_rate": 25,
|
||||
"loop_count": 0,
|
||||
"filename_prefix": "Veo2",
|
||||
"format": "video/h265-mp4",
|
||||
"pix_fmt": "yuv420p10le",
|
||||
"crf": 22,
|
||||
"save_metadata": false,
|
||||
"pingpong": false,
|
||||
"save_output": true,
|
||||
"videopreview": {
|
||||
"hidden": false,
|
||||
"paused": false,
|
||||
"params": {
|
||||
"filename": "Veo2_00001.mp4",
|
||||
"subfolder": "",
|
||||
"type": "output",
|
||||
"format": "video/h265-mp4",
|
||||
"frame_rate": 25,
|
||||
"workflow": "Veo2_00001.png",
|
||||
"fullpath": "D:\\ComfyUI_windows_portable\\ComfyUI\\output\\Veo2_00001.mp4"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 95,
|
||||
"type": "Veo2ImageToVideo_fal",
|
||||
"pos": [
|
||||
2199.614990234375,
|
||||
-652.0396118164062
|
||||
],
|
||||
"size": [
|
||||
400,
|
||||
200
|
||||
],
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "image",
|
||||
"type": "IMAGE",
|
||||
"link": 200
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "STRING",
|
||||
"type": "STRING",
|
||||
"links": [
|
||||
201
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "Veo2ImageToVideo_fal"
|
||||
},
|
||||
"widgets_values": [
|
||||
"Woman slowly turning",
|
||||
"auto",
|
||||
"5s"
|
||||
]
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[
|
||||
200,
|
||||
92,
|
||||
0,
|
||||
95,
|
||||
0,
|
||||
"IMAGE"
|
||||
],
|
||||
[
|
||||
201,
|
||||
95,
|
||||
0,
|
||||
96,
|
||||
0,
|
||||
"STRING"
|
||||
],
|
||||
[
|
||||
202,
|
||||
96,
|
||||
0,
|
||||
97,
|
||||
0,
|
||||
"IMAGE"
|
||||
]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"ds": {
|
||||
"scale": 0.863837598531476,
|
||||
"offset": [
|
||||
-1694.469448600796,
|
||||
792.8487236845591
|
||||
]
|
||||
},
|
||||
"frontendVersion": "1.18.10",
|
||||
"ue_links": [],
|
||||
"VHS_latentpreview": false,
|
||||
"VHS_latentpreviewrate": 0,
|
||||
"VHS_MetadataImage": true,
|
||||
"VHS_KeepIntermediate": true
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
@@ -1,390 +0,0 @@
|
||||
{
|
||||
"id": "e3b1097d-0ba0-4fb1-b1f9-510d5a9ee4b1",
|
||||
"revision": 0,
|
||||
"last_node_id": 65,
|
||||
"last_link_id": 71,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 23,
|
||||
"type": "LoadImage",
|
||||
"pos": [
|
||||
400,
|
||||
830
|
||||
],
|
||||
"size": [
|
||||
300,
|
||||
370
|
||||
],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"inputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [
|
||||
60,
|
||||
64
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "MASK",
|
||||
"type": "MASK",
|
||||
"links": null
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.32",
|
||||
"Node name for S&R": "LoadImage"
|
||||
},
|
||||
"widgets_values": [
|
||||
"example.png",
|
||||
"image"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 63,
|
||||
"type": "SaveImage",
|
||||
"pos": [
|
||||
1300,
|
||||
1880
|
||||
],
|
||||
"size": [
|
||||
300,
|
||||
370
|
||||
],
|
||||
"flags": {
|
||||
"collapsed": false
|
||||
},
|
||||
"order": 5,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 66
|
||||
}
|
||||
],
|
||||
"outputs": [],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.32"
|
||||
},
|
||||
"widgets_values": [
|
||||
"kontext-sample-t2i"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 62,
|
||||
"type": "SaveImage",
|
||||
"pos": [
|
||||
1310,
|
||||
1330
|
||||
],
|
||||
"size": [
|
||||
300,
|
||||
370
|
||||
],
|
||||
"flags": {},
|
||||
"order": 7,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 65
|
||||
}
|
||||
],
|
||||
"outputs": [],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.32"
|
||||
},
|
||||
"widgets_values": [
|
||||
"kontext-sample-i2i-multi"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 24,
|
||||
"type": "SaveImage",
|
||||
"pos": [
|
||||
1300,
|
||||
830
|
||||
],
|
||||
"size": [
|
||||
300,
|
||||
370
|
||||
],
|
||||
"flags": {},
|
||||
"order": 6,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "images",
|
||||
"type": "IMAGE",
|
||||
"link": 22
|
||||
}
|
||||
],
|
||||
"outputs": [],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.32"
|
||||
},
|
||||
"widgets_values": [
|
||||
"kontext-sample-i2i"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 59,
|
||||
"type": "FluxProKontextMulti_fal",
|
||||
"pos": [
|
||||
800,
|
||||
1330
|
||||
],
|
||||
"size": [
|
||||
400,
|
||||
430
|
||||
],
|
||||
"flags": {},
|
||||
"order": 4,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "image_1",
|
||||
"type": "IMAGE",
|
||||
"link": 64
|
||||
},
|
||||
{
|
||||
"name": "image_2",
|
||||
"type": "IMAGE",
|
||||
"link": 70
|
||||
},
|
||||
{
|
||||
"name": "image_3",
|
||||
"shape": 7,
|
||||
"type": "IMAGE",
|
||||
"link": null
|
||||
},
|
||||
{
|
||||
"name": "image_4",
|
||||
"shape": 7,
|
||||
"type": "IMAGE",
|
||||
"link": null
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [
|
||||
65
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"aux_id": "a-und-b/ComfyUI-fal-API",
|
||||
"ver": "ec8880895d86bb5c720e167585b559e03fcf9024",
|
||||
"Node name for S&R": "FluxProKontextMulti_fal"
|
||||
},
|
||||
"widgets_values": [
|
||||
"",
|
||||
"1:1",
|
||||
false,
|
||||
3.5,
|
||||
1,
|
||||
"2",
|
||||
"jpeg",
|
||||
false,
|
||||
22,
|
||||
"fixed"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 61,
|
||||
"type": "LoadImage",
|
||||
"pos": [
|
||||
400,
|
||||
1350
|
||||
],
|
||||
"size": [
|
||||
300,
|
||||
370
|
||||
],
|
||||
"flags": {},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"inputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [
|
||||
70
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "MASK",
|
||||
"type": "MASK",
|
||||
"links": null
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"cnr_id": "comfy-core",
|
||||
"ver": "0.3.32",
|
||||
"Node name for S&R": "LoadImage"
|
||||
},
|
||||
"widgets_values": [
|
||||
"example.png",
|
||||
"image"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 22,
|
||||
"type": "FluxProKontext_fal",
|
||||
"pos": [
|
||||
800,
|
||||
830
|
||||
],
|
||||
"size": [
|
||||
400,
|
||||
370
|
||||
],
|
||||
"flags": {},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "image",
|
||||
"type": "IMAGE",
|
||||
"link": 60
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [
|
||||
22
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"aux_id": "a-und-b/ComfyUI-fal-API",
|
||||
"ver": "975d555e29c2bec2e8ffa1aa33f5bdc686345024",
|
||||
"Node name for S&R": "FluxProKontext_fal"
|
||||
},
|
||||
"widgets_values": [
|
||||
"make it a 3d render",
|
||||
"1:1",
|
||||
false,
|
||||
1,
|
||||
1,
|
||||
"6",
|
||||
"png",
|
||||
false,
|
||||
41,
|
||||
"fixed"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 60,
|
||||
"type": "FluxProKontextTextToImage_fal",
|
||||
"pos": [
|
||||
800,
|
||||
1880
|
||||
],
|
||||
"size": [
|
||||
400,
|
||||
380
|
||||
],
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "IMAGE",
|
||||
"type": "IMAGE",
|
||||
"links": [
|
||||
66
|
||||
]
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"aux_id": "a-und-b/ComfyUI-fal-API",
|
||||
"ver": "ec8880895d86bb5c720e167585b559e03fcf9024",
|
||||
"Node name for S&R": "FluxProKontextTextToImage_fal"
|
||||
},
|
||||
"widgets_values": [
|
||||
"a childs drawing of grumpy cat",
|
||||
"1:1",
|
||||
false,
|
||||
3.5,
|
||||
1,
|
||||
"2",
|
||||
"jpeg",
|
||||
false,
|
||||
33,
|
||||
"fixed"
|
||||
]
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[
|
||||
22,
|
||||
22,
|
||||
0,
|
||||
24,
|
||||
0,
|
||||
"IMAGE"
|
||||
],
|
||||
[
|
||||
60,
|
||||
23,
|
||||
0,
|
||||
22,
|
||||
0,
|
||||
"IMAGE"
|
||||
],
|
||||
[
|
||||
64,
|
||||
23,
|
||||
0,
|
||||
59,
|
||||
0,
|
||||
"IMAGE"
|
||||
],
|
||||
[
|
||||
65,
|
||||
59,
|
||||
0,
|
||||
62,
|
||||
0,
|
||||
"IMAGE"
|
||||
],
|
||||
[
|
||||
66,
|
||||
60,
|
||||
0,
|
||||
63,
|
||||
0,
|
||||
"IMAGE"
|
||||
],
|
||||
[
|
||||
70,
|
||||
61,
|
||||
0,
|
||||
59,
|
||||
1,
|
||||
"IMAGE"
|
||||
]
|
||||
],
|
||||
"groups": [],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"frontendVersion": "1.18.9"
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
+18
-3
@@ -16,10 +16,25 @@ config = configparser.ConfigParser()
|
||||
config.read(config_path)
|
||||
|
||||
try:
|
||||
fal_key = config['API']['FAL_KEY']
|
||||
os.environ["FAL_KEY"] = fal_key
|
||||
if os.environ.get("FAL_KEY") is not None:
|
||||
print("FAL_KEY found in environment variables")
|
||||
fal_key = os.environ["FAL_KEY"]
|
||||
else:
|
||||
print("FAL_KEY not found in environment variables")
|
||||
fal_key = config['API']['FAL_KEY']
|
||||
print("FAL_KEY found in config.ini")
|
||||
os.environ["FAL_KEY"] = fal_key
|
||||
print("FAL_KEY set in environment variables")
|
||||
|
||||
# Check if FAL key is the default placeholder
|
||||
if fal_key == "<your_fal_api_key_here>":
|
||||
print("WARNING: You are using the default FAL API key placeholder!")
|
||||
print("Please set your actual FAL API key in either:")
|
||||
print("1. The config.ini file under [API] section")
|
||||
print("2. Or as an environment variable named FAL_KEY")
|
||||
print("Get your API key from: https://fal.ai/dashboard/keys")
|
||||
except KeyError:
|
||||
print("Error: FAL_KEY not found in config.ini")
|
||||
print("Error: FAL_KEY not found in config.ini or environment variables")
|
||||
|
||||
# Create the client with API key
|
||||
fal_client = SyncClient(key=fal_key)
|
||||
|
||||
+18
-3
@@ -10,10 +10,25 @@ config = configparser.ConfigParser()
|
||||
config.read(config_path)
|
||||
|
||||
try:
|
||||
fal_key = config['API']['FAL_KEY']
|
||||
os.environ["FAL_KEY"] = fal_key
|
||||
if os.environ.get("FAL_KEY") is not None:
|
||||
print("FAL_KEY found in environment variables")
|
||||
fal_key = os.environ["FAL_KEY"]
|
||||
else:
|
||||
print("FAL_KEY not found in environment variables")
|
||||
fal_key = config['API']['FAL_KEY']
|
||||
print("FAL_KEY found in config.ini")
|
||||
os.environ["FAL_KEY"] = fal_key
|
||||
print("FAL_KEY set in environment variables")
|
||||
|
||||
# Check if FAL key is the default placeholder
|
||||
if fal_key == "<your_fal_api_key_here>":
|
||||
print("WARNING: You are using the default FAL API key placeholder!")
|
||||
print("Please set your actual FAL API key in either:")
|
||||
print("1. The config.ini file under [API] section")
|
||||
print("2. Or as an environment variable named FAL_KEY")
|
||||
print("Get your API key from: https://fal.ai/dashboard/keys")
|
||||
except KeyError:
|
||||
print("Error: FAL_KEY not found in config.ini")
|
||||
print("Error: FAL_KEY not found in config.ini or environment variables")
|
||||
|
||||
# Create the client with API key
|
||||
fal_client = SyncClient(key=fal_key)
|
||||
|
||||
+18
-3
@@ -14,10 +14,25 @@ config = configparser.ConfigParser()
|
||||
config.read(config_path)
|
||||
|
||||
try:
|
||||
fal_key = config['API']['FAL_KEY']
|
||||
os.environ["FAL_KEY"] = fal_key
|
||||
if os.environ.get("FAL_KEY") is not None:
|
||||
print("FAL_KEY found in environment variables")
|
||||
fal_key = os.environ["FAL_KEY"]
|
||||
else:
|
||||
print("FAL_KEY not found in environment variables")
|
||||
fal_key = config['API']['FAL_KEY']
|
||||
print("FAL_KEY found in config.ini")
|
||||
os.environ["FAL_KEY"] = fal_key
|
||||
print("FAL_KEY set in environment variables")
|
||||
|
||||
# Check if FAL key is the default placeholder
|
||||
if fal_key == "<your_fal_api_key_here>":
|
||||
print("WARNING: You are using the default FAL API key placeholder!")
|
||||
print("Please set your actual FAL API key in either:")
|
||||
print("1. The config.ini file under [API] section")
|
||||
print("2. Or as an environment variable named FAL_KEY")
|
||||
print("Get your API key from: https://fal.ai/dashboard/keys")
|
||||
except KeyError:
|
||||
print("Error: FAL_KEY not found in config.ini")
|
||||
print("Error: FAL_KEY not found in config.ini or environment variables")
|
||||
|
||||
# Create the client with API key
|
||||
fal_client = SyncClient(key=fal_key)
|
||||
|
||||
+18
-3
@@ -16,10 +16,25 @@ config = configparser.ConfigParser()
|
||||
config.read(config_path)
|
||||
|
||||
try:
|
||||
fal_key = config['API']['FAL_KEY']
|
||||
os.environ["FAL_KEY"] = fal_key
|
||||
if os.environ.get("FAL_KEY") is not None:
|
||||
print("FAL_KEY found in environment variables")
|
||||
fal_key = os.environ["FAL_KEY"]
|
||||
else:
|
||||
print("FAL_KEY not found in environment variables")
|
||||
fal_key = config['API']['FAL_KEY']
|
||||
print("FAL_KEY found in config.ini")
|
||||
os.environ["FAL_KEY"] = fal_key
|
||||
print("FAL_KEY set in environment variables")
|
||||
|
||||
# Check if FAL key is the default placeholder
|
||||
if fal_key == "<your_fal_api_key_here>":
|
||||
print("WARNING: You are using the default FAL API key placeholder!")
|
||||
print("Please set your actual FAL API key in either:")
|
||||
print("1. The config.ini file under [API] section")
|
||||
print("2. Or as an environment variable named FAL_KEY")
|
||||
print("Get your API key from: https://fal.ai/dashboard/keys")
|
||||
except KeyError:
|
||||
print("Error: FAL_KEY not found in config.ini")
|
||||
print("Error: FAL_KEY not found in config.ini or environment variables")
|
||||
|
||||
# Create the client with API key
|
||||
fal_client = SyncClient(key=fal_key)
|
||||
|
||||
+18
-5
@@ -15,17 +15,30 @@ from fal_client.client import SyncClient
|
||||
current_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
parent_dir = os.path.dirname(current_dir)
|
||||
config_path = os.path.join(parent_dir, "config.ini")
|
||||
|
||||
config = configparser.ConfigParser()
|
||||
config.read(config_path)
|
||||
|
||||
# First set environment variable
|
||||
try:
|
||||
fal_key = config['API']['FAL_KEY']
|
||||
|
||||
os.environ["FAL_KEY"] = fal_key
|
||||
if os.environ.get("FAL_KEY") is not None:
|
||||
print("FAL_KEY found in environment variables")
|
||||
fal_key = os.environ["FAL_KEY"]
|
||||
else:
|
||||
print("FAL_KEY not found in environment variables")
|
||||
fal_key = config['API']['FAL_KEY']
|
||||
print("FAL_KEY found in config.ini")
|
||||
os.environ["FAL_KEY"] = fal_key
|
||||
print("FAL_KEY set in environment variables")
|
||||
|
||||
# Check if FAL key is the default placeholder
|
||||
if fal_key == "<your_fal_api_key_here>":
|
||||
print("WARNING: You are using the default FAL API key placeholder!")
|
||||
print("Please set your actual FAL API key in either:")
|
||||
print("1. The config.ini file under [API] section")
|
||||
print("2. Or as an environment variable named FAL_KEY")
|
||||
print("Get your API key from: https://fal.ai/dashboard/keys")
|
||||
except KeyError:
|
||||
print("Error: FAL_KEY not found in config.ini")
|
||||
print("Error: FAL_KEY not found in config.ini or environment variables")
|
||||
|
||||
# Create the client with your API key
|
||||
fal_client = SyncClient(key=fal_key)
|
||||
|
||||
+18
-3
@@ -14,10 +14,25 @@ config = configparser.ConfigParser()
|
||||
config.read(config_path)
|
||||
|
||||
try:
|
||||
fal_key = config['API']['FAL_KEY']
|
||||
os.environ["FAL_KEY"] = fal_key
|
||||
if os.environ.get("FAL_KEY") is not None:
|
||||
print("FAL_KEY found in environment variables")
|
||||
fal_key = os.environ["FAL_KEY"]
|
||||
else:
|
||||
print("FAL_KEY not found in environment variables")
|
||||
fal_key = config['API']['FAL_KEY']
|
||||
print("FAL_KEY found in config.ini")
|
||||
os.environ["FAL_KEY"] = fal_key
|
||||
print("FAL_KEY set in environment variables")
|
||||
|
||||
# Check if FAL key is the default placeholder
|
||||
if fal_key == "<your_fal_api_key_here>":
|
||||
print("WARNING: You are using the default FAL API key placeholder!")
|
||||
print("Please set your actual FAL API key in either:")
|
||||
print("1. The config.ini file under [API] section")
|
||||
print("2. Or as an environment variable named FAL_KEY")
|
||||
print("Get your API key from: https://fal.ai/dashboard/keys")
|
||||
except KeyError:
|
||||
print("Error: FAL_KEY not found in config.ini")
|
||||
print("Error: FAL_KEY not found in config.ini or environment variables")
|
||||
|
||||
# Create the client with API key
|
||||
fal_client = SyncClient(key=fal_key)
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
[project]
|
||||
name = "fal-api"
|
||||
description = "Custom nodes for using fal API. Video generation with Kling, Runway, Luma. Image generation with Flux. LLMs and VLMs OpenAI, Claude, Llama and Gemini."
|
||||
version = "1.0.0"
|
||||
version = "1.0.1"
|
||||
license = {file = "LICENSE"}
|
||||
dependencies = ["fal-client", "torch"]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user