# Local-only credentials. Copy values into .spielos/.env; never commit that file.
#
# Multi-provider TTS fallback chain (owner contract 2026-08-12): Gemini is the
# primary narration provider; Mistral Voxtral (two keys with failover),
# Cartesia, and ElevenLabs are deterministic fallbacks. All five keys must be
# present and non-empty for `node scripts/tts-providers.js --check` to pass.
# The narration persona is pinned once in
# .agents/company/departments/design/templates/video/narration.json
# (`voice_selection`) and enforced by scripts/tts-gemini.js + scripts/mix-audio.js.
GEMINI_API_KEY=
MISTRAL_API_KEY=
MISTRAL_API_KEY_2=
CARTESIA_API_KEY=
ELEVENLABS_API_KEY=

# Optional outbound home or service link. Use a domain you control; the
# default is intentionally non-deliverable.
OUTBOUND_SIGNATURE_CTA_URL=https://example.com/

# Post-transition hook (default empty = disabled).
# When set, the runtime invokes this shell command template after every goal
# transition instead of any built-in website deploy logic. Substitutions:
#   {event}        event name, shell-quoted (currently "goal_transition")
#   {payload_json} JSON payload, shell-quoted (goal_id, run_id, step,
#                  run_status, goal_status)
# Best-effort and hard-bounded: failures are logged, a hang is killed after
# 20s; it can never block or roll back a goal transition.
SPIELOS_TRANSITION_HOOK=

# Optional gate consumed by a project-specific transition hook.
SPIELOS_LIVE_PUSH=

# Optional dev.to publishing API key (local-only, never commit).
DEVTO_API_KEY=
