0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【徹底解説】にじボイスAPI 利用方法

Posted at

はじめに

最近、AIの音声合成って急速に進化していて驚きませんか?
特ににじボイスは、まるで人間のように空気を読んで感情表現ができるんです。

この記事では、私も実際に使ってみて発見したAPIの魅力実装のコツを余すことなくシェアしております。
具体的には、にじボイス APIの概要や認証方法、利用できるエンドポイント、実際の使用例、料金・利用制限、そして活用のポイントなどをまとめています。

開発初心者の方も、ベテランエンジニアの方も、きっと新しい発見があるはずです!


1. にじボイス APIの概要

提供元情報と基本機能
にじボイスは、株式会社Algomatic(DMMグループ)が提供するAI音声生成プラットフォームです。
2024年12月に正式リリースされ、100体以上の多彩なキャラクターの声でテキストを読み上げる高品質な音声を生成できます。
ユーザーがキャラクターを選びテキストを入力するだけで、感情豊かな音声を誰でも簡単に作成可能です。

特徴的なのは、入力テキストの内容に応じてAIが自動で声色や抑揚を変化させ、“空気を読んだ”表現豊かな読み上げを実現する点です。

用途
にじボイスはWebサービスとしてブラウザ上で利用できるだけでなく、開発者向けにAPIも提供されています。
APIを使えば、自社アプリやサービスににじボイスの音声合成機能を組み込み、リアルタイム配信でのコメント読み上げ動画字幕の音声化、大量のナレーション生成などに活用できます。

商用利用も可能で、生成した音声はコンテンツのナレーションやデジタルキャラクター(AI VTuber等)へのボイス提供など幅広い分野で役立ちます。

※商用利用時は所定のクレジット表記が必要です(詳細は後述)。


2. APIの認証方法

APIキーによる認証
にじボイス APIはAPIキー認証を採用しており、OAuthなどの複雑な認可は不要です。
まずにじボイスのサイトにログインしてAPI利用登録を行い、APIキーを取得します。
ログインはGoogleアカウント等で可能で、マイページの「APIキー」メニューからキーを発行・コピーします。

取得したAPIキーは、リクエストのHTTPヘッダーに含めて利用します。
例えばPythonのrequestsライブラリを使用する場合、以下のようにヘッダーを付与します(YOUR_API_KEYの部分は自分のキーに置き換え):

import requests

# APIキーを設定
headers = {
    "x-api-key": "YOUR_API_KEY",
    "accept": "application/json"
}

# キャラクター一覧を取得
response = requests.get(
    # URLはドキュメントを参考に書き換えてください。
    "https://api.にじボイス.com/api/platform/v1/voice-actors",
    headers=headers
)

# レスポンスをJSONとして取得
voice_actors = response.json()

# キャラクター情報を表示
for actor in voice_actors["voiceActors"]:
    print(f"Name: {actor['name']}")
    print(f"ID: {actor['id']}")
    print(f"Age: {actor['age']}")
    print(f"Gender: {actor['gender']}")
    print("---")

# 音声生成のリクエスト例
voice_actor_id = "dba2fa0e-f750-43ad-b9f6-d5aeaea7dc16"  # 使用したいキャラクターのID
text_data = {
    "script": "こんにちは!",
    "speed": "1.0"
}

# 音声を生成
response = requests.post(

    # URLはドキュメントを参考に書き換えてください。
    f"https://api.にじボイス.com/api/platform/v1/voice-actors/{voice_actor_id}/generate-voice",
    headers=headers,
    json=text_data
)

# 生成された音声のURLを取得
audio_url = response.json()["audioFileUrl"]
print(f"Generated audio URL: {audio_url}")

上記のようにヘッダーへAPIキーを含めるだけで認証が行われ、特別なOAuthトークン取得などは不要です。
なお、APIキーは個人に紐づく秘密情報のため、ソースコード管理時には隠すなど取り扱いに注意しましょう。


3. 利用可能なエンドポイントと主な機能

にじボイス APIはシンプルな構成で、主に以下のエンドポイントが提供されています。

  1. ボイス一覧取得 (GET /voice-actors)

    • 利用可能な全キャラクター(Voice Actor)の情報を取得します。各キャラクターのID、名前、年齢や性別などのメタ情報がJSON形式で返され、音声生成で指定するVoice Actor IDを把握できます。
  2. 音声の生成 (POST /voice-actors/{id}/generate-voice)

    • 指定したキャラクターの声でテキストを読み上げた音声を生成します。
    • リクエストボディ(JSON)の主なパラメータ例:
      • script: 読み上げさせたいテキスト文字列(必須)
      • speed: 読み上げ速度(0.4~3.0で指定。省略時は1.0)
      • format: 出力音声のフォーマット("mp3" or "wav"。省略時はMP3)
    • 音声生成後、音声データのダウンロードURL等を含むJSONレスポンスが返ってきます。
  3. エンコード済み音声の生成 (POST /voice-actors/{id}/generate-encoded-voice)

    • 音声ファイルをBase64エンコードした文字列を、直接レスポンスとして受け取れるエンドポイントです。バイナリファイルをURLで受け取る代わりに、Base64文字列として得たい場合に活用します。
  4. クレジット残高取得 (GET /balances)

    • 現在の利用可能クレジット残高(文字数)を取得できます。無料枠や購入済みクレジットが何文字分残っているかなどを確認するのに使います。

これらを組み合わせることで、キャラクター一覧から希望の声のIDを取得し、そのIDで音声生成APIを呼び出すといったシナリオが実現可能です。
また、クレジット残高APIで残り文字数をチェックしながら運用すると、上限超過を防ぎやすくなります。


(参考)API呼び出しの流れを図で解説


4. 実際のAPI使用例

(1)キャラクター一覧の取得

まず、利用可能な音声キャラクター一覧を取得してみます。
エンドポイント GET /voice-actors に対し、APIキーをヘッダーに付けてリクエストを送信します。
curlの例(YOUR_API_KEYは自分のキーに置換):

curl -H "x-api-key: YOUR_API_KEY" \
     -H "accept: application/json" \
     https://api.にじボイス.com/api/platform/v1/voice-actors

レスポンスはJSON形式で、voiceActors 配列にキャラクター情報が格納されています。例:

{
  "voiceActors": [
    {
      "id": "dba2fa0e-f750-43ad-b9f6-d5aeaea7dc16",
      "name": "水戸 明日菜",
      "nameReading": "みと あすな",
      "age": 15,
      "gender": "FEMALE",
      "birthMonth": 3,
      "birthDay": 3
      ...
    },
    ...
  ]
}

各キャラクターに固有のidが付与されており、このidを指定して音声を生成します。
例では「水戸 明日菜(みと あすな)」のIDが dba2fa0e-f750-... となっています。

(2)音声の生成

キャラクター一覧で取得したVoice Actor IDを使って、実際に音声を生成します。
例として、水戸明日菜の声で「あなたの名前はなんて言うの?」というセリフを読み上げる場合、以下のJSONをPOSTリクエストで送ります(速度speed=1.0、フォーマット省略でMP3):

{
  "script": "あなたの名前はなんて言うの?",
  "speed": "1.0"
}

ヘッダーにx-api-key(APIキー)とContent-Type: application/jsonを設定し、POST /voice-actors/{id}/generate-voiceを呼び出すと、生成された音声ファイルのURLなどを含むJSONが返されます。

レスポンス中の主な項目:

  • audioFileUrl : 生成音声ファイル(MP3など)のURL
  • audioFileDownloadUrl : ダウンロード用URL
  • usage : 今回のリクエストで消費された文字数

例えば「あなたの名前はなんて言うの?」という14文字の音声生成では、usageに14と表示され、入力文字数と同じ分のクレジットが消費されます。

(3)Base64エンコード音声API・クレジット残高API

  • Base64エンコード音声API

    • POST /voice-actors/{id}/generate-encoded-voice
    • 音声ファイルのURLではなく、Base64文字列そのものをレスポンスとして受け取りたい場合に利用します。
  • クレジット残高取得API

    • GET /balances
    • 自分のアカウントに残っている無料文字数や購入文字数などを確認できます。これを活用し、文字数が残っていない場合は音声生成を制限するなどの実装が可能です。

5. 料金プランと利用制限

無料プランと有料プランの違い

にじボイスには月額サブスクリプションプランが用意されており、フリープランでは月1,000文字まで無料で利用できます。
それ以上の文字数を使う場合は有料プランへの加入が必要で、月5,000文字まで利用できるプランが490円/月など、段階的に複数プランが存在します。
サブスクリプションに加入すると、一定文字数までは定額で使え、超過分は追加クレジット購入や上位プランへの切り替えとなります。

API利用時の課金方式

開発者向けAPIの場合は、プリペイド式のクレジット購入による課金が採用されています。
10,000文字あたり825円(税込) で、1文字あたり約0.0825円ほどです。
また、初回登録時には5,000文字分のクレジットが無料付与されます。この初回付与には有効期限がなく、クレジットカードを登録しなければ課金されることもありません(無料枠内で試すだけならOK)。

利用制限の有無

1回の音声生成リクエストで入力できるテキストは最大500文字までです。
長い文章を音声化する場合は、適宜分割して複数リクエストに分ける必要があります。
また、並行リクエスト数や毎秒のAPIコール数に関する公式の上限は明示されていませんが、極端な高負荷アクセスは避け、キューを使って順次処理するなど一般的な配慮が望まれます。


6. SDKやライブラリの対応状況

公式SDKの有無

2025年2月現在、にじボイス API専用の公式SDKは提供されていません。
RESTfulなHTTPインターフェースなので、言語を問わずHTTP通信可能な環境であれば使用できます。
公式ドキュメントにはNode.jsやPython、Ruby、PHP、cURLなどのサンプルコードが掲載されており、それらを参考に実装可能です。
SDKが無くても比較的簡単に導入できます。

対応するプログラミング言語

基本的にどの言語でも対応可能です。
公式ドキュメントの「Try It!」機能を使うと、各種言語向けリクエストコードが自動生成される仕組みがあり、開発のハードルは高くありません
有志によるラッパーライブラリや連携ツールもGitHub上に公開されている場合があります。公式のものではありませんが、参照すると実装の助けになるでしょう。


7. 活用のポイントと注意点

実用的な活用方法

  • ライブ配信での自動読み上げ
    コメントや最新情報をリアルタイムで取得し、即座に音声生成して読み上げる。いわゆるAITuber的なチャット読み上げに最適です。

  • 動画コンテンツの効率的なナレーション
    字幕テキストから一括でナレーション音声を生成し、収録不要で大量の動画や研修教材などを効率化。

  • キャラクターボイスを活かした対話サービス
    100種類の個性ある声をシチュエーションに合わせて選び、ゲームや接客ボットで複数キャラが登場する場面に活用。没入感のある音声対話を実現できます。

こうした際、Voice Actor一覧APIで得られるキャラクターの年齢・性別・イメージ情報などを活かし、シーンに合った声を選択すると効果的です。
さらに、speedパラメータで速さを調整すれば、ゆっくりしたナレーションや高速アナウンスなど多様な表現が可能です。

利用時の注意点

  • クレジット消費とコスト管理
    音声生成1回あたりの消費クレジットはテキストの文字数に比例します。無駄に長い文章を送るとコストが増えるため、必要部分だけを送る、キャッシュを活用するなど工夫が必要です。
    大量利用の場合は、あらかじめ十分なクレジットを購入しておくか上位プランを検討しましょう。

  • 文字数制限(最大500文字)への対応
    長文の場合は分割が必要です。繋ぎ合わせる際に不自然にならないよう、文脈を考慮して区切る工夫も大切です。

  • レスポンス取得と音声利用
    デフォルトの音声生成APIは音声ファイルへのURLを返しますが、一時的なURLである可能性もあるため、必要に応じてすぐダウンロード・保存すると良いでしょう。
    音声データを直接扱いたい場合はBase64エンコードAPIの利用も検討できます。

  • 商用利用時のクレジット表記
    にじボイスで生成した音声を商用コンテンツに利用する場合、クレジット表記が必須とされています。
    コンテンツのエンドロールや説明文に「にじボイス使用」等を記載し、利用規約を遵守しましょう。

  • 音声モデルの権利・利用規約遵守
    提携するボイスパートナー(声優・ボイス提供者)の声を元に作成されたモデルも多数含まれます。
    公序良俗に反する用途や声優のイメージを損なう利用は避けるべきです。
    今後、表現内容に対するフィルタリング機能の追加なども予定されているため、健全な利用を心がけましょう。


まとめ

いかがでしたか?
にじボイスAPIを使えば、誰でも簡単に感情豊かなAI音声を自分のサービスに組み込めます。
月1000文字の無料枠初回5000文字のボーナスもあるので、まずは試してみることをおすすめします。

  • 導入のしやすさ

    • 無料1,000文字/月のフリープランや初回5,000文字のクレジット付与があるため、少ないリスクで試せます。
    • 文字数課金は10,000文字あたり825円程度と比較的手頃で、大量コンテンツにも対応しやすいです。
  • 注意事項

    • 商用時のクレジット表記や、1回あたり500文字制限、表現内容の制限など利用規約の確認が必要です。
    • 声の提供者の権利を尊重し、公序良俗に反する使用はしないようにしましょう。

今後も機能拡張音声モデルの追加が進む見込みで、より多彩な声や高度な表現が期待されます。
リアルタイム配信の読み上げから動画ナレーション、対話システムやAIキャラクターへのボイス提供など、あなたのサービスやコンテンツに「声の力」を組み込む手段として、にじボイス APIをぜひ活用してみてください。

皆さんも、ぜひこの記事を参考に、新しい音声体験の創造に挑戦してみてください!


参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?