Varosity

One key for AI video, voice, music, and image across 40+ frontier models.

От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетНужен API-ключГлобальныйБесплатноТолько чтение

Что умеет

  • List Models: List available generation models with pricing and capabilities. Filter by kind (video, voice, music, image) to narrow results. byokPricePerSec = BYOK/agent rate (your own API key); credit
  • List Voices: List voices available to generate_voice. Returns the built-in provider voices (ElevenLabs / OpenAI TTS / Deepgram Aura 2) plus the user's saved library. Each entry has { voiceModel, voice
  • Suggest Model: Recommend the best models for a shot. Pass aspectRatio and budgetPriority for better results. Returns ranked list with reasoning.

Какие данные видит

Нужен ли аккаунт

Нужен API-ключ из настроек сервиса

One key for AI video, voice, music, and image across 40+ frontier models. BYOK zero markup or Varosity credits. Async job orchestration, capability discovery, and multi-shot rendering — one request shape for every provider.

Список инструментов сервера (43)

Технические названия из tools/list. Нужны только разработчикам.

list_modelsList available generation models with pricing and capabilities. Filter by kind (video, voice, music, image) to narrow results. byokPricePerSec = BYOK/agent rate (your own API key); creditsPricePerSec = platform credits rate (byokPricePerSec × 1.05). Check unavailable=true before submitting — unavailable models reject immediately. Use suggest_model for AI-assisted selection.
list_voicesList voices available to generate_voice. Returns the built-in provider voices (ElevenLabs / OpenAI TTS / Deepgram Aura 2) plus the user's saved library. Each entry has { voiceModel, voiceId, name, description } — pass voiceModel as modelId and voiceId as voiceId to generate_voice. Voice IDs are provider-specific (e.g. Deepgram wants 'aura-2-thalia-en', not 'aura'); use these exact ids.
suggest_modelRecommend the best models for a shot. Pass aspectRatio and budgetPriority for better results. Returns ranked list with reasoning.
refresh_skillsFetch the latest versions of all Varosity-managed skills from varosity.ai. Returns an array of {slug, version, content, suggested_paths} for each skill. suggested_paths lists install locations for common MCP runtimes (Hermes, Claude Code, Claude Desktop, generic). Write content to the path that matches your runtime. Call at the start of any video production session or when tool schemas feel stale.
list_projectsList the user's projects, most recently updated first (max 50). Returns id, name, slug, aspect_ratio. Use get_project to fetch shots for a specific project. For brand-agent runs, call create_project first and reuse its id across all generate_video calls — do not create a new project per shot.
get_projectFetch a single project + its shot list.
delete_projectPermanently delete a project and all its shots. Cannot be undone.
create_projectCreate a new empty project. Returns { projectId, slug }. Pass projectId to generate_video so all shots from a run land in one project. Create once per run, not once per shot.
list_templatesCurated storyboard templates (Product demo, Testimonial, Social hook, Explainer). Clone with create_project_from_template.
create_project_from_templateClone a template into a fresh project owned by the caller. Returns { projectId, shotCount }.
generate_videoSubmit a VIDEO render job — modelId must be a video model (kind=video; e.g. veo-3.1, kling-3.0, ws-pika-2.2). For images use generate_image (NOT this tool — image models like flux-1-schnell/recraft-v3 are not video). Returns { jobId, projectId }. jobId == shotId — poll status via get_job until status='succeeded', then retrieve outputUrl. Always call pick_reference_images first if the user has not supplied a reference image; pass the chosen URL as reference_image_url. For AVATAR / LIP-SYNC models (omnihuman, heygen-photo-avatar, muapi-latentsync): pass the source photo as reference_image_url AND the spoken audio track as audio_url (a public mp3/wav URL) — the avatar's lips track THAT audio instead of provider-generated TTS. For muapi-latentsync, reference_image_url is the source VIDEO url. Per-model knobs (e.g. HeyGen avatarId/voiceId/engine) ride on providerOptions. Pass project_id from create_project to group all shots from a run into one project. Scope required: generate:video.
pick_reference_imagesGenerate N candidate reference images in parallel for the user to choose from BEFORE video generation. Call this when the user has not supplied their own reference image. Returns an array of {index, imageUrl} objects — show all of them to the user with their index numbers and ask which one they prefer. Pass the chosen imageUrl as reference_image_url in the subsequent generate_video call. Default count is 3. Uses the same image model as generate_image.
get_jobPoll a video render job (jobId == shotId). Returns status + outputUrl when done. Video renders take time: fast models (LTX, ws-pika) ~30s; Kling 3.0 / Veo 3.1 / Seedance 60–120s; up to ~3min under load. `running` past 60s is NORMAL — keep polling every ~5–8s until status is `succeeded` or `failed`. Do not conclude a job is hung before ~3–4 minutes. `succeeded` always carries an outputUrl.
render_projectStitch every shot in a project into a single MP4. Returns the final URL.
render_shotRender video for an existing idle shot created by render_storyboard. Reads the shot's model, prompt, duration, and bound reference images from the DB, then submits to the provider. Returns { jobId, modelId, projectId }; poll via get_job.
generate_imageGenerate or EDIT an image. This is the tool for ALL image models (kind=image — flux-1-schnell, recraft-v3, aurora, dall-e-3, gemini-3.1-flash-image, nano-banana, etc.). Synchronous (1–3 s): returns { imageUrl, modelId } DIRECTLY — there is no job to poll and no get_job step (that's video only). IMAGE-TO-IMAGE: pass referenceImageUrl (a public image URL) to edit/restyle a source image while preserving its subjects — use modelId "nano-banana" for best identity/element preservation (e.g. keep a logo or face, redesign around it). Do NOT pass image models to generate_video. For end-user choice among candidates, prefer pick_reference_images. Scope required: generate:image.
plan_brand_runClaude-powered brand run planner. Reads the brand's identity pack and recent memory (characters, locations, past performance, published assets) and returns a structured RunPlan with per-shot imagePromptHint, voiceover script, and platform routing. Call before generate_video when operating as a brand agent. Requires brand:read scope.
generate_creative_biblev4 Bible step — generates a creative bible for a run BEFORE storyboard planning. Calls Claude to produce a premise, visual philosophy, and cast of characters/locations with locked descriptions, then generates one Flux reference image per character and location. Writes the result to runs.bible and returns the BibleDocument. Open a bible-phase approval gate after calling this so the operator can review the character references before any storyboard is planned.
generate_end_cardGenerates a branded end-card PNG from brand identity (name, tagline, color palette, logo). Uploads the image to varosity-assets and attaches it to the brand as role='end_card'. The render bridge automatically picks up this asset for the next project stitch. Returns { asset_id, url }.
list_brand_agentsList the caller's brand agents. Brand-scoped tokens see only their permitted brands.
run_brand_agentKick off a single run for a brand. Inserts a varosity.runs row with status='queued' and returns it. The agent loop walks the run forward via `generate_video`, the runs PATCH endpoint, and `gate_decide`.
gate_decideApply an operator decision to a run's open gate. Decisions: approved | revised | rejected | auto_approved. Run status transitions: approved/auto_approved → 'approved', revised → 'briefing', rejected → 'rejected'.
plan_storyboardv4 Director — Claude-powered storyboard planner. Emits an 8-section plan (premise / visual_style / characters / locations / shots / audio / continuity / mode_recommendation) and persists it to varosity.storyboards. Brand context, project Style Bible, and typed Asset Library reuse all flow into the prompt. Caller can pass mode_hint to force grid vs keyframes; otherwise the Director picks.
generate_storyboard_gridGenerate a single composite grid image covering all shots in a storyboard — best when shots share a consistent visual style or the operator wants one unified reference sheet. Binds the result to the storyboard and auto-attaches it to every shot at render time. Use generate_storyboard_keyframes instead when each shot has meaningfully distinct content. Call suggest_storyboard_mode first if unsure. Requires storyboards:write scope.
generate_storyboard_keyframesGenerate one keyframe still per shot in parallel — best when shots have distinct content (different characters, locations, or visual moods). Returns ordered asset IDs bound to the storyboard. Use generate_storyboard_grid instead when shots share a unified visual style and a single reference sheet suffices. Call suggest_storyboard_mode first if unsure. Requires storyboards:write scope.
regenerate_keyframev4 Director — re-rolls a single keyframe panel without disturbing the others. Replaces the asset_id at storyboards.keyframe_asset_ids[shot_index]. Optional prompt_override redirects that one panel.
suggest_storyboard_modev4 Director — heuristic-only routing between Mode A (grid) and Mode B (keyframes) for a brief. Cheap, no LLM call. Used by the canvas brief bar pre-plan; the Director's mode_recommendation is canonical once a plan exists.
render_storyboardv4 Director — materializes an approved storyboard into the existing Studio primitives: ensures a project, inserts one shot per plan.shots[] (storyboard_shot_index set), binds the grid asset to every shot (Mode A) or the per-shot keyframe (Mode B) via shot_assets. Idempotent on a single storyboard. Returns project_id + ordered shot_ids; callers kick off per-shot generate + stitch via existing endpoints.
generate_storyboard_audioGenerate voiceover + music for a storyboard from its plan.audio section (ElevenLabs BYOK). Writes voiceover_url and music_url to the storyboard row — render_storyboard then injects them into the project's audio tracks. Non-fatal when ElevenLabs is not configured; returns { ok: false, reason } instead of throwing.
generate_voiceSynthesize speech from text. Returns { audioUrl }. Pass voiceId for the provider's voice. Optionally set modelId to a Varosity voice model (elevenlabs-tts, openai-tts-1, deepgram-aura-2); defaults to ElevenLabs. Scope required: generate:voice.
clone_voiceClone a voice from audio samples (Instant Voice Cloning). Pass name + sampleUrls (public audio URLs; 30s–2min of clean speech works best) and optionally provider (elevenlabs default, cartesia, fish-audio). Returns { voiceId } usable immediately in generate_voice (set voiceModel to the matching provider for cartesia/fish). The clone is private to you. Scope required: generate:voice.
design_voiceDesign a brand-new voice from a text description (ElevenLabs Voice Design). Returns audition previews [{ generatedVoiceId, audioUrl }]. Pass voiceName to also save the first preview as a reusable voice and get its { voiceId }. Scope required: generate:voice.
sound_effectGenerate a sound effect from a text prompt (ElevenLabs sound generation). Returns { audioUrl }. Optionally set durationSeconds (0.5–30) and promptInfluence (0–1). Scope required: generate:voice.
voice_changerSpeech-to-speech: convert a source recording (audioUrl) into a target voice (voiceId) while keeping the original delivery/performance. Returns { audioUrl }. Scope required: generate:voice.
transcribe_audioSpeech-to-text + optional speaker diarization (ElevenLabs Scribe). Returns { languageCode, durationSec, text, speakers, segments } where segments are contiguous same-speaker runs with start/end seconds — use them to pick clean windows (e.g. for clip_audio → clone_voice). Scope required: transcribe:audio.
clip_audioTrim one source recording into one or more hosted mp3 clips. Provide segments as [{start,end}] in seconds; returns { clips: [{url,start,end,bytes}] }. The clip URLs feed straight into clone_voice as sampleUrls. Scope required: generate:voice.
generate_musicGenerate a music track. Returns trackId + audioUrl when ready.
list_webhooksList the caller's configured webhook endpoints (secrets are masked).
create_webhookRegister a new webhook. Returns the signing secret ONCE — store it server-side.
test_webhookFire a dummy shot.generation.completed event at one of your webhooks (signature-verify smoke test).
delete_webhookRevoke a webhook by id. Irreversible.
verify_assetVerify whether an asset is AI-generated and inspect its provenance: C2PA content credentials (present/valid/issuer), durable watermark + fingerprint match, and history. Public — no API key required. Satisfies the EU AI Act Article 50 detection obligation.
govern_assetMake any AI-generated asset compliance-grade: embeds a signed C2PA manifest, an invisible watermark + perceptual fingerprint (durable re-discovery), a visible per-jurisdiction disclosure label, a Claude claim-risk scan, and a tamper-evident audit-log entry. Works across any model.
Varosity: подключить к Claude, ChatGPT, Cursor · Connectors.fun