align_audio
ChatGPTAlign the intended transcript to owned audio/video with ElevenLabs forced alignment. Independently transcribes speech and returns a comparison audit; alignment alone does not prove words were spoken correctly. Poll media_job_status for timed words and word-level SRT/VTT.
characters_create
ChatGPTSave a named character from an owned image, or generate a character from a prompt. The prompt option spends credits. Reuse the character ID as {kind:character,id} once characters_list reports succeeded.
characters_delete
ChatGPTDelete a saved character from your account. This cannot be undone.
characters_list
ChatGPTList your characters, generation status and reference images.
characters_rename
ChatGPTRename one of your saved characters.
characters_set_favorite
ChatGPTFavorite or unfavorite a saved character.
characters_set_project
ChatGPTFile a saved character in one of your projects, or set projectId=null to remove it from projects.
characters_set_voice
ChatGPTChange or clear the saved voice for a character. Use list_voices to choose a supported voice ID; use null to remove the saved voice.
content_factory_plan
ChatGPTTurn a topic into a reviewable one-episode narrated-video plan: a short spoken script and silent B-roll prompts. Supports 15–60 seconds. No Dare credits are spent. The user must review the script and scenes, choose a narrator voice, and approve the narrated workflow quote before generation.
estimate_alignment_cost
ChatGPTQuote script verification plus ElevenLabs forced alignment using the actual media duration.
estimate_audio_cost
ChatGPTQuote speech with the exact generation input and shared billing formula. Seed Audio quotes its 120-second maximum reservation and releases unused credits after generation. ElevenLabs charges input characters by engine. Eleven v4 is the default for highest quality; use v4 Turbo for real-time latency.
estimate_caption_cost
ChatGPTQuote captioning with the exact generate_captions input and shared billing formula. Reusing a completed alignment charges only rendering, with no extraction, transcription or alignment charge.
estimate_explainer_cost
ChatGPTEstimate Explainer Studio credits from the supplied topic, style, model, assets, voice, aspect ratio and caption settings. Uses the same estimate as the web app. This tool submits no generation and spends no account credits.
estimate_image_cost
ChatGPTEstimate image credits using the same model params and references as generate_image. Prompt is optional. Does not submit generation or spend credits.
estimate_lip_sync_cost
ChatGPTQuote one exact-audio lip-sync run from an owned video and owned audio track. Their measured durations must match within 0.25 seconds. The complete audio track sets the output runtime; Dare trims or holds only the picture. This uses the same Sync Lipsync 2 pricing and validation as the paid run and spends no credits. Pass the returned total unchanged to lip_sync after approval.
estimate_marketing_studio_cost
ChatGPTQuote one finished Marketing Studio ad from the exact brief, model, duration, format, audio, caption, character and product configuration. This resolves and validates every owned reference through the app pipeline. It spends no credits. Pass the returned credit total unchanged to marketing_studio after the user approves it.
estimate_narrated_video_cost
ChatGPTQuote a finished narrated or faceless video. Choose a public ElevenLabs voice with list_voices; approve the complete script, ordered silent B-roll prompts, maximum narration runtime, format and captions. The quote covers one coherent narration, silent Seedance B-roll and hosted assembly. Show maximumSeconds and the full credit total before approval. The actual full narration sets output duration; exceeding the approved maximum fails and refunds without truncation. Use workflow_create with workflow=narrated for resumable voice/script choices and review.
estimate_sandbox_exec_cost
ChatGPTEstimate the provisional credit cost for one foreground command or funded background job. instanceSize defaults to standard; choose xl for more CPU, memory and disk. maxRuntimeSeconds is the total funded container window, including startup, media imports, restore, command execution, checkpoint and shutdown. The quote includes the selected Cloudflare instance's CPU, memory, disk and maximum egress list cost with the current margin target. It excludes platform overhead. No command is run.
estimate_sandbox_export_cost
ChatGPTEstimate the provisional credit cost for saving one image, video, or audio file from the sandbox to the Dare library. instanceSize defaults to standard; choose xl for more CPU, memory and disk. maxRuntimeSeconds is the funded window for starting the container, reading the file, and transferring up to 5 GiB. Files over 32 MiB use 32 MiB multipart chunks. The quote includes the selected Cloudflare instance's CPU, memory and disk list cost with the current margin target. It excludes egress and platform overhead. No file is transferred.
estimate_sound_scene_cost
ChatGPTQuote one Seed Audio sound scene. Use a single prompt for dialogue, speakers, ambience, music and timed sound cues, with up to three ordered audio references. The quote reserves Seed Audio's 120-second maximum; unused credits are released after output duration is measured. No job is submitted.
estimate_swap_cost
ChatGPTQuote one Swap Studio Motion Transfer, Object Swap or person-only Image Swap using exactly the complete swap_studio input. Validates owned named references and the measured source through the app pipeline before quoting shared billing. Prompt is optional; Runway uses it only to select the source item. No generation is submitted or charged. Inspect the chosen model with models_get and tool=swap_studio before choosing quality and reference counts.
estimate_transcription_cost
ChatGPTQuote hosted transcription of owned audio/video; includes duration-based provider and extraction costs.
estimate_translate_video_cost
ChatGPTQuote Translate Studio language dubbing plus mouth-matched lip sync for an owned video and one target language. The quote resolves the owned source and uses its measured duration. It spends no credits. Pass the returned total unchanged to translate_video after approval.
estimate_upscale_cost
ChatGPTQuote 2× or 4× Topaz upscaling for one owned image or video. No generation is submitted and no credits are spent. Pass the same source and factor to upscale_media after approval.
estimate_video_analysis_cost
ChatGPTQuote scene analysis for an owned video without starting work or spending credits. Uses the same fixed credit price as billing and reports current balance and affordability. The balance is checked again and credits charged before analysis starts.
estimate_video_cost
ChatGPTEstimate Dare credits from BytePlus pricing for Seedance 2.5 text-to-video or image-reference generation. Uses model ID seedance-2-5. Supports 4–30 seconds at native 480p, 720p or 1080p. This quote does not validate references, submit a generation, or spend credits. Video/audio references are not supported by this quote.
estimate_voice_change_cost
ChatGPTQuote replacing the spoken voice in an owned video with a public ElevenLabs voice. Supports clips up to five minutes and 50 MB. The quote uses measured source duration and includes hosted audio muxing. No work is submitted. Pass the same video and voiceId to voice_change after approval.
explainer_options
ChatGPTList Explainer Studio's two video models (Lite and Pro), styles, voices, aspect ratios, caption defaults and input requirements. Lite (wan-3) is the default video model.
generate_audio
ChatGPTCreate one standalone speech audio file from text with Seed Audio 1.0 or ElevenLabs. This paid action spends the connected account's Dare credits. Before calling it, choose a supported voice, call estimate_audio_cost with the same input, and get the user's approval. For one narrator, use the complete script in one request; distinct speakers can use separate requests and voice IDs. Seed Audio supports @Audio1–@Audio3 reference voices. Returns an owned job ID to poll with media_job_status, and saves the completed audio to the library. Never automatically play the output.
generate_audio_batch
ChatGPTCreate up to six independent speech audio files in one paid batch. Each accepted request spends the connected account's Dare credits. Before calling it, quote every request with estimate_audio_cost, show the total, and get the user's approval. Stable caller indices map requests to results. Preserve successful job IDs on partial failure, poll every accepted ID with media_job_status, and do not retry the entire batch or resubmit accepted jobs.
generate_captions
ChatGPTBurn captions into an owned video. Reuse clean narration timing with alignment:{jobId,offsetSeconds:0} from a completed align_audio job on this account; no new speech analysis is performed or charged. Use only when speech timing is unchanged apart from that offset. Alternatively supply transcript for script audit + forced alignment; omit both to use hosted Scribe. Transcript and alignment are mutually exclusive. Settings include fontFamily, fontSizePx, pixel margins, colors, outline/shadow, word/character/line limits, gap/duration limits, hold and text case. Preserves audio through picture-only rendering. Poll media_job_status for the asset, words, audit, and actual rendered phrase cues with measured line breaks and SRT/VTT. SRT/VTT carries text/timing, not ASS styling or active-word highlight animation. Up to five minutes. Requires the media-render container.
generate_explainer
ChatGPTCreate one finished explainer video through Explainer Studio's planner, continuity, audio, caption and stitching pipeline. This paid action spends the connected account's Dare credits. Call explainer_options and estimate_explainer_cost with the same configuration, then get the user's approval. Mint one UUID idempotencyKey for the approved attempt and reuse that key with unchanged inputs for transport retries; concurrent retries return the same generation ID without another charge. Returns one generation ID for jobs_wait. resumeFrom continues an owned failed Explainer Studio generation from compatible saved checkpoints and needs a new key for the newly approved attempt.
generate_image
ChatGPTCreate one or more images from a text prompt with a supported Dare image model. This paid action spends the connected account's Dare credits. Before calling it, use models_get to validate model-specific params, call estimate_image_cost with the same params and references, and get the user's approval. Optional references must be owned uploads, products, characters or completed generations; address them as @ref1, @ref2 and so on. Prompts default to verbatim. Returns generation IDs to poll with jobs_wait. Do not resubmit while any returned ID is queued or processing.
generate_video_batch
ChatGPTSubmit up to six paid video requests. Each request has model params, references and count. Use @ref1 etc. for references. A successful call may charge credits. Keep every returned generation ID. An identical request with active jobs returns those same IDs without a new submission or charge. Use jobs_wait to poll. Never resubmit queued or processing jobs. Ask the user before a new paid attempt after a terminal failure. Results use zero-based request indices; a submission failure stops later entries.
generation_cancel
ChatGPTRequest cancellation of an active generation. Partial scene work may remain billable; check its final status and billing result with show_generation_by_ids.
generation_delete
ChatGPTRemove a generation from your library. This cannot be undone.
generation_rename
ChatGPTRename one of your saved generations.
get_connected_profile
ChatGPTReturn the stable identity and display email of the Dare account represented by the authenticated connection.
get_preset_instructions
ChatGPTRead a workflow recipe without executing it. Omit preset to list commands. Use /ugc-video for format-guided product and website ads; profiles cover review, product, unboxing, try-on, tutorial and website. Use /content-factory for a one-episode topic-led narrated video, /creator-clips for analysis-led clips from an owned upload, /swap-studio for Motion Transfer and person-only Image Swap, or edit_video with Seedance Edit for physical products; use /video-editing for a finished video from a supplied script, beat sheet or footage, and /marketing-adapt-video to adapt an existing reference ad. Use /explainer-studio for a finished explainer video.
get_profile
ChatGPTReturn the connected account's primary email and available Dare credits.
jobs_wait
ChatGPTWait up to 5 seconds for the specified owned generation jobs. Completed studio jobs include any material generation warnings. complete=false means the original jobs remain active. Call jobs_wait again with pendingIds. Never call a generation tool while an ID is queued or processing. Polling never submits work or spends credits. A refund exists only when status=failed and billingStatus=refunded.
list_voices
ChatGPTList public provider voices with gender, languages, accent, delivery, descriptions, available preview URLs and metadata sources. Missing attributes are unknown. Filter exactly by gender/language code/accent; search matches words across names and descriptions. No playback or charge. Use model=seed_audio or text2speech_v2; paginate with next_cursor. Saved character voices use voice_type=element and voice_id=character ID.
media_confirm
ChatGPTAfter a successful upload PUT, save it to your library. Returns the upload ID to use in {kind:upload,id} references. Poll media_get until the asset status is succeeded before referencing it.
media_delete
ChatGPTDelete an owned upload from the connected Dare account's library.
media_get
ChatGPTRead an owned library upload's status, metadata and URLs.
media_import
ChatGPTAdd an image, video or audio file attached in chat to the connected Dare account's library in one call. Files must be at most 100 MB. Returns the upload ID to use in {kind:upload,id} references. Poll media_get until the asset status is succeeded before referencing it.
media_job_status
ChatGPTRead an owned speech/transcription/alignment/caption job. Completed media includes an upload reference; poll media_get until its asset is ready before reuse. No automatic playback.
media_list
ChatGPTList your uploaded library assets, newest first, with a pagination cursor.
media_rename
ChatGPTRename an owned library upload.
media_set_favorite
ChatGPTFavorite or unfavorite an owned library item by its library item ID.
media_upload
ChatGPTReserve an image, video or audio upload. Supply the actual file size in bytes. PUT the file to uploadUrl with its Content-Type, then call media_confirm. No ZIP archives or local-path reading.
models_get
ChatGPTInspect a model's accepted params and reference limits. Use these exact params with generate_image, generate_video_batch, generate_audio or upscale_media. Swap models return the whole accepted swap_studio input schema with mode-specific named references and source constraints. Specify tool for model IDs listed under several tools, including nano-banana-2. Unsupported model/tool pairs fail.
models_list
ChatGPTList the model IDs accepted by Dare's image, video, speech and Swap Studio tools.
products_create
ChatGPTSave a named product and factual description from an owned image reference. Reuse the returned ID as {kind:product,id} in generation references.
products_delete
ChatGPTDelete a saved product from your account. This cannot be undone.
products_list
ChatGPTList your saved products with images and descriptions.
products_rename
ChatGPTRename one of your saved products.
products_set_favorite
ChatGPTFavorite or unfavorite a saved product.
products_set_project
ChatGPTFile a saved product in one of your projects, or set projectId=null to remove it from projects.
project_media_favorite
ChatGPTMark or unmark an item in one of your projects as featured media for its final cut.
project_media_file
ChatGPTMove an owned library item into one of your projects, or set projectId=null to unfile it. This does not delete the media.
project_media_list
ChatGPTList owned library items filed in one of your projects. Use nextCursor for additional results.
projects_browse_public
ChatGPTBrowse public Dare projects. Set community=true for public-unlisted community projects; otherwise browse curated projects. Continue with nextCursor.
projects_create
ChatGPTCreate a private project in the connected Dare account. Then file owned library media into it with project_media_file.
projects_delete
ChatGPTDelete a project owned by the connected account. Its media remains in the library and becomes unfiled. This cannot be undone.
projects_duplicate
ChatGPTDuplicate a project owned by the connected account, including its project media and timeline. The copy is private.
projects_get_public
ChatGPTRead a public Dare project by ID, including description, tags, cover, final cut and visibility.
projects_list
ChatGPTList projects owned by the connected Dare account, including descriptions, cover/final-cut URLs, visibility, pin state and timeline ID.
projects_remix_public
ChatGPTCopy a curated public Dare project into the connected account. Only projects published as curated examples can be remixed.
sandbox_export
ChatGPTSave one image, video, or audio file from the completed sandbox workspace to the Dare library. Use the workspace path returned by sandbox_exec or a path under /workspace/session. Use the same instanceSize as the sandbox command. Call estimate_sandbox_export_cost first, show the quote and get approval, then pass the same instanceSize, maxRuntimeSeconds and quote with one UUID idempotencyKey. Reuse the key unchanged for transport retries. The server reserves an upload and streams the file directly from the private workspace to Dare storage; large files use 32 MiB multipart chunks. File bytes never pass through the agent. Files must be at most 5 GiB. Returns the upload ID; poll media_get until the asset is ready.
sandbox_job_kill
ChatGPTStop a running Dare background sandbox job and settle its funded runtime. Use the job_id returned by sandbox_exec with background:true.
sandbox_job_status
ChatGPTRead the status and recent output of a Dare background sandbox job. Use the job_id returned by sandbox_exec with background:true. Status checks do not spend credits.
show_generation_by_ids
ChatGPTRead owned generation jobs with explicit terminal and billing status. Completed studio jobs include any material generation warnings. queued or processing means the original job remains active. Reuse pendingIds with jobs_wait. A refund exists only when status=failed and billingStatus=refunded. This tool never submits work or spends credits.
transcribe_audio
ChatGPTTranscribe owned audio/video with hosted Scribe v2 or Whisper, up to five minutes. Returns a job ID; poll media_job_status for transcript, timed words, speaker labels where available, and word-level SRT/VTT. Does not require local Whisper.
video_analysis_create
ChatGPTStart paid scene analysis using Ad Studio's analyzer. Call estimate_video_analysis_cost first. Source is an owned uploaded or generated video. Credits are charged against your balance before work starts and refunded on failure. Returns an analysis ID; poll video_analysis_status. Requires the media-render container. Longer videos can reduce observation accuracy.
video_analysis_status
ChatGPTRead an owned scene analysis. Completed output contains structured scenes with source timing, visuals, dialogue, audio, graphics and uncertainties, from Ad Studio's source analyzer.
voices_get
ChatGPTGet a public voice's description, gender, languages, accent, delivery, preview URL and metadata sources. Missing values are unknown. IDs belong to the selected provider catalog.
web_link_delete
ChatGPTDelete a saved web link from your library. This cannot be undone.
web_link_get
ChatGPTRead a saved web link and its processing status by ID.
web_links_list
ChatGPTList saved web links. Continue with nextCursor to retrieve older links.
workflow_list
ChatGPTList up to 50 recent owned workflow drafts that remain available within seven days. Spends no credits.