Skip to main content
This guide shows you how to use any voice from the ElevenLabs catalog in your Pictory videos. Simply pass the ElevenLabs voice ID as the speaker value — Pictory will automatically discover and add the voice to your library.

How It Works

1

Find a voice on ElevenLabs

Browse the ElevenLabs Voice Library and copy the voice ID of any voice you want to use.
2

Pass the voice ID as speaker

Use the ElevenLabs voice ID directly in your API request as the speaker value.
3

Automatic discovery

If the voice is not already in your Pictory library, it will be automatically discovered and added from ElevenLabs. No manual setup required.

Finding an ElevenLabs Voice ID

You can find voice IDs from:
  1. ElevenLabs Voice Library — Browse voices at elevenlabs.io/voice-library. The voice ID is shown on each voice’s detail page.
  2. ElevenLabs API — Use the ElevenLabs Voices API to list available voices programmatically.
  3. Pictory Voiceover Tracks API — Use the Get Voiceover Tracks endpoint to list voices already in your library, including ElevenLabs voices with their voice field containing the ElevenLabs voice ID.

Basic Example

import axios from "axios";

const API_BASE_URL = "https://api.pictory.ai/pictoryapis";
const API_KEY = "YOUR_API_KEY";

async function createVideoWithElevenLabsVoice() {
  const response = await axios.post(
    `${API_BASE_URL}/v2/video/storyboard/render`,
    {
      videoName: "elevenlabs_voice_demo",
      voiceOver: {
        enabled: true,
        aiVoices: [
          {
            speaker: "pNInz6obpgDQGcFmaJgB",  // ElevenLabs voice ID for "Adam"
            speed: 100,
            amplificationLevel: 0,
          },
        ],
      },
      scenes: [
        {
          story: "Welcome to our product demo. Today we'll show you how easy it is to create professional videos with ultra-realistic AI narration.",
          createSceneOnEndOfSentence: true,
        },
      ],
    },
    {
      headers: {
        "Content-Type": "application/json",
        Authorization: API_KEY,
      },
    }
  );

  console.log("Job ID:", response.data.data.jobId);
}

createVideoWithElevenLabsVoice();

Ways to Reference a Voice

The speaker field accepts multiple formats:
FormatExampleDescription
Voice name"Brian"Matches by voice name in your library
Track ID"1776425060651"Numeric track ID from your library
ElevenLabs voice ID"pNInz6obpgDQGcFmaJgB"ElevenLabs UUID — auto-discovered if not in library

Resolution Order

When you pass a speaker value, Pictory resolves it in this order:
  1. Track ID — If numeric, searches by track ID
  2. Voice name — Searches by voice name (case-insensitive)
  3. Voice ID — Searches by the voice provider’s ID (e.g., ElevenLabs UUID)
  4. Auto-discovery — If not found, attempts to discover and add the voice from ElevenLabs

Using Previously Discovered Voices

Once a voice is discovered and added to your library, you can reference it by name or track ID in future requests — just like any other voice. Use the Get Voiceover Tracks endpoint to see all voices in your library:
curl --request GET \
  --url https://api.pictory.ai/pictoryapis/v1/voiceovers/tracks \
  --header 'Authorization: YOUR_API_KEY'
ElevenLabs voices in the response will have "service": "elevenlabs" and the original voice ID in the voice field.

Premium Voice Settings

For ElevenLabs voices, you can fine-tune the voice output using premiumVoiceSettings:
{
  voiceOver: {
    enabled: true,
    aiVoices: [{
      speaker: "pNInz6obpgDQGcFmaJgB",
      speed: 100,
      amplificationLevel: 0,
      premiumVoiceSettings: {
        modelId: "eleven_multilingual_v2",  // ElevenLabs model
        stability: 50,                      // 0-100, higher = more consistent
        similarityBoost: 75,                // 0-100, higher = closer to original
        style: 0,                           // 0-100, higher = more expressive
        useSpeakerBoost: true               // Enhance voice clarity
      }
    }]
  }
}

Premium Voice Settings Reference

ParameterTypeRangeDescription
modelIdstring-ElevenLabs model ID (e.g., eleven_multilingual_v2, eleven_v3)
stabilitynumber0-100Voice consistency. Lower values produce more variation.
similarityBoostnumber0-100How closely the output matches the original voice.
stylenumber0-100Expressiveness. Higher values add more emotion.
useSpeakerBoostboolean-Enhances voice clarity and presence.
premiumVoiceSettings only work with ElevenLabs voices. Using them with AWS or Google voices will return a validation error.

Troubleshooting

Cause: The ElevenLabs voice ID is invalid or the voice does not exist.Resolution:
  1. Verify the ElevenLabs voice ID is correct
  2. Check that the voice exists in the ElevenLabs Voice Library
  3. Ensure your Pictory subscription includes ElevenLabs voice access
Cause: Default voice settings may not match the ElevenLabs preview.Resolution:
  1. Adjust premiumVoiceSettings — increase similarityBoost for closer matching
  2. Try a different modelIdeleven_multilingual_v2 and eleven_v3 produce different results
  3. Adjust stability — lower values produce more natural variation

Next Steps

Get Voiceover Tracks

List all voices in your library

AI Voiceover Guide

Complete guide to AI voiceover in videos

Multi-Level Voice-Over

Use different voices for different scenes

Pronunciation Guide

Control how words are pronounced