The Canvas is Empty

Configure your model and prompt on the left to begin creating.

{{ progress.text || 'Processing...' }}

{{ progress.detail }}

{{ formatAudioTime(audioCurrentTime) }}
{{ formatAudioTime(audioDuration) }}

Generated with Lyria — includes an inaudible SynthID watermark.

{{ result.text }}

{{ prompt }}

Seed: {{ result.seed }}

{{ prompt }}

Seed: {{ result.seed }}

Edit Prompt

{{ (prompt || '').length.toLocaleString() }} characters, {{ (prompt || '').trim() ? (prompt || '').trim().split(/\s+/).length.toLocaleString() : 0 }} words

Settings

Check models to show in the dropdown. If none are checked, all models are shown.

Venice models aren't listed here — with 350+ of them, pick candidates in the Venice tab instead, which is searchable and shows cost per model.

{{ group.name }}
{{ model.name }}
Loading models…

Replicate, Fal.ai, OpenRouter, Gemini, and Venice.ai keys are managed centrally in Writer's Config.

{{ veniceModels.length }} Venice models loaded No Venice models loaded yet

Pick which Venice models show as candidates in the model dropdown — searchable and priced, since Venice's catalog is too large to scroll through as a flat list. Aspect ratios, resolutions, durations, and image-count limits are applied automatically per model when you generate, so there's nothing to configure for those here.

Each model below links to its own Venice page (), but not every model has one. For model info and pricing that covers all of them, see Venice's own model list.

{{ group.name }} ({{ group.models.length }})
{{ model.name }} {{ model.cost }}
{{ veniceModels.length ? 'No models match "' + veniceSearch + '".' : 'Loading models…' }}

Image editing, multiple images: only some Venice edit models accept more than one input image (up to a model-specific limit, usually 6). Trying more than a model allows, or using multiple images on a model that doesn't support it, fails with a clear error at generation time rather than silently truncating your inputs.

Video/music generation is a queue-and-poll process on Venice's side and can take several minutes for video — the progress bar keeps polling until it's ready or the request times out. Video pricing isn't published by Venice yet, so cost shows as "—" for those models.

{{ geminiLibraryVoices.length }} voices loaded Loading… Not loaded yet

Google's own voice library — thousands of pre-made Gemini TTS voices tagged by language, accent, gender, and persona, on top of the 30 default names and your own custom-designed voices (Writer's Config → Gemini Voices). Pick candidates below to add them to the Voice dropdown; nothing here is fetched until you load the library (needs your Gemini key), since the catalog is too large to show without filtering first.

{{ geminiLibraryError }}

Picked ({{ pickedLibraryVoices.length }})
{{ v.display_name }} — {{ v.accent || v.language_code }}
{{ v.display_name }} {{ v.language_code }} · {{ v.accent }} · {{ v.gender }}
{{ v.description }}
Search or pick a language to browse — {{ geminiLibraryVoices.length }} voices is too many to list at once.
No voices match.
Showing the first 150 matches — narrow your search for more.

Manual OpenRouter Models

Add models that don't appear automatically (e.g. standard Flux).

{{ manual.name }} {{ manual.id }}

No custom models yet.

Custom Fal.ai Models

{{ m.label }} {{ m.outputType }} · {{ m.requiresImage ? 'image required' : m.optionalImage ? 'image optional' : 'text only' }}

No custom models yet.

Paste a fal.ai model page URL to auto-configure it.

{{ falFetch.error }}

{{ falFetch.preview.originalUrl }}
Output
Image input
API field name
Resolution options (comma or newline separated)
API field name
Enum values
Safety checker
Extra Parameters (sent with every request)
Duration (video models)
Min (s)
Max (s)
Step (s)
Default (s)
Named Image Inputs (e.g. start_image / end_image)

Custom Replicate Models

{{ m.label }} {{ m.modelId }}

No custom models yet.

Paste a replicate.com model URL to auto-configure it.

{{ replicateFetch.error }}

{{ replicateFetch.preview.originalUrl }}

No hash found — community models work without it; official/gated models need it.

Output
Image input
API field name
Size / ratio field
Enum values (comma-separated)
Safety checker
Extra Parameters (sent with every request)
Duration (video models)
Min (s)
Max (s)
Step (s)
Default (s)
Named Image Inputs (e.g. start_image / end_image)

Backup & Restore

{{ configMsg.text }}

Error

{{ error }}

Used Secondary Key

{{ fallbackNotice }}

History

{{ item.result.text }}
{{ item.prompt }}