fal 1.20.1__tar.gz → 1.20.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of fal might be problematic. Click here for more details.
- {fal-1.20.1/fal.egg-info → fal-1.20.2}/PKG-INFO +1 -1
- {fal-1.20.1 → fal-1.20.2/fal.egg-info}/PKG-INFO +1 -1
- {fal-1.20.1 → fal-1.20.2}/src/fal/_fal_version.py +2 -2
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/__init__.py +10 -6
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/audio/audio.py +12 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/file/file.py +9 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/image/image.py +9 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/video/video.py +12 -0
- {fal-1.20.1 → fal-1.20.2}/.gitignore +0 -0
- {fal-1.20.1 → fal-1.20.2}/Makefile +0 -0
- {fal-1.20.1 → fal-1.20.2}/README.md +0 -0
- {fal-1.20.1 → fal-1.20.2}/docs/conf.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/docs/index.rst +0 -0
- {fal-1.20.1 → fal-1.20.2}/fal.egg-info/SOURCES.txt +0 -0
- {fal-1.20.1 → fal-1.20.2}/fal.egg-info/dependency_links.txt +0 -0
- {fal-1.20.1 → fal-1.20.2}/fal.egg-info/entry_points.txt +0 -0
- {fal-1.20.1 → fal-1.20.2}/fal.egg-info/requires.txt +0 -0
- {fal-1.20.1 → fal-1.20.2}/fal.egg-info/top_level.txt +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/README.md +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/applications/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/applications/app_metadata.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/billing/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/billing/get_user_details.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/comfy/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/comfy/create_workflow.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/comfy/delete_workflow.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/comfy/get_workflow.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/comfy/list_user_workflows.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/comfy/update_workflow.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/files/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/files/check_dir_hash.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/files/upload_local_file.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/users/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/users/get_current_user.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/workflows/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/workflows/create_workflow.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/workflows/delete_workflow.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/workflows/get_workflow.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/workflows/list_user_workflows.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/workflows/update_workflow.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/client.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/errors.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/app_metadata_response_app_metadata.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/body_upload_local_file.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_detail.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_item.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_extra_data.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_fal_inputs.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_fal_inputs_dev_info.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_prompt.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/current_user.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/customer_details.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/hash_check.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/http_validation_error.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/lock_reason.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/page_comfy_workflow_item.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/page_workflow_item.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/team_role.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/typed_comfy_workflow.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/typed_comfy_workflow_update.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/typed_workflow.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/typed_workflow_update.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/user_member.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/validation_error.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_metadata.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_nodes.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_output.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_detail.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_detail_contents.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_item.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_node.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_node_type.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema_input.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema_output.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/py.typed +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/types.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/pyproject.toml +0 -0
- {fal-1.20.1 → fal-1.20.2}/openapi_rest.config.yaml +0 -0
- {fal-1.20.1 → fal-1.20.2}/pyproject.toml +0 -0
- {fal-1.20.1 → fal-1.20.2}/setup.cfg +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/__main__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/_serialization.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/_version.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/api.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/app.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/apps.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/auth/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/auth/auth0.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/auth/local.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/cli/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/cli/_utils.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/cli/api.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/cli/apps.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/cli/auth.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/cli/cli_nested_json.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/cli/create.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/cli/debug.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/cli/deploy.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/cli/doctor.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/cli/files.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/cli/keys.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/cli/main.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/cli/parser.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/cli/profile.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/cli/run.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/cli/runners.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/cli/secrets.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/cli/teams.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/config.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/console/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/console/icons.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/console/ux.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/container.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/exceptions/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/exceptions/_base.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/exceptions/_cuda.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/exceptions/auth.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/files.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/flags.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/logging/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/logging/isolate.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/logging/style.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/logging/trace.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/logging/user.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/project.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/py.typed +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/rest_client.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/sdk.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/sync.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/audio/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/exceptions.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/file/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/file/providers/fal.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/file/providers/gcp.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/file/providers/r2.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/file/providers/s3.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/file/types.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/image/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/image/nsfw_filter/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/image/nsfw_filter/env.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/image/nsfw_filter/inference.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/image/nsfw_filter/model.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/image/nsfw_filter/requirements.txt +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/image/safety_checker.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/optimize.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/types.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/utils/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/utils/download_utils.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/utils/endpoint.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/utils/retry.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/toolkit/video/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/utils.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/src/fal/workflows.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/assets/cat.png +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/cli/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/cli/test_apps.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/cli/test_auth.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/cli/test_deploy.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/cli/test_keys.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/cli/test_run.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/cli/test_secrets.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/conftest.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/integration_test.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/mainify_package/__init__.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/mainify_package/impl.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/mainify_package/utils.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/mainify_target.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/test_apps.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/test_stability.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/toolkit/file/providers/test_fal_retry.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/toolkit/file_test.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/toolkit/image_test.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/toolkit/test_types.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tests/toolkit/utils/retry.py +0 -0
- {fal-1.20.1 → fal-1.20.2}/tools/demo_script.py +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from fal.toolkit.audio.audio import Audio
|
|
4
|
-
from fal.toolkit.file import CompressedFile, File
|
|
5
|
-
from fal.toolkit.image.image import Image, ImageSizeInput, get_image_size
|
|
3
|
+
from fal.toolkit.audio.audio import Audio, AudioField
|
|
4
|
+
from fal.toolkit.file import CompressedFile, File, FileField
|
|
5
|
+
from fal.toolkit.image.image import Image, ImageField, ImageSizeInput, get_image_size
|
|
6
6
|
from fal.toolkit.optimize import optimize
|
|
7
7
|
from fal.toolkit.utils import (
|
|
8
8
|
FAL_MODEL_WEIGHTS_DIR,
|
|
@@ -12,17 +12,21 @@ from fal.toolkit.utils import (
|
|
|
12
12
|
download_file,
|
|
13
13
|
download_model_weights,
|
|
14
14
|
)
|
|
15
|
-
from fal.toolkit.video.video import Video
|
|
15
|
+
from fal.toolkit.video.video import Video, VideoField
|
|
16
16
|
|
|
17
17
|
__all__ = [
|
|
18
|
+
"Audio",
|
|
19
|
+
"AudioField",
|
|
18
20
|
"CompressedFile",
|
|
19
21
|
"File",
|
|
22
|
+
"FileField",
|
|
20
23
|
"Image",
|
|
24
|
+
"ImageField",
|
|
21
25
|
"ImageSizeInput",
|
|
22
26
|
"get_image_size",
|
|
23
|
-
"Audio",
|
|
24
|
-
"Video",
|
|
25
27
|
"optimize",
|
|
28
|
+
"Video",
|
|
29
|
+
"VideoField",
|
|
26
30
|
"FAL_MODEL_WEIGHTS_DIR",
|
|
27
31
|
"FAL_PERSISTENT_DIR",
|
|
28
32
|
"FAL_REPOSITORY_DIR",
|
|
@@ -1,6 +1,18 @@
|
|
|
1
|
+
from functools import wraps
|
|
2
|
+
|
|
3
|
+
from pydantic import Field
|
|
4
|
+
|
|
1
5
|
from fal.toolkit.file.file import IS_PYDANTIC_V2, File
|
|
2
6
|
|
|
3
7
|
|
|
8
|
+
@wraps(Field)
|
|
9
|
+
def AudioField(*args, **kwargs):
|
|
10
|
+
ui = kwargs.get("ui", {})
|
|
11
|
+
ui.setdefault("field", "audio")
|
|
12
|
+
kwargs["ui"] = ui
|
|
13
|
+
return Field(*args, **kwargs)
|
|
14
|
+
|
|
15
|
+
|
|
4
16
|
class Audio(File):
|
|
5
17
|
if IS_PYDANTIC_V2:
|
|
6
18
|
model_config = {"json_schema_extra": {"ui": {"field": "audio"}}}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import shutil
|
|
4
|
+
from functools import wraps
|
|
4
5
|
from pathlib import Path
|
|
5
6
|
from tempfile import NamedTemporaryFile, mkdtemp
|
|
6
7
|
from typing import Any, Callable, Optional
|
|
@@ -63,6 +64,14 @@ FALLBACK_REPOSITORY: FileRepository | RepositoryId = "fal"
|
|
|
63
64
|
OBJECT_LIFECYCLE_PREFERENCE_KEY = "x-fal-object-lifecycle-preference"
|
|
64
65
|
|
|
65
66
|
|
|
67
|
+
@wraps(Field)
|
|
68
|
+
def FileField(*args, **kwargs):
|
|
69
|
+
ui = kwargs.get("ui", {})
|
|
70
|
+
ui.setdefault("field", "file")
|
|
71
|
+
kwargs["ui"] = ui
|
|
72
|
+
return Field(*args, **kwargs)
|
|
73
|
+
|
|
74
|
+
|
|
66
75
|
class File(BaseModel):
|
|
67
76
|
# public properties
|
|
68
77
|
url: str = Field(
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import io
|
|
4
|
+
from functools import wraps
|
|
4
5
|
from tempfile import NamedTemporaryFile
|
|
5
6
|
from typing import TYPE_CHECKING, Literal, Optional, Union
|
|
6
7
|
|
|
@@ -63,6 +64,14 @@ def get_image_size(source: ImageSizeInput) -> ImageSize:
|
|
|
63
64
|
ImageFormat = Literal["png", "jpeg", "jpg", "webp", "gif"]
|
|
64
65
|
|
|
65
66
|
|
|
67
|
+
@wraps(Field)
|
|
68
|
+
def ImageField(*args, **kwargs):
|
|
69
|
+
ui = kwargs.get("ui", {})
|
|
70
|
+
ui.setdefault("field", "image")
|
|
71
|
+
kwargs["ui"] = ui
|
|
72
|
+
return Field(*args, **kwargs)
|
|
73
|
+
|
|
74
|
+
|
|
66
75
|
class Image(File):
|
|
67
76
|
"""
|
|
68
77
|
Represents an image file.
|
|
@@ -1,6 +1,18 @@
|
|
|
1
|
+
from functools import wraps
|
|
2
|
+
|
|
3
|
+
from pydantic import Field
|
|
4
|
+
|
|
1
5
|
from fal.toolkit.file.file import IS_PYDANTIC_V2, File
|
|
2
6
|
|
|
3
7
|
|
|
8
|
+
@wraps(Field)
|
|
9
|
+
def VideoField(*args, **kwargs):
|
|
10
|
+
ui = kwargs.get("ui", {})
|
|
11
|
+
ui.setdefault("field", "video")
|
|
12
|
+
kwargs["ui"] = ui
|
|
13
|
+
return Field(*args, **kwargs)
|
|
14
|
+
|
|
15
|
+
|
|
4
16
|
class Video(File):
|
|
5
17
|
if IS_PYDANTIC_V2:
|
|
6
18
|
model_config = {"json_schema_extra": {"ui": {"field": "video"}}}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/applications/app_metadata.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/comfy/list_user_workflows.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/workflows/create_workflow.py
RENAMED
|
File without changes
|
{fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/workflows/delete_workflow.py
RENAMED
|
File without changes
|
|
File without changes
|
{fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/workflows/list_user_workflows.py
RENAMED
|
File without changes
|
{fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/api/workflows/update_workflow.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/body_upload_local_file.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_prompt.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/page_comfy_workflow_item.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/typed_comfy_workflow_update.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_metadata.py
RENAMED
|
File without changes
|
{fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_nodes.py
RENAMED
|
File without changes
|
{fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_output.py
RENAMED
|
File without changes
|
|
File without changes
|
{fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_detail_contents.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fal-1.20.1 → fal-1.20.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema_output.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|