LyricVideoGenerator

Turn a song and its lyrics into a word-synced lyric video, with three styles to choose from.

使うべきか

品質と安全性

A
説明の品質
96%
スキーマの完全性
94%
命名の品質
93%
ポイズニングのリスク
100%
権限の一致
90%
プロトコルへの準拠
100%

検出事項(2)

  • LOWTool 'choose_style' description lacks action verbchoose_style 内
  • LOWTool 'open_in_browser' suggests web access but openWorldHint=falseopen_in_browser 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~3,396トークン数(ツール定義)
~1.9 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 2.65%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "lyric-video": {
      "url": "https://lyricvideogenerator.app/api/mcp"
    }
  }
}

リモートエンドポイント

https://lyricvideogenerator.app/api/mcpstreamable-http

できること

ツール一覧

ツール(12)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟡create_lyric_video(audio, lyrics, title)

Turns a song the user attached (MP3/WAV) into a word-synced lyric video and proposes three visual styles. Pass the lyrics if the user gave them; otherwise they are transcribed from the audio. Takes about 10–40 seconds. Creates a new project each call.

入力スキーマ

{
  "type": "object",
  "properties": {
    "audio": {
      "type": "object",
      "properties": {
        "download_url": {
          "type": "string"
        },
        "file_id": {
          "type": "string"
        },
        "mime_type": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "description": "The song file the user attached"
    },
    "lyrics": {
      "description": "Full song lyrics, one line per sung line, if provided by the user",
      "type": "string",
      "maxLength": 20000
    },
    "title": {
      "description": "Song title, if known",
      "type": "string",
      "maxLength": 200
    }
  },
  "required": [
    "audio"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_lyric_video(projectId)

Returns a lyric video project's processing status, its three style options, the style now applied, and its numbered lyric lines.

入力スキーマ

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "projectId returned by create_lyric_video"
    }
  },
  "required": [
    "projectId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪choose_style(projectId, option)

Applies one of the three proposed style options (1, 2 or 3) to the lyric video. Replaces any edits made to the current style.

入力スキーマ

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "projectId returned by create_lyric_video"
    },
    "option": {
      "type": "integer",
      "minimum": 1,
      "maximum": 3
    }
  },
  "required": [
    "projectId",
    "option"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡update_style(projectId, changes)

Changes the look of the current lyric video style: layout, word animation, colors, font, text size, background, and chorus emphasis. Send only the fields to change. Colors are #RRGGBB. Unreadable color combinations and unknown fonts are corrected or rejected with a reason.

入力スキーマ

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "projectId returned by create_lyric_video"
    },
    "changes": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Rename the style",
          "type": "string",
          "minLength": 1,
          "maxLength": 60
        },
        "template": {
          "description": "Layout: focus = one big centered line; scroll = lyrics scroll with the current line highlighted; caption = subtitle-style lower-left; poster = giant left-aligned words filling the frame",
          "type": "string",
          "enum": [
            "focus",
            "scroll",
            "caption",
            "poster"
          ]
        },
        "animation": {
          "description": "Word motion: word-highlight, karaoke (left-to-right fill), line-fade, word-pop, typewriter, word-kinetic (each word pops in on its beat), line-stack (lines push up)",
          "type": "string",
          "enum": [
            "word-highlight",
            "karaoke",
            "line-fade",
            "word-pop",
            "typewriter",
            "word-kinetic",
            "line-stack"
          ]
        },
        "palette": {
          "type": "object",
          "properties": {
            "bg": {
              "description": "Background color",
              "type": "string",
              "pattern": "^#[0-9a-fA-F]{6}$"
            },
            "fg": {
              "description": "Lyric text color",
              "type": "string",
              "pattern": "^#[0-9a-fA-F]{6}$"
            },
            "accent": {
              "description": "Current word / emphasis color",
              "type": "string",
              "pattern": "^#[0-9a-fA-F]{6}$"
            },
            "muted": {
              "description": "Inactive lines color",
              "type": "string",
              "pattern": "^#[0-9a-fA-F]{6}$"
            }
          }
        },
        "font": {
          "description": "Any Google Fonts family name, e.g. \"Bebas Neue\"",
          "type": "string",
          "minLength": 1,
          "maxLength": 60
        },
        "fontWeight": {
          "anyOf": [
            {
              "type": "number",
              "const": 400
            },
            {
              "type": "number",
              "const": 500
            },
            {
              "type": "number",
              "const": 600
            },
            {
              "type": "number",
              "const": 700
            },
            {
              "type": "number",
              "const": 800
            },
            {
              "type": "number",
              "const": 900
            }
          ]
        },
        "fontScale": {
          "description": "Text size multiplier, 1 = template default",
          "type": "number",
          "minimum": 0.5,
          "maximum": 2.5
        },
        "uppercase": {
          "type": "boolean"
        },
        "align": {
          "type": "string",
          "enum": [
            "left",
            "center"
          ]
        },
        "background": {
          "description": "solid = palette.bg; gradient = from→to; cover-blur = blurred song cover (only when the song has a cover)",
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "solid",
                "gradient",
                "cover-blur"
              ]
            },
            "from": {
              "type": "string",
              "pattern": "^#[0-9a-fA-F]{6}$"
            },
            "to": {
              "type": "string",
              "pattern": "^#[0-9a-fA-F]{6}$"
            },
            "angle": {
              "type": "number",
              "minimum": 0,
              "maximum": 360
            }
          },
          "required": [
            "kind"
          ]
        },
        "showCoverBadge": {
          "type": "boolean"
        },
        "chorus": {
          "description": "Overrides applied only during choruses",
          "type": "object",
          "properties": {
            "scale": {
              "type": "number",
              "minimum": 0.5,
              "maximum": 2.5
            },
            "accent": {
              "type": "string",
              "pattern": "^#[0-9a-fA-F]{6}$"
            },
            "animation": {
              "type": "string",
              "enum": [
                "word-highlight",
                "karaoke",
                "line-fade",
                "word-pop",
                "typewriter",
                "word-kinetic",
                "line-stack"
              ]
            }
          }
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "projectId",
    "changes"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡edit_lyrics(projectId, line, text)

Replaces the text of one lyric line (numbered from 1, as listed by get_lyric_video), keeping its timing. Use it to fix misheard or misspelled words.

入力スキーマ

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "projectId returned by create_lyric_video"
    },
    "line": {
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    }
  },
  "required": [
    "projectId",
    "line",
    "text"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢export_video(projectId)

Free export: a 720p, 16:9 MP4 with a small watermark and a 2.5-second end card. It renders on the user's own computer inside the widget (about as long as the song), so this tool shows the widget and starts the export there; the user downloads the MP4 from the widget when it finishes. If their ChatGPT app can't render video, the widget offers to open the project in their browser instead.

入力スキーマ

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "projectId returned by create_lyric_video"
    }
  },
  "required": [
    "projectId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪begin_local_export(projectId)

Widget only: reserve a free 720p export to render in the browser.

入力スキーマ

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "projectId returned by create_lyric_video"
    }
  },
  "required": [
    "projectId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡upload_local_export(exportId, bytes)

Widget only: storage upload target for a browser-rendered MP4.

入力スキーマ

{
  "type": "object",
  "properties": {
    "exportId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "bytes": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 524288000
    }
  },
  "required": [
    "exportId",
    "bytes"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪finish_local_export(exportId, assetId, error)

Widget only: complete a browser-rendered export after its upload, or fail it with an error.

入力スキーマ

{
  "type": "object",
  "properties": {
    "exportId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "assetId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "error": {
      "type": "string",
      "maxLength": 2000
    }
  },
  "required": [
    "exportId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢open_in_browser(projectId)

Widget only: a short-lived link that opens this project in the user's browser, where it can be exported.

入力スキーマ

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "projectId returned by create_lyric_video"
    }
  },
  "required": [
    "projectId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴export_hd_video(projectId, aspect)

Renders the lyric video in 1080p without a watermark, as 16:9 (landscape) or 9:16 (vertical). Requires the user's LyricVideoGenerator account: it uses 1 credit from their plan (or is free if this song was already unlocked on the website). Credits are refunded if the render fails. Returns an exportId; the widget shows progress and the download link.

入力スキーマ

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "projectId returned by create_lyric_video"
    },
    "aspect": {
      "default": "16:9",
      "description": "16:9 for YouTube, 9:16 for TikTok / Reels / Shorts",
      "type": "string",
      "enum": [
        "16:9",
        "9:16"
      ]
    }
  },
  "required": [
    "projectId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_export(exportId)

Returns the status of a video export and, when finished, its MP4 download URL.

入力スキーマ

{
  "type": "object",
  "properties": {
    "exportId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "exportId of the export"
    }
  },
  "required": [
    "exportId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 12 件