Image & Video Sessions
Generate, manage, and animate images directly inside your character project.
- Overview
- Creating an Image Session
- The Visualize Button: From Story to Image Prompt
- The Prompt Bar
- Uploading Photos
- The Gallery
- Image Action Buttons
- Editing Images with AI
- Image-to-Video
- The Jobs Panel
Overview
Image sessions are a special conversation type that replaces the standard chat area with a gallery workspace. Rather than a back-and-forth conversation, you get a visual grid of generated images with a prompt bar at the bottom for submitting new generation jobs. Every image session is self-contained: it has its own gallery, its own generation history, and its own queue of pending jobs.
All generated images live in an images/ folder inside your project directory. An index.json file in that folder tracks the full metadata for every image: the prompt used, the model, the size, the timestamp, the session it belongs to, and any downstream video jobs derived from it. When you download a project as a zip backup, all images and their metadata come along — nothing is stored outside the project folder.
You can have as many image sessions as you want within a single project. One per character look, one per scene type, one per model you're evaluating, one for reference images — there's no limit. Image sessions appear in the Conversations panel alongside your chat sessions, differentiated by a gallery icon.
Creating an Image Session
Click New Chat in the chat toolbar and choose Images and Videos from the session type dialog. The new session appears immediately in the Conversations panel with a gallery badge. You can switch between chat conversations and image sessions freely at any time — the Conversations panel always lists both types together.
Give image sessions descriptive names, just as you would chat sessions. A name like "Character portrait — casual outfit" is immediately navigable; "Image Session 3" is not. Rename in the Conversations panel by clicking the session name.
The Visualize Button: From Story to Image Prompt
Writing image prompts from scratch is a skill unto itself — it requires knowing the vocabulary of diffusion models, understanding how to describe lighting and composition and style in ways the model responds to, and translating a narrative moment into a list of attributes rather than a story. The Visualize button exists so you don't have to.
The Visualize button (the camera icon) appears in the chat toolbar whenever you're in a standard text conversation. Click it and Studio takes the last twenty messages from the current conversation and sends them to the worker model along with a specialist prompt trained to extract visually rich moments and translate them into Stable Diffusion–style image descriptions. The resulting prompt is placed directly into an image session's prompt bar — creating a new image session if you don't have one yet — ready for you to review, adjust, and generate.
This workflow is powerful for character authors because the best moments to capture as images are usually story moments — specific scenes from the conversation where something visually interesting happened. You don't have to step outside the narrative to compose a prompt. You can describe a scene in natural conversational language, then click Visualize to get a diffusion-ready prompt that captures it.
Clicking Visualize opens an options dialog before anything is generated, with one choice: Include The User in the image. By default, the prompt writer is instructed to depict only the other characters in the scene, composing the shot from The User's point of view (as if the camera stands where The User is standing). Check the box to include The User as a visible figure in the image instead. Your choice is remembered between runs.
To make the generated User resemble you, generate the scene and then use the pencil icon on the result — your project photos are available directly in the Edit dialog's reference strip. See Editing Images with AI.
Visualize uses the worker model, not the primary character model. A smaller model is perfectly capable of generating image prompts from narrative text. Set your worker model in Settings → Worker Model and don't spend primary-model tokens on prompt generation. If you find Visualize is missing context about your character's appearance, check the visualizeInstructions option in config.json (Chapter 8) — enabling it includes your character's Instructions file in the Visualize context so the worker can reference physical descriptions when composing the prompt.
The Prompt Bar
At the bottom of every image session is the prompt bar — the equivalent of the chat input for generation tasks. It contains the following controls, from left to right:
| Control | Purpose |
|---|---|
| Image / Video toggle | Switch the session between image generation and text-to-video (T2V). The model list and size options update automatically to show only the applicable options. |
| Model | The generation model to use. Fetched from the Venice.AI API and filtered by type. Common image models include fluently-xl, flux-dev, and stable-diffusion-3.5. T2V models are listed separately when the toggle is set to Video. |
| Size | Aspect ratio and resolution. The options available depend on the selected model — not every model supports every size, so the list adapts automatically. |
| Count | Generate 1 to 4 image variants in a single request. Each variant uses the same prompt, model, and size, but produces a different result due to random seed variation. Useful for exploring a prompt's range before committing to one direction. |
| Prompt | Your image description. Write in the vocabulary of diffusion prompting: subjects, style references, lighting descriptors, composition notes, negative prompts if supported by the model. |
| Upload | Add your own photos to this session's gallery. See Uploading Photos below. |
| Generate | Submit the job. Keyboard shortcut: Ctrl+Enter. |
Jobs queue automatically. You don't need to wait for one generation to complete before submitting the next — click Generate as many times as you want and all the jobs accumulate in the queue. Image jobs process one at a time. Video jobs can run up to four in parallel, since video generation is handled asynchronously and images are generated synchronously.
Uploading Photos
The Upload button in the prompt bar adds your own photos to the current image session. You can select multiple files at once; PNG, JPEG, and WebP are supported, up to 25MB per file (the Venice.AI per-image API limit). Uploaded photos are stored in the same images/ folder as generated images and appear in the gallery as regular cards, captioned with their original filename.
Once uploaded, a photo is a full gallery citizen: you can animate it into a video, use it as the base or a reference for AI editing, download it, or move it to Trash — exactly like a generated image. The only difference is that upload cards have no Reload Prompt button, since there's no generation prompt to reload.
Typical uses: bringing in a reference photo to animate, importing an image generated elsewhere so it can be edited alongside your Studio generations, or collecting visual references for a character in one session.
The Gallery
Generated images appear in the gallery grid, newest first. Each card shows a thumbnail of the image, the model used, and the timestamp. As jobs complete, new cards populate the gallery in real time — you don't need to refresh or navigate anywhere.
Click any image to open the lightbox: a full-screen view of the image at full resolution. The lightbox supports mouse-wheel zoom and click-drag panning, so you can inspect fine detail in a large image without downloading it. Use the ← and → arrow keys to step through images in sequence — useful when reviewing a batch of variants. Press Escape to close the lightbox and return to the gallery.
Image Action Buttons
Hover over any image card to reveal its action buttons. These appear as icon buttons overlaid on the thumbnail.
Move to Trash
The trash icon moves the image to a special Trash session rather than deleting it immediately. The Trash session appears in your Conversations list like any other session and can be browsed normally. From there you can restore individual images back to their original session, or permanently delete them when you're confident you no longer need them. Trash is intentionally a two-step process — accidental deletions during a fast generation session are common, and having a recoverable state saves real grief.
Reload Prompt
The reload icon loads this image's prompt, model, and size settings back into the prompt bar exactly as they were when the image was generated. This is the primary workflow for iteration — generate a batch, find the variant whose prompt produced something close to what you wanted, reload it, make a small change, and generate again. You never have to remember or copy the prompt manually; the metadata is always attached to the image.
Edit
The pencil icon opens the AI image editing dialog for this image. See Editing Images with AI below for the full workflow.
Upscale
The expand icon opens the AI upscale dialog. Choose a scale factor (2×, 3×, or 4× — or 1× for an enhance-only pass at the original size) and optionally enable Enhance, which applies an AI detail and cleanup pass while enlarging. The result is saved as a new gallery image alongside the original. Like all generation, upscaling is billed to your Venice.AI account. Very large images at 4× may be automatically reduced by the API to stay within its output size limit.
Image to Video
The video icon opens the image-to-video dialog. See Image-to-Video below for the full workflow.
Download
The download icon saves the image to your device as a .png file via the standard browser download mechanism. In FSA (local folder) projects, this button instead shows the image's path on disk — since the file is already in your project folder, a redundant download would just create a duplicate. You can navigate to the path directly in your file manager.
Editing Images with AI
Any image in the gallery — generated or uploaded — can be modified with natural-language instructions. Hover over the card and click the pencil icon to open the Edit dialog. The original image is never touched; the edited result is saved as a new gallery card, so you can compare versions and edit iteratively.
The dialog has two panes. The left side holds the controls; the right side is a zoomable preview (scroll to zoom, drag to pan, double-click to reset) that shows the image being edited, and switches to show whichever reference image you last clicked.
| Control | Purpose |
|---|---|
| Edit instructions | Describe the change in plain language: "remove the car", "make it nighttime", "change the shirt to red". Short, direct instructions work best. Submit with Ctrl+Enter. |
| Model | The editing model. These are a separate model family from text-to-image (nano-banana, qwen-edit, FireRed, and others, fetched from the API). Some are Venice-hosted and tagged uncensored; others are hosted by third-party providers with their own content policies. Your last choice is remembered. |
| Resolution | Output tier (1K/2K/4K) for models that support it. The field hides automatically for models that don't. |
| Count | Generate 1–4 variants of the edit. Each variant is a separate API call (billed separately) and produces a different interpretation of the instruction. |
| Reference images | Optionally select up to two images as reference layers. The strip lists your project photos first (Photos → You / Character / Portrait, read directly from the photos/ folder), followed by the other images in this session. Click a thumbnail to preview it in the right-hand pane and select it; click again to deselect. References enable instructions that point at another image: "make the main character look like the person in the second image" — the key tool for keeping a character's face consistent across scenes. The strip hides for models that can't combine images. |
Edit jobs run through the same queue as image generation, with the same pending cards and cancel buttons. If an edit fails, the error card offers Try Again, which reopens the dialog with your instructions, references, model, and settings exactly as they were — adjust anything (a different model is the most common fix) and resubmit.
Editing is moderated more strictly than generation. Venice applies a content-policy check to edit requests that does not apply to text-to-image — even on uncensored models — because editing supplied photos is where real-person abuse lives. If an edit is rejected with a content policy message while the equivalent generation works fine, that's the API's gate, not a Studio limitation. Milder wording sometimes passes; a different model sometimes helps.
Image-to-Video
Any image in the gallery can be animated into a short video clip. Hover over the image card and click the video icon to open the image-to-video dialog.
The dialog asks for:
- Motion prompt — describe what should move in the scene, not what's already there. The image provides the visual content; the prompt tells the model what motion to apply to it. Write from a director's perspective: "the character's hair drifts gently in the wind, her eyes blink once slowly, her cloak settles as if she just stopped walking." Specificity produces better results than vague prompts like "animate the character."
- Model — the video generation model. Options vary by what Venice.AI has available; the list is fetched from the API.
- Duration — 5 seconds or 10 seconds. Shorter clips render faster and cost less; longer clips give more time for motion to develop.
- Resolution — 480p, 720p, or 1080p. Higher resolutions increase generation time and cost proportionally. Some models don't take a resolution setting at all; the field hides automatically for those.
Before submitting, click Get Quote to see the estimated cost in USD for this job at the selected settings. The quote is based on Venice.AI's current pricing and reflects the actual amount that will be billed to your account. Confirm you're satisfied with the estimate, then click Generate to submit.
Completed videos save as .mp4 files in the project's images/ folder alongside the stills. Pending video cards in the gallery display a video badge and an estimated time remaining. When generation completes, the card updates in place — the badge disappears and the video begins playing on hover. Click the card to open it in the lightbox, which includes full playback controls.
The video queue survives a page refresh. If you close the browser tab while a video is generating, the job continues on Venice's servers. When you return and reload the project, Studio detects the pending jobs and polls for their completion rather than resubmitting them, so you won't be billed twice. This also works with the same project open in more than one browser window — whichever window retrieves the finished video first saves it to the shared project folder, and the other window picks up the result instead of reporting a failure.
If a generation fails on the provider's servers, Studio reports it within seconds — the pending card shows the error and the reason. A failure that occurs immediately after submission usually means the model provider's content filter rejected the prompt rather than a technical fault.
Several mainstream video models apply stricter content filtering to image-to-video than to text-to-video — the same prompt that generates fine as text-to-video can be rejected instantly when paired with an input image, because supplied photos are where providers focus abuse protection. If an adult-themed image-to-video job fails immediately, try a model with laxer filtering or reword the prompt; the input image itself is rarely the problem.
The Jobs Panel
The Jobs button in the application header — shown with a count badge when jobs are active — opens a global jobs panel showing all in-progress and queued generation tasks across every image session in the current project.
Each entry in the panel shows the job type (image or video), the session it belongs to, the current status (queued, generating, or a completion indicator), and an estimated remaining time for active video jobs. The panel is a live view — it updates in real time as jobs progress and complete without any need to refresh. Switching back to your text conversation and continuing will not effect whether image/video generation succeeds or fails.
This panel is most useful when you've submitted a large batch of jobs across multiple sessions and want a single place to monitor progress without switching between sessions one by one. It's also useful for diagnosing stalled jobs — if a generation sits in "generating" state for longer than expected, the panel surfaces it so you can identify and address the issue.
Image and video generation is billed directly to your Venice.AI account on a per-generation basis. The Get Quote button in the video dialog shows the cost before you commit, and Venice's pricing page has current rates for image and video generation. Character Studio has no way to reverse or refund a generation once submitted, so use Get Quote when the cost is a concern — particularly for high-resolution or long-duration video jobs, which are meaningfully more expensive than short 480p clips.