From ece733fd9e94a5be5a7e362cbb020d90c0a7735a Mon Sep 17 00:00:00 2001 From: James Ding Date: Thu, 22 Jan 2026 14:22:50 -0600 Subject: [PATCH 1/2] fix: correct visibility option from "unlisted" to "unlist" in shared.py and voices.py --- src/fishaudio/types/shared.py | 2 +- src/fishaudio/types/voices.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/fishaudio/types/shared.py b/src/fishaudio/types/shared.py index c9da289..1e756d9 100644 --- a/src/fishaudio/types/shared.py +++ b/src/fishaudio/types/shared.py @@ -27,7 +27,7 @@ class PaginatedResponse(BaseModel, Generic[T]): AudioFormat = Literal["wav", "pcm", "mp3", "opus"] # Visibility types -Visibility = Literal["public", "unlisted", "private"] +Visibility = Literal["public", "unlist", "private"] # Training mode types TrainMode = Literal["fast"] diff --git a/src/fishaudio/types/voices.py b/src/fishaudio/types/voices.py index 04f7570..2fd7347 100644 --- a/src/fishaudio/types/voices.py +++ b/src/fishaudio/types/voices.py @@ -57,7 +57,7 @@ class Voice(BaseModel): created_at: Timestamp when the model was created updated_at: Timestamp when the model was last updated languages: List of supported language codes (e.g., ["en", "zh"]) - visibility: Model visibility. Options: "public", "private", "unlisted" + visibility: Model visibility. Options: "public", "private", "unlist" lock_visibility: Whether visibility setting is locked like_count: Number of likes the model has received mark_count: Number of bookmarks/favorites From 984096699d3b8c000e6d5bac35edf6c8e094cbab Mon Sep 17 00:00:00 2001 From: James Ding Date: Thu, 22 Jan 2026 14:27:32 -0600 Subject: [PATCH 2/2] fix: update test for voice visibility from "unlisted" to "unlist" --- tests/unit/test_types.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/unit/test_types.py b/tests/unit/test_types.py index f5a9f02..fcc509c 100644 --- a/tests/unit/test_types.py +++ b/tests/unit/test_types.py @@ -168,8 +168,8 @@ def test_tts_request_custom_new_parameters(self): class TestVoiceVisibility: """Test Voice model with updated visibility.""" - def test_voice_with_unlisted_visibility(self, sample_voice_response): - """Test Voice model with 'unlisted' visibility.""" - sample_voice_response["visibility"] = "unlisted" + def test_voice_with_unlist_visibility(self, sample_voice_response): + """Test Voice model with 'unlist' visibility.""" + sample_voice_response["visibility"] = "unlist" voice = Voice.model_validate(sample_voice_response) - assert voice.visibility == "unlisted" + assert voice.visibility == "unlist"