Skip to main content

Puppetry for AI Agents

Machine-readable capabilities and API integration guide

Studio checkout returns you to API key settings after payment.

What Puppetry Can Do

🎬 Text → Video

Provide a portrait image + text script → get a talking head video with AI-generated speech

🎙️ Audio → Video

Provide a portrait image + audio file → get a lip-synced talking head video

🎥 Video → Video

Provide a portrait image + driving video → transfer motion to the portrait

🗣️ 500+ AI Voices

65+ languages including Arabic, Hindi, Spanish, French, Japanese, Korean, and more

Machine-Readable Resources

ResourceURLFormat
OpenAPI Spec/openapi.jsonOpenAPI 3.1
AI Plugin Manifest/.well-known/ai-plugin.jsonJSON manifest for voice, TTS, and hosted audio uploads
LLMs.txt/llms.txtPlain text
LLMs Full/llms-full.txtPlain text
Robots.txt/robots.txtPlain text

Puppetry Voice API for Agents

Studio includes a Developer API beta for Puppetry voices, hosted audio uploads, and signed asset URLs. The Puppetry Voice API uses Puppetry voices only and does not include ElevenLabs or OpenAI voices.

Agent checkout handoff

Send users to the Studio checkout URL when they ask to enable Puppetry Voice API access. The URL preserves the current Studio beta promo and the agent return context.

https://www.puppetry.com/pricing?plan=studio&interval=yearly&autoCheckout=true&promo=PUPPETRY2026&ref=agent-voice-api

After payment

Send signed-in users to API Keys to create their key and copy integration examples.

https://www.puppetry.com/studio/settings/api-keys?intent=voice-api

Hosted audio upload

Use the signed upload URL endpoint for user-owned audio files before creating API workflows.

POST /api/v1/uploads/audio-url

Body fields: mime_type and content_length.

Conservative beta limits

  • 1 active API key per account
  • 10 requests per minute
  • 2 concurrent API jobs
  • 100k Puppetry Voice characters per month
  • 2GB hosted API audio storage
  • 250 audio uploads per month
  • 50MB max per uploaded audio file

Quick Start

# 1. List public Puppetry voices (GET /api/v1/voices/puppetry)
curl https://www.puppetry.com/api/v1/voices/puppetry \
  -H "Authorization: Bearer YOUR_API_KEY"

# Response: { "data": [{ "id": "puppetry-af_heart", "name": "Heart" }] }

# 2. Generate speech with a Puppetry voice (POST /api/v1/tts/puppetry)
curl -X POST https://www.puppetry.com/api/v1/tts/puppetry \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "voice_id": "puppetry-af_heart",
    "text": "Hello! Welcome to my channel.",
    "speed": 1
  }'

# Response: { "audio_url": "https://...", "usage": { "voice_characters": { ... } } }

AUDIO_FILE="./audio.mp3"
CONTENT_LENGTH=$(wc -c < "$AUDIO_FILE" | tr -d ' ')

# 3. Create a hosted upload URL for existing audio (POST /api/v1/uploads/audio-url)
UPLOAD_BODY=$(node -e "console.log(JSON.stringify({mime_type: 'audio/mpeg', content_length: Number(process.argv[1])}))" "$CONTENT_LENGTH")
UPLOAD_JSON=$(curl -sS -X POST https://www.puppetry.com/api/v1/uploads/audio-url \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d "$UPLOAD_BODY")

UPLOAD_URL=$(node -e "const r=JSON.parse(process.argv[1]); console.log(r.upload_url)" "$UPLOAD_JSON")
READ_URL=$(node -e "const r=JSON.parse(process.argv[1]); console.log(r.read_url)" "$UPLOAD_JSON")

curl -sS -X PUT "$UPLOAD_URL" \
  -H "Content-Type: audio/mpeg" \
  -H "Content-Length: $CONTENT_LENGTH" \
  --upload-file "$AUDIO_FILE"

printf "\nSigned read URL:\n%s\n" "$READ_URL"

Integration Ideas

  • 📚 Education platforms: Auto-generate instructor videos from course scripts
  • 📧 Email marketing: Personalized video messages at scale
  • 🛒 E-commerce: Product demo videos from product descriptions
  • 📰 News/content: Convert articles into video summaries
  • 💬 Customer support: Video responses to common questions
  • 🎮 Game dev: NPC dialogue videos from character portraits
  • 🌐 Localization: Translate and re-voice videos in 65+ languages

Frequently Asked Questions

What is Puppetry?

Puppetry is an AI video creation platform that turns any photo into a talking head video. Upload a portrait, type a script or upload audio, and get a realistic lip-synced video in minutes.

How much does Puppetry cost?

Plans start at $3/month (Starter). Creator is $15/month with 100 videos and all features. Studio is $30/month with voice cloning, priority rendering, and 300 videos/month.

Can I use my own voice?

Yes. You can upload any audio file up to 5 minutes, or clone your voice with just 30 seconds of sample audio.

What languages does Puppetry support?

Puppetry supports 65+ language codes including Arabic, Hindi, Spanish, French, Japanese, Korean, Mandarin, and many more. We offer 500+ AI voices across these languages.

Can I use Puppetry videos commercially?

Yes, all paid plans (Starter, Creator, Studio) include full commercial licensing rights.

Does Puppetry have an API?

Yes. Studio includes the Developer API beta for Puppetry Voice API access, hosted audio uploads, signed asset URLs, and browser-readable rate limits.

How long does it take to generate a video?

Most videos render in under 10 minutes depending on length and complexity.

Can I add captions to my videos?

Yes. Caption Studio provides automatic speech-to-text transcription, multiple caption styles, word-level highlighting, and exports with burned-in captions or SRT/VTT files.

Limits & Pricing

Free tier includes limited video generations. Paid plans offer higher quotas and no watermarks. Studio includes the Developer API beta for Puppetry Voice API and hosted audio uploads. See pricing for details.

For enterprise API access or custom integrations, contact support@puppetry.com