Theme
Language

Photo to talking video

Production pipeline from a photo to speech and a talking avatar: ElevenLabs TTS, Kling Avatar and OmniHuman requests, quotes, job statuses, retries and result retention.

Photo-to-talking-video pipeline: create speech with elevenlabs-v4-tts, pass its result URL with a portrait to kling-ai-avatar or omnihuman-v2 (the recommended OmniHuman; omnihuman-v1.5 stays available). Authenticate with Authorization: Bearer $GETVIBE_API_KEY. Quote every step with POST /api/media/price, then create it with POST /api/media/generate and the returned quote id. ElevenLabs engines are v4 and turbo, both accept up to 5,000 characters and price per character; avatar models price by measured seconds. Poll GET /api/media/jobs/{jobId} until success, then pass resultUrls[0] into the next step. Reuse returned URLs and check resultsExpireAt (7 days after completion). Use the same Idempotency-Key and body when retrying a lost create response; when submission is uncertain, keep polling the same job.

Veo 3.1 tiers and USD quotes (FX 88 reference)

ParameterTypeDescription
Lite — Google Veo 3.1 Lite preview720p $0.192857 · 1080p $0.225 · 4K $0.9642864/6/8 s; text, first/last frames, references (reference requires 8 s); audio track: yes (AAC verified on a completed production MP4)
Fast — Google Veo 3.1 Fast720p $0.385714 · 1080p $0.417857 · 4K $1.1571434/6/8 s; text, first/last frames, references (reference requires 8 s); audio track: yes (Veo 3.1 family)
Quality — Google Veo 3.1720p $1.607143 · 1080p $1.639286 · 4K $2.4428574/6/8 s; text and first/last frames only; audio track: yes (Veo 3.1 family)

Google describes Veo 3.1 as video generation with native audio. This API has no audio toggle. Prices shown are price-function quotes at the stated reference FX; use POST /api/media/price for the current account currency and amount. SkyReels accepts a portrait in image_url plus audio_url, or 1–5 reference_image_urls plus audio; video duration is 3–15 seconds.

Photo to talking video API — TTS and talking avatar | GetVibe API