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)
| Parameter | Type | Description |
|---|---|---|
Lite — Google Veo 3.1 Lite preview | 720p $0.192857 · 1080p $0.225 · 4K $0.964286 | 4/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 Fast | 720p $0.385714 · 1080p $0.417857 · 4K $1.157143 | 4/6/8 s; text, first/last frames, references (reference requires 8 s); audio track: yes (Veo 3.1 family) |
Quality — Google Veo 3.1 | 720p $1.607143 · 1080p $1.639286 · 4K $2.442857 | 4/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.