Skip to main content
Glama

NijiVoice-MCP

by ryoooo
test_api_client.py2.97 kB
#!/usr/bin/env python3 """ NijiVoiceClientの動作をテストするためのスクリプト """ import asyncio import os import logging from dotenv import load_dotenv from logger import setup_logging from nijivoice.api import NijiVoiceClient from nijivoice.models import VoiceGenerationRequest # ロギングの設定 logger = setup_logging(level=logging.INFO) async def test_get_voice_actors(client): """Voice Actor一覧を取得してみる""" try: logger.info("Voice Actor一覧を取得しています...") actors = await client.get_voice_actors() logger.info(f"取得成功: {len(actors)}人のVoice Actorが見つかりました") for i, actor in enumerate(actors): logger.info(f" {i+1}. {actor.name} (ID: {actor.id})") return actors except Exception as e: logger.error(f"Voice Actor一覧の取得に失敗しました: {str(e)}") return [] async def test_generate_voice(client, actor_id, text): """音声生成をテストする""" try: logger.info(f"「{text}」の音声を生成しています...") request = VoiceGenerationRequest( id=actor_id, script=text, speed=1.0, emotional_level=1.0, sound_duration=1.0, format="mp3" ) response = await client.generate_voice(request=request) logger.info(f"音声生成成功: {response}") return response except Exception as e: logger.error(f"音声生成に失敗しました: {str(e)}") return None async def test_get_balance(client): """クレジット残高を取得する""" try: logger.info("クレジット残高を取得しています...") balance = await client.get_balance() credit = balance.get_credit() logger.info(f"クレジット残高: {credit}") return credit except Exception as e: logger.error(f"クレジット残高の取得に失敗しました: {str(e)}") return None async def main(): """ メイン関数 - 各API機能をテストする """ # 環境変数から設定をロード load_dotenv() api_key = os.environ.get("NIJIVOICE_API_KEY") if not api_key: logger.error("NIJIVOICE_API_KEY環境変数が設定されていません") return # クライアントを初期化 client = NijiVoiceClient(api_key=api_key) logger.info("NijiVoiceClientを初期化しました") # Voice Actor一覧を取得 actors = await test_get_voice_actors(client) # 音声生成のテスト if actors: first_actor = actors[0] await test_generate_voice(client, first_actor.id, "これはテスト音声です") # クレジット残高の取得 await test_get_balance(client) if __name__ == "__main__": # 非同期処理を実行 asyncio.run(main())

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ryoooo/nijivoice-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server