# Extract Agent Prompts Source: https://docs.eden.art/api-reference/agent-creation/extract-agent-prompts /openapi.json post /agent_creation/extract_prompts Extract agent persona, description, and memory instructions from a conversation session # Delete Agent Deployment Source: https://docs.eden.art/api-reference/agents--deployments/delete-agent-deployment /openapi.json delete /v2/agents/{agentId}/deployments/{platform} Remove an agent deployment from a specific platform, stopping its operation there. # Deploy Agent Source: https://docs.eden.art/api-reference/agents--deployments/deploy-agent /openapi.json post /v2/agents/{agentId}/deployments Deploy an agent to a platform or update an existing deployment configuration. # Get Agent Deployments Source: https://docs.eden.art/api-reference/agents--deployments/get-agent-deployments /openapi.json get /v2/agents/{agentId}/deployments Retrieve all platform deployments (Discord, Twitter, etc.) for a specific agent. # Get User Deployments Source: https://docs.eden.art/api-reference/agents--deployments/get-user-deployments /openapi.json get /v2/agents/deployments Retrieve all deployments across all agents owned by the authenticated user. # Update Agent Deployment Source: https://docs.eden.art/api-reference/agents--deployments/update-agent-deployment /openapi.json patch /v2/agents/{agentId}/deployments Modify the configuration or settings of an existing agent deployment. # Create Memory Shard Source: https://docs.eden.art/api-reference/agents--memory/create-memory-shard /openapi.json post /v2/agents/{agentId}/memory-agent Create a new collective memory shard with a specific extraction prompt for organizing agent knowledge. # Get Agent Memory Source: https://docs.eden.art/api-reference/agents--memory/get-agent-memory /openapi.json get /v2/agents/{agentId}/memory Retrieve the personalized memory content and unabsorbed directives for a specific agent. # Get Collective Memory Source: https://docs.eden.art/api-reference/agents--memory/get-collective-memory /openapi.json get /v2/agents/{agentId}/memory-agent Retrieve all collective memory shards and their facts for an agent. # Get Memory Session Source: https://docs.eden.art/api-reference/agents--memory/get-memory-session /openapi.json get /v2/memory-sessions/{memoryId} Retrieve a specific memory_session document containing session-specific memory data. # Get Memory User Source: https://docs.eden.art/api-reference/agents--memory/get-memory-user /openapi.json get /v2/agents/{agentId}/memory-user Retrieve the complete memory_user document containing all user-specific data for an agent. # Remove Agent Memory Source: https://docs.eden.art/api-reference/agents--memory/remove-agent-memory /openapi.json delete /v2/agents/{agentId}/memory-agent/{memoryAgentId}/memory/{memoryId} Remove specific memory items from agent collective memory arrays (facts or unabsorbed memory). # Remove Unabsorbed Memory Source: https://docs.eden.art/api-reference/agents--memory/remove-unabsorbed-memory /openapi.json delete /v2/agents/{agentId}/memory/{memoryId} Delete specific unabsorbed memory items from the user memory for an agent. # Save Agent Memory Source: https://docs.eden.art/api-reference/agents--memory/save-agent-memory /openapi.json post /v2/agents/{agentId}/memory Store or update personalized memory content for an agent to improve future interactions. # Update Memory Agent Source: https://docs.eden.art/api-reference/agents--memory/update-memory-agent /openapi.json patch /v2/agents/{agentId}/memory-agent/{memoryAgentId} Modify a memory_agent document containing collective memory data. # Update Memory Session Source: https://docs.eden.art/api-reference/agents--memory/update-memory-session /openapi.json patch /v2/memory-sessions/{memoryId} Modify a memory_session document with updated session-specific information. # Update Memory User Source: https://docs.eden.art/api-reference/agents--memory/update-memory-user /openapi.json patch /v2/agents/{agentId}/memory-user Modify the memory_user document with updated user-specific information for an agent. # Create Agent Trigger Source: https://docs.eden.art/api-reference/agents--triggers/create-agent-trigger /openapi.json post /v2/agents/{agentId}/triggers Create a new automated trigger that activates the agent under specific conditions. # Delete Agent Trigger Source: https://docs.eden.art/api-reference/agents--triggers/delete-agent-trigger /openapi.json delete /v2/agents/{agentId}/triggers/{triggerId} Remove an automated trigger from an agent, stopping its activation. # Get Agent Triggers Source: https://docs.eden.art/api-reference/agents--triggers/get-agent-triggers /openapi.json get /v2/agents/{agentId}/triggers Retrieve all automated triggers configured for a specific agent. # Get Single Trigger Source: https://docs.eden.art/api-reference/agents--triggers/get-single-trigger /openapi.json get /v2/agents/{agentId}/triggers/{triggerId} Retrieve a specific trigger by its ID. # Get User Triggers Source: https://docs.eden.art/api-reference/agents--triggers/get-user-triggers /openapi.json get /v2/agents/triggers Retrieve all triggers across all agents owned by the authenticated user. # Update Agent Trigger Source: https://docs.eden.art/api-reference/agents--triggers/update-agent-trigger /openapi.json patch /v2/agents/{agentId}/triggers/{triggerId} Modify the configuration or conditions of an existing agent trigger. # Create New Agent Source: https://docs.eden.art/api-reference/agents/create-new-agent /openapi.json post /v2/agents Create a new AI agent with specified configuration, models, persona, and capabilities. # Delete Agent Source: https://docs.eden.art/api-reference/agents/delete-agent /openapi.json delete /v2/agents/{agentId} Permanently delete an agent and all its associated data, deployments, and configurations. # Get Agent Creations Source: https://docs.eden.art/api-reference/agents/get-agent-creations /openapi.json get /v2/agents/{agentId}/creations Retrieve a list of the agent's creations, including both the user's own creations and public creations by others. # Get Agent Dashboard Source: https://docs.eden.art/api-reference/agents/get-agent-dashboard /openapi.json get /v2/agents/{agentId}/dashboard Retrieve analytics and activity data for an agent within a specified date range. # Get Agent Details Source: https://docs.eden.art/api-reference/agents/get-agent-details /openapi.json get /v2/agents/{agentId} Retrieve detailed information about a specific agent by its ID. # Get Agent Permissions Source: https://docs.eden.art/api-reference/agents/get-agent-permissions /openapi.json get /v2/agents/{agentId}/permissions Retrieve the list of users who have access permissions to an agent and their permission levels. # Get Shared Agents Source: https://docs.eden.art/api-reference/agents/get-shared-agents /openapi.json get /v2/agents/shared Retrieve all agents that have been shared with the current user by other users. # Like Agent Source: https://docs.eden.art/api-reference/agents/like-agent /openapi.json post /v2/agents/{agentId}/like Add a like to an agent, showing appreciation and potentially boosting its visibility. # List Agents Source: https://docs.eden.art/api-reference/agents/list-agents /openapi.json get /v2/agents Retrieve a paginated list of agents, optionally filtered by user ID, username, or name. # Toggle Memory Setting Source: https://docs.eden.art/api-reference/agents/toggle-memory-setting /openapi.json patch /v2/agents/{agentId}/user-memory-enabled Enable or disable the user memory feature for an agent. # Unlike Agent Source: https://docs.eden.art/api-reference/agents/unlike-agent /openapi.json delete /v2/agents/{agentId}/like Remove a previously given like from an agent. # Update Agent Source: https://docs.eden.art/api-reference/agents/update-agent /openapi.json patch /v2/agents/{agentId} Update the configuration, settings, or properties of an existing agent. # Update Agent Permissions Source: https://docs.eden.art/api-reference/agents/update-agent-permissions /openapi.json put /v2/agents/{agentId}/permissions Grant or modify access permissions for users to collaborate on an agent. # Create API Key Source: https://docs.eden.art/api-reference/api-keys/create-api-key /openapi.json post /apikeys Create a new API key for authentication. You can optionally provide a note to help identify the key. # Delete API Key Source: https://docs.eden.art/api-reference/api-keys/delete-api-key /openapi.json delete /apikeys Permanently delete an API key. This action cannot be undone and the key will immediately become invalid. # List API Keys Source: https://docs.eden.art/api-reference/api-keys/list-api-keys /openapi.json get /apikeys Retrieve a paginated list of your API keys. Only partial key values are returned for security. # Add Creations Source: https://docs.eden.art/api-reference/collections/add-creations /openapi.json patch /v2/collections/{collectionId}/creations/add Add one or more creations to an existing collection. # Create New Collection Source: https://docs.eden.art/api-reference/collections/create-new-collection /openapi.json post /v2/collections Create a new collection to organize and group related creations together. # Delete Collection Source: https://docs.eden.art/api-reference/collections/delete-collection /openapi.json delete /v2/collections/{collectionId} Permanently delete a collection and remove all creation associations. # Download Collection Source: https://docs.eden.art/api-reference/collections/download-collection /openapi.json post /v2/collections/{collectionId}/download Generate and download a ZIP file containing all creations in the collection. # Get Collection Creations Source: https://docs.eden.art/api-reference/collections/get-collection-creations /openapi.json get /v2/collections/{collectionId}/creations Retrieve all creations that belong to a specific collection. # Get Collection Details Source: https://docs.eden.art/api-reference/collections/get-collection-details /openapi.json get /v2/collections/{collectionId} Retrieve detailed information about a specific collection by its ID. # Get User Collections Light Source: https://docs.eden.art/api-reference/collections/get-user-collections-light /openapi.json get /v2/collections/light Retrieve a lightweight list of collections owned by the current user with basic information. # Remove Creations Source: https://docs.eden.art/api-reference/collections/remove-creations /openapi.json patch /v2/collections/{collectionId}/creations/remove Remove one or more creations from an existing collection. # Update Collection Source: https://docs.eden.art/api-reference/collections/update-collection /openapi.json patch /v2/collections/{collectionId} Modify the name, description, or visibility settings of an existing collection. # Create Concept Source: https://docs.eden.art/api-reference/concepts-v2/create-concept /openapi.json post /v2/concepts Create a new concept with images and usage instructions. # Delete Concept Source: https://docs.eden.art/api-reference/concepts-v2/delete-concept /openapi.json delete /v2/concepts/{conceptId} Delete a concept (soft delete). # Get Concept Source: https://docs.eden.art/api-reference/concepts-v2/get-concept /openapi.json get /v2/concepts/{conceptId} Get a specific concept by ID. # List User Concepts Source: https://docs.eden.art/api-reference/concepts-v2/list-user-concepts /openapi.json get /v2/concepts Get all concepts for the current user. # Update Concept Source: https://docs.eden.art/api-reference/concepts-v2/update-concept /openapi.json patch /v2/concepts/{conceptId} Update an existing concept. # Bulk Update Creations Source: https://docs.eden.art/api-reference/creations/bulk-update-creations /openapi.json patch /v2/creations/bulk Update the visibility or deletion status of multiple creations at once. # Get Creation Details Source: https://docs.eden.art/api-reference/creations/get-creation-details /openapi.json get /v2/creations/{creationId} Retrieve detailed information about a specific creation by its ID. # Like Creation Source: https://docs.eden.art/api-reference/creations/like-creation /openapi.json post /v2/creations/{creationId}/like Add a like to a creation, showing appreciation and boosting its visibility. # List Creations Source: https://docs.eden.art/api-reference/creations/list-creations /openapi.json get /v2/creations Retrieve a paginated list of creations, optionally filtered by user ID or name. # Search Creations by Embedding Source: https://docs.eden.art/api-reference/creations/search-creations-by-embedding /openapi.json get /v2/creations/search Search for creations using semantic search with CLIP embeddings. # Unlike Creation Source: https://docs.eden.art/api-reference/creations/unlike-creation /openapi.json delete /v2/creations/{creationId}/like Remove a previously given like from a creation. # Update Creation Source: https://docs.eden.art/api-reference/creations/update-creation /openapi.json patch /v2/creations/{creationId} Update the visibility or deletion status of a specific creation. # Check Username Availability Source: https://docs.eden.art/api-reference/creators/check-username-availability /openapi.json get /v2/creators/check-username Check if a username is available for use. Performs case-insensitive lookup across all users. # Get Authenticated Creator Profile Source: https://docs.eden.art/api-reference/creators/get-authenticated-creator-profile /openapi.json get /v2/creators/me Retrieve your own creator profile information including balances and subscription details. # Get Creator Details Source: https://docs.eden.art/api-reference/creators/get-creator-details /openapi.json get /v2/creators/{userId} Retrieve detailed information about a specific creator by their user ID. # List Creators Source: https://docs.eden.art/api-reference/creators/list-creators /openapi.json get /v2/creators Retrieve a paginated list of creators, optionally filtered by user ID or Discord ID. # Update Creator Profile Source: https://docs.eden.art/api-reference/creators/update-creator-profile /openapi.json post /v2/creators/update Update your creator profile settings including username, image, and preferences. # Introduction Source: https://docs.eden.art/api-reference/introduction Eden API Reference ## Overview The Eden API is a RESTful API that allows you to interact with the Eden platform. It is designed to be easy to use and understand, and is built on top of the OpenAPI specification. It is accessible at [https://api.eden.art](https://api.eden.art). ## Authentication All API endpoints are authenticated using API keys and picked up from the specification file. ```json theme={null} "security": [ { "x-api-key": [] } ] ``` # Redeem Manna Voucher Source: https://docs.eden.art/api-reference/manna/redeem-manna-voucher /openapi.json post /manna/vouchers/redeem Redeem a manna voucher code to add manna to the authenticated user's account. # Get Model Details Source: https://docs.eden.art/api-reference/models/get-model-details /openapi.json get /v2/models/{modelId} Retrieve detailed information about a specific AI model by its ID. # Like Model Source: https://docs.eden.art/api-reference/models/like-model /openapi.json post /v2/models/{modelId}/like Add a like to a model, showing appreciation and boosting its visibility. # Unlike Model Source: https://docs.eden.art/api-reference/models/unlike-model /openapi.json delete /v2/models/{modelId}/like Remove a previously given like from a model. # Update Model Source: https://docs.eden.art/api-reference/models/update-model /openapi.json patch /v2/models/{modelId} Update the visibility or deletion status of a specific model. # Get Session Permissions Source: https://docs.eden.art/api-reference/sessions--permissions/get-session-permissions /openapi.json get /v2/sessions/{session_id}/permissions Retrieve the list of users who have been granted access to a session. # Get Shared Sessions Source: https://docs.eden.art/api-reference/sessions--permissions/get-shared-sessions /openapi.json get /v2/sessions/shared Retrieve all sessions that have been shared with the authenticated user. # Update Session Permissions Source: https://docs.eden.art/api-reference/sessions--permissions/update-session-permissions /openapi.json put /v2/sessions/{session_id}/permissions Grant or update user permissions for a session. Only the session owner can modify permissions. # Cancel Session Source: https://docs.eden.art/api-reference/sessions/cancel-session /openapi.json post /v2/sessions/{session_id}/cancel Cancel a currently running session and stop any ongoing tool executions. # Create New Session Source: https://docs.eden.art/api-reference/sessions/create-new-session /openapi.json post /v2/sessions/create Create a new conversation session with one or more agents, including budget and autonomy settings. # Delete Session Source: https://docs.eden.art/api-reference/sessions/delete-session /openapi.json delete /v2/sessions/{session_id} Permanently delete a session and all its associated messages and data. # Delete Session Share Source: https://docs.eden.art/api-reference/sessions/delete-session-share /openapi.json delete /v2/sessions/share/{share_id} Delete a session share link, making it no longer accessible publicly. # Get Session Details Source: https://docs.eden.art/api-reference/sessions/get-session-details /openapi.json get /v2/sessions/{session_id} Retrieve detailed information about a specific session with the latest 25 messages. Use the dedicated messages endpoint for pagination. # Get Session Messages (Paginated) Source: https://docs.eden.art/api-reference/sessions/get-session-messages-paginated /openapi.json get /v2/sessions/{session_id}/messages Fetch messages for a session with cursor-based pagination. Returns messages in chronological order (oldest first). # Get Shared Session Source: https://docs.eden.art/api-reference/sessions/get-shared-session /openapi.json get /v2/sessions/share/{share_id} Retrieve a publicly shared session using its share ID (no authentication required). # Interact with Session Source: https://docs.eden.art/api-reference/sessions/interact-with-session /openapi.json post /v2/sessions Send a message to an existing session or create a new session with the first message. # List User Sessions Source: https://docs.eden.art/api-reference/sessions/list-user-sessions /openapi.json get /v2/sessions Retrieve a paginated list of sessions for the authenticated user, optionally filtered by agent. # List User Shares Source: https://docs.eden.art/api-reference/sessions/list-user-shares /openapi.json get /v2/sessions/shares Retrieve all session shares created by the authenticated user. # React to Message Source: https://docs.eden.art/api-reference/sessions/react-to-message /openapi.json post /v2/sessions/react Add an emoji reaction to a specific message within a session. # Share Session Source: https://docs.eden.art/api-reference/sessions/share-session /openapi.json post /v2/sessions/{session_id}/share Create a shareable public link for a session up to a specific message point. # Update Session Source: https://docs.eden.art/api-reference/sessions/update-session /openapi.json patch /v2/sessions/{session_id} Update session properties such as title or pinned status. # Calculate Task Cost Source: https://docs.eden.art/api-reference/tasks/calculate-task-cost /openapi.json post /v2/tasks/cost Calculate the estimated cost in manna for executing a task with specified tool and arguments. # Cancel Running Task Source: https://docs.eden.art/api-reference/tasks/cancel-running-task /openapi.json post /v2/tasks/cancel Cancel a task that is currently in progress or queued for execution. # Create New Task Source: https://docs.eden.art/api-reference/tasks/create-new-task /openapi.json post /v2/tasks/create Create and execute a new task using a specified tool with optional arguments and visibility settings. # Get Task Details Source: https://docs.eden.art/api-reference/tasks/get-task-details /openapi.json get /v2/tasks/{taskId} Retrieve detailed information about a specific task including its status and output. # List User Tasks Source: https://docs.eden.art/api-reference/tasks/list-user-tasks /openapi.json get /v2/tasks Retrieve a paginated list of tasks for the authenticated user with optional filtering by status, type, or tool. # Subscribe Task Events Source: https://docs.eden.art/api-reference/tasks/subscribe-task-events /openapi.json get /v2/tasks/events Subscribe to real-time task update events via Server-Sent Events (SSE). # Get Tool Details Source: https://docs.eden.art/api-reference/tools/get-tool-details /openapi.json get /v2/tools/{toolKey} Retrieve detailed information about a specific tool including its parameters and configuration. # List Available Tools Source: https://docs.eden.art/api-reference/tools/list-available-tools /openapi.json get /v2/tools Retrieve a list of all available tools with their metadata and configuration options. # Manna Source: https://docs.eden.art/core-concepts/manna Learn about Eden's internal currency system for creating generative art Manna is the internal currency of Eden. Creators spend Manna to make creations on Eden. ## How to get manna New users receive a small amount of free manna upon sign-up, or upon [connecting their social accounts](https://app.eden.art/settings/connections). To get more manna, it can be [purchased](https://app.eden.art/settings/subscription) either via a subscription or ad-hoc. The Eden team actively gives out free manna to community members who contribute to Eden in some way. Look out for giveaways and community events! To learn more or propose collaborations, get in touch with us [on Discord](https://discord.gg/4dSYwDT). ## Manna subscriptions Users are encouraged to [sign up for a subscription plan](https://app.eden.art/settings/subscription), which gives them access to various premium features and a regular replenishment of manna each month. ### How subscriptions work In the beginning of each month, remaining subscription manna expire and are restored to the top of the subscription plan's full amount. For example, Pro subscribers reset to 5000 manna. * **Subscription Manna**: Replenishes monthly and expires at the end of each month * **Top-up Manna**: Purchased ad-hoc manna that never expires * **Spending order**: You always spend subscription Manna first, and only begin to spend non-expiring Manna once subscription Manna is depleted. # Creating Agents Source: https://docs.eden.art/guides/agents Build AI agents with custom personalities, tools, and visual models **What are Eden Agents?**\ Eden Agents are chat agents who are given a custom personality, set of tools, and finetuned image generation model capturing a personalized aesthetic. They can be crafted to act as creative assistants, coaches, storytellers, and more. Once created, they can optionally be deployed to social media. ## Create an Agent A list of all agents featured on Eden is [found here](https://app.eden.art/explore?tab=agents). From that page, click "Create Agent" to take you to the builder interface. You may also edit agents from this page. Agent home screen Agent builder form ### Guidelines for writing character definitions Display name and username of your character An uploaded image of your character, to be used as its avatar Instruct your character of their identity, biography, and/or personality description. Use second or third person. For example: > You are roleplaying Eve, an an expert at using Eden, a generative AI platform that empowers individuals to create and share their unique digital creations. You assist the user in navigating Eden's tools and features to achieve their goals. A set of instructions to your agent. Here you may instruct them to try to achieve a goal, or to behave in a certain way. See the expandable example below for a detailed instruction set. You are a "photo assistant" who helps users generate novel images of themselves or their friends. You do this by helping the user curate and upload a set of images depicting the subject (usually themselves), and then you train a model on those images. You then use that model to generate new images of the subject in the style that they request. You will coach the user through this entire process. Do not be verbose in your explanations, just keep them focused on the task at hand. Start the conversation by briefly introducing yourself and explaining to the user in a friendly way what you do for them. Then guide them through the following steps: 1. Upload some images -- you want the user to upload at least 3 images of themselves, but 5-10 is better. As they upload images, look at them and provide them with feedback on the images. 2. Once you and the user agree that the images are good, you will then use the lora\_trainer tool to train a model on those images. This process takes 5-10 minutes, so tell the user to wait for a bit. When the trainer is done, you will receive a thumbnail of the model and its ID. Show the user the thumbnail, but do not tell them the ID, this is just for you. Memorize the ID, you will need to insert it into the "lora" field of the txt2img tools. 3. Once the model is trained, and you have its ID memorized, you can use the txt2img tool with the lora\_id to generate new images of the user in various ways. Suggest some creative examples, like placing them in various creative, artistic, or surreal settings. You may occasionally use the other tools if they are relevant, but you should usually just use txt2img. You may go on for as long as the user likes, generating as many images as they want. If they want to start over at some point, go back to step 1. ## Training a custom visual model While not mandatory, Eden supports [training an optional visual model](https://app.eden.art/train) that gets integrated into your agent. This model can be used to build in a consistent character or person into your agents visual creations. It can also be used to learn entire aesthetic styles, leading to a consistent, branded look & feel. See our [models page](https://app.eden.art/explore?tab=models) for examples. To learn more about training models, see [this guide](/guides/models). ### Linking your custom model Once training is done, you can simply go (back) to the agent builder form and connect your custom model to your agent: Click 'Select Flux LoRA' to connect your model ## Interact with your Agent Once deployed, you can find your agent in the [agents home screen](https://app.eden.art/explore?tab=agents) and start a chat with them. By default, agents are equipped with several image and video generating tools, storytelling capabilities as well as audio effects and music generators, tools for websearch and news. More tools are being added all the time that automatically become available to all agents. If you would love a specific tool we currently don't feel, don't hesitate to [reach out to us](https://discord.com/invite/4dSYwDT)! Chat interface with an agent All these tools are available by just asking your agent to do something: ## Memory System Eden agents can learn and evolve through conversations using the memory system. This enables your agents to: * **Remember user preferences**: Store individual user preferences and behavioral instructions * **Build shared knowledge**: Create collective memory that all users contribute to and benefit from * **Maintain conversation context**: Keep track of ongoing projects and discussions The memory system operates automatically in the background, extracting and organizing important information as users interact with your agent. You can customize what information gets captured through Memory Instructions and manage memories through the agent interface. Learn how to configure and use the memory system for your agents ## Exporting to social media Agent export to social platforms is in beta. If you're interested in testing it now, please reach out to the devs on [Discord](https://discord.com/invite/4dSYwDT). Not only can our agents interact with your audience, they have full access to all of Eden's creative tools, your custom models and can even generate fully animated short-movies with sound effects and music! Eden supports running Discord and Telegram clients for your agents, as well as interacting with X and Farcaster. As an example, [**Abraham**](https://x.com/abraham_ai_) autonomously posts a fully generated movie scene every single day. # Building with Eden Source: https://docs.eden.art/guides/build A complete guide to building applications with the Eden API This guide walks through building a full-featured Eden application using our [hello-eden](https://github.com/edenartlab/hello-eden) starter repository. ## Overview The [hello-eden](https://github.com/edenartlab/hello-eden) repository is a production-ready Next.js application that demonstrates best practices for integrating with the Eden API. It showcases all major Eden features including AI-powered creation, agent interactions, and content browsing. Clone the starter repository to follow along with this guide ## What You'll Build By following this guide, you'll learn how to: * **Generate AI content** - Submit creation tasks for images and videos * **Build chat interfaces** - Create interactive sessions with Eden agents * **Browse creations** - Implement galleries with filtering and pagination * **Handle authentication** - Properly manage API keys and credentials * **Poll for results** - Implement efficient polling patterns for async operations ## Prerequisites Before starting, ensure you have: * Node.js 18+ and pnpm installed * Basic familiarity with React and Next.js * Eden API credentials (request in [Discord](https://discord.com/invite/4dSYwDT)) ## Quick Start ### 1. Clone and Setup ```bash theme={null} # Clone the repository git clone https://github.com/edenartlab/hello-eden.git cd hello-eden # Install dependencies pnpm install # Copy environment template cp .env.local.example .env.local ``` ### 2. Configure Environment Edit `.env.local` with your credentials: ```env theme={null} EDEN_API_KEY=your_api_key_here NEXT_PUBLIC_EDEN_AGENT_ID=your_agent_id_here NEXT_PUBLIC_EDEN_API_BASE=https://api.eden.art # Optional ``` Keep your `EDEN_API_KEY` private! Never commit it to version control or expose it in client-side code. ### 3. Run the Application ```bash theme={null} pnpm run dev ``` Visit [http://localhost:3000](http://localhost:3000) to see your app running. ## Core Concepts ### API Client Structure The hello-eden app uses a centralized API client (`src/lib/eden.ts`) that wraps all Eden API interactions. This pattern provides: * Type-safe interfaces for all API responses * Centralized error handling * Consistent authentication headers * Clean separation between API logic and UI components ```typescript API Client Setup theme={null} const EDEN_API_BASE = process.env.NEXT_PUBLIC_EDEN_API_BASE || "https://api.eden.art"; // Always include API key in server-side requests const headers = { "Content-Type": "application/json", "X-Api-Key": process.env.EDEN_API_KEY || "" }; ``` ```typescript Type Definitions theme={null} export interface Task { taskId: string; status: "pending" | "processing" | "completed" | "failed"; creation?: { uri: string; }; } export interface Creation { _id: string; uri?: string; prompt?: string; tool?: string; user?: { username?: string; }; } ``` ### Authentication Pattern The app uses Next.js API routes as a backend-for-frontend (BFF) pattern to keep API keys secure: 1. **Client** makes requests to Next.js API routes 2. **API Route** adds authentication headers 3. **API Route** forwards request to Eden API 4. **Response** flows back through the same chain This ensures your API key never reaches the client browser. ## Feature Implementation ### Creating Images and Videos The creation flow involves submitting a task and polling for completion: Send a POST request to `/v2/tasks/create` with your prompt and configuration ```typescript theme={null} export async function createTask(prompt: string, type: "image" | "video") { const response = await fetch(`${EDEN_API_BASE}/v2/tasks/create`, { method: "POST", headers: { "Content-Type": "application/json", "X-Api-Key": process.env.EDEN_API_KEY || "", }, body: JSON.stringify({ tool: "create", args: { prompt: prompt, output: type === "video" ? "video" : undefined }, makePublic: true }) }); const data = await response.json(); return { taskId: data.task._id }; } ``` Check task status every few seconds until completed ```typescript theme={null} export async function pollTask(taskId: string): Promise { const response = await fetch(`${EDEN_API_BASE}/v2/tasks/${taskId}`, { method: "GET", headers: { "X-Api-Key": process.env.EDEN_API_KEY || "", } }); const data = await response.json(); return { taskId: data.task._id, status: data.task.status, creation: data.task.result?.[0]?.output?.[0] }; } ``` Show the generated content once the task completes ```typescript theme={null} // In your React component const [polling, setPolling] = useState(false); const [result, setResult] = useState(null); useEffect(() => { if (!polling) return; const interval = setInterval(async () => { const task = await pollTask(taskId); if (task.status === "completed") { setResult(task.creation?.uri || null); setPolling(false); } else if (task.status === "failed") { setPolling(false); // Handle error } }, 3000); return () => clearInterval(interval); }, [polling, taskId]); ``` ### Building Agent Chat Interfaces Eden agents support interactive conversations through sessions: ```typescript Create Session theme={null} export async function createSession(agentIds: string[]) { const response = await fetch(`${EDEN_API_BASE}/v2/sessions`, { method: "POST", headers: { "Content-Type": "application/json", "X-Api-Key": process.env.EDEN_API_KEY || "", }, body: JSON.stringify({ agent_ids: agentIds, autonomy_settings: { auto_reply: true, reply_interval: 1000, actor_selection_method: "random" } }) }); const data = await response.json(); return { session_id: data.session_id }; } ``` ```typescript Send Message theme={null} export async function sendMessage(sessionId: string, content: string) { await fetch(`${EDEN_API_BASE}/v2/sessions`, { method: "POST", headers: { "Content-Type": "application/json", "X-Api-Key": process.env.EDEN_API_KEY || "", }, body: JSON.stringify({ session_id: sessionId, content: content }) }); } ``` ```typescript Poll for Updates theme={null} export async function getSession(sessionId: string) { const response = await fetch(`${EDEN_API_BASE}/v2/sessions/${sessionId}`, { method: "GET", headers: { "X-Api-Key": process.env.EDEN_API_KEY || "", } }); const data = await response.json(); return data.session; } ``` ### Browsing and Filtering Creations Implement galleries with advanced filtering: ```typescript theme={null} export async function getCreations(filters?: { cursor?: string; limit?: number; type?: "image" | "video"; onlyMine?: boolean; onlyAgents?: boolean; }) { const params = new URLSearchParams(); // Pagination if (filters?.cursor) params.append("cursor", filters.cursor); params.append("limit", (filters?.limit || 20).toString()); // Type filtering if (filters?.type) { params.append("filter", `output_type;${filters.type}`); } // Agent filtering if (filters?.onlyAgents && process.env.NEXT_PUBLIC_EDEN_AGENT_ID) { params.append("filter", `agent;${process.env.NEXT_PUBLIC_EDEN_AGENT_ID}`); } const response = await fetch( `${EDEN_API_BASE}/v2/feed-cursor/creations?${params}`, { headers: { "Content-Type": "application/json", // Include API key for private content ...(filters?.onlyMine && { "X-Api-Key": process.env.EDEN_API_KEY || "" }) } } ); const data = await response.json(); return { docs: data.docs, nextCursor: data.nextCursor, hasMore: data.docs?.length === filters?.limit }; } ``` ## Best Practices ### Error Handling Always implement robust error handling for API calls: ```typescript theme={null} try { const response = await fetch(endpoint, options); if (!response.ok) { const errorText = await response.text(); console.error(`Eden API Error ${response.status}:`, errorText); throw new Error(`Eden API ${response.status}: ${errorText}`); } return await response.json(); } catch (error) { console.error("Failed to make API call:", error); // Show user-friendly error message throw error; } ``` ### Rate Limiting Be mindful of API rate limits: * Implement exponential backoff for retries * Cache responses when appropriate * Batch requests where possible * Use reasonable polling intervals (3-5 seconds) ### Security * **Never expose API keys** in client-side code * Use environment variables for all credentials * Implement proper CORS headers in production * Validate and sanitize all user inputs * Use HTTPS for all API communications ### Performance * Implement loading states for better UX * Use React hooks for efficient state management * Lazy load images and videos * Implement pagination for large datasets * Cache API responses when appropriate ## Common Patterns ### Polling Pattern ```typescript theme={null} const usePollTask = (taskId: string | null) => { const [task, setTask] = useState(null); const [error, setError] = useState(null); useEffect(() => { if (!taskId) return; let cancelled = false; const poll = async () => { try { const result = await pollTask(taskId); if (!cancelled) { setTask(result); if (result.status === "pending" || result.status === "processing") { setTimeout(poll, 3000); } } } catch (err) { if (!cancelled) { setError(err.message); } } }; poll(); return () => { cancelled = true; }; }, [taskId]); return { task, error }; }; ``` ### API Route Pattern ```typescript theme={null} // pages/api/tasks/create.ts export async function POST(req: Request) { try { const body = await req.json(); const response = await fetch(`${EDEN_API_BASE}/v2/tasks/create`, { method: "POST", headers: { "Content-Type": "application/json", "X-Api-Key": process.env.EDEN_API_KEY || "", }, body: JSON.stringify(body) }); if (!response.ok) { return Response.json( { error: "Failed to create task" }, { status: response.status } ); } const data = await response.json(); return Response.json(data); } catch (error) { return Response.json( { error: "Internal server error" }, { status: 500 } ); } } ``` ## Deployment ### Environment Variables When deploying to production, ensure all environment variables are properly configured: | Variable | Required | Description | | --------------------------- | -------- | ------------------------------------- | | `EDEN_API_KEY` | Yes | Your Eden API key for authentication | | `NEXT_PUBLIC_EDEN_AGENT_ID` | Yes | Default agent ID for chat features | | `NEXT_PUBLIC_EDEN_API_BASE` | No | API endpoint (defaults to production) | ## Troubleshooting ### Common Issues **Solution**: Verify your API key is correct and included in the request headers. Check that the environment variable is properly loaded. **Solution**: Some tasks may take longer to process. Increase your polling timeout or implement a maximum retry count to prevent infinite polling. **Solution**: Make sure you're calling your Next.js API routes, not the Eden API directly from the browser. The API routes should proxy requests to Eden. **Solution**: Verify the agent ID exists and is active. Check that autonomy settings are properly configured for auto-reply. ## Next Steps Now that you have a working Eden application, explore these advanced features: Learn how to create and configure custom AI agents Learn how to create and configure custom AI models Explore all creation tools and parameters Complete API reference and endpoints ## Resources * [Hello Eden Repository](https://github.com/edenartlab/hello-eden) - Starter code * [Eden Discord](https://discord.com/invite/4dSYwDT) - Get help and API keys * [API Documentation](/api-reference/introduction) - Full API reference * [Eden App](https://app.eden.art) - Try Eden features in the browser ## Support Need help? Join our [Discord community](https://discord.com/invite/4dSYwDT) where you can: * Request API keys * Get implementation help * Report bugs and issues * Share your creations * Connect with other developers # Creating with Eden Source: https://docs.eden.art/guides/creation Complete guide to Eden's creation endpoints for images and videos The easiest way to make creations with Eden is through the [creation tool frontend](https://app.eden.art/create). You can also interact with the creator tool [through the SDK](/guides/build). ## Overview Eden offers a number of generative pipelines for making images and videos, and we are always adding the latest and greatest models. The pipelines are divided into a number of tools which are optimized for different visual and audio tasks. ## Tools To see the full available tools, see the [Tools](https://app.eden.art/tools) page in the app, or check out the [Tools Reference](/tools/flux_kontext) in this documentation. # Agent Memory System Source: https://docs.eden.art/guides/memory Enable agents to learn and evolve through persistent context and conversation memory Eden's memory system enables AI agents to learn and evolve through conversations, creating persistent context that makes interactions more personalized and effective over time. The system operates automatically in the background, extracting and organizing important information from conversations. ## Memory Architecture Eden uses two complementary memory systems: ### User Memory (Personal) User Memory stores personalized preferences and instructions specific to each user's relationship with your agent. This memory is private to each user and only affects their own interactions. ### Collective Memory (Shared) Collective Memory is shared across all users interacting with your agent. It allows your agent to learn and evolve based on collective group interactions, making it ideal for community-driven projects, collaborative work, and agents that need to maintain shared context. Collective Memory requires Pro+ tier or Preview access. ## Memory Components The memory system extracts and organizes four types of memories: ### 1. Episodes * **What**: Summaries of conversation segments that capture key events, decisions, and context * **Purpose**: Provide conversational continuity within a session * **Scope**: Session-specific * **Max stored**: 8 most recent episodes per session * **Example**: "User requested a story about a clockmaker and provided feedback that they preferred shorter paragraphs" ### 2. Directives (User Memory) * **What**: Persistent user preferences and behavioral instructions * **Purpose**: Customize agent behavior for individual users * **Scope**: User-specific, persists across all sessions * **Consolidation**: Automatically merged when 5+ directives accumulate (production) or 3+ (development) * **Example**: "Always ask Jack for permission before generating videos" ### 3. Facts (Collective Memory) * **What**: Atomic, verifiable, unchanging information relevant to the collective memory context * **Purpose**: Build a permanent knowledge base * **Scope**: Shared across all users * **Storage**: FIFO queue with max 50 facts per memory shard (production) * **Example**: "The project deadline is May 1st (source: Alice)" or "Maximum budget is \$1000 (source: Bob)" ### 4. Suggestions (Collective Memory) * **What**: New ideas, proposals, or context updates for the collective memory * **Purpose**: Allow the collective memory to evolve based on community input * **Scope**: Shared across all users * **Consolidation**: Automatically integrated when 16+ suggestions accumulate (production) * **Example**: "Bob proposed adding a feature that allows users to export data in CSV format" ## Memory Formation Flow ### Automatic Trigger Memories are automatically formed when either: * **Message threshold**: 45+ messages since last memory formation (production) * **Token threshold**: 1000+ tokens since last memory formation (production) ### Extraction Process The system analyzes recent conversation messages and extracts: * Exactly one episode summarizing what happened * 0-3 directives (only if persistent user preferences are identified) For each active collective memory shard: * Extract 0-2 facts relevant to the shard's context * Extract 0-5 suggestions relevant to the shard's context * Each extracted memory is tagged with its originating shard All extracted memories are saved to the database with full traceability: * Source session ID * Source message IDs * Related user IDs * Timestamp * For collective memories: associated shard ID ### Consolidation Process **User Memory Consolidation** When unabsorbed directives reach the threshold (5+ in production): 1. Load all unabsorbed directive memories 2. Use LLM to merge them with existing consolidated user memory 3. Remove redundancies and contradictions (newer overrides older) 4. Update the fully formed user memory 5. Clear unabsorbed directives **Collective Memory Consolidation** When unabsorbed suggestions reach the threshold (16+ in production): 1. Load all unabsorbed suggestions and current facts 2. Use LLM to integrate suggestions into the consolidated memory blob 3. Maintain structure and preserve existing information 4. Update version number 5. Generate fully formed memory shard ## Customizing Memory Behavior ### Memory Instructions The **Memory Instructions** field is the most important setting for collective memory. This prompt tells your agent: * What information to pay attention to * What types of facts should be remembered * What kinds of suggestions are relevant * The overall purpose and context of this memory shard **Example Memory Instructions:** ``` This collective memory is for tracking the development of our community art project "Digital Dreams". Important to remember: - Artist contributions and their specialties - Technical requirements and constraints - Agreed-upon artistic direction and themes - Deadlines and milestone dates - Budget allocations - Community feedback and preferences Focus on facts that won't change (like budget limits, deadlines) and suggestions that help guide the project's evolution (like new theme ideas, workflow improvements). ``` **Best Practices for Memory Instructions:** 1. Be specific about the context and purpose of the memory shard 2. Clearly define what qualifies as a "fact" vs a "suggestion" 3. Iterate frequently - the quality of your Memory Instructions directly impacts memory quality 4. Keep it focused - narrow scopes work better than trying to remember everything 5. Include examples of the types of information you want captured ## User Interface Guide ### Managing User Memory **Viewing Your Memory** * The main text area shows your consolidated user memory * Below that, "Recent Memory Context" shows new directives awaiting consolidation * These recent directives will be automatically merged into your main memory **Editing User Memory** 1. Click the edit button (appears on hover) 2. Modify the memory text in the modal 3. Confirm your changes Manual edits replace the consolidated memory completely. Use with caution. **Managing Recent Directives** * Click edit to modify a directive before consolidation * Click delete to remove unwanted directives * These will automatically merge into your main memory when the threshold is reached ### Managing Collective Memory **Editing Memory Instructions** 1. Click the edit button in the Memory Instructions section 2. Update the prompt to better describe what should be remembered 3. Save your changes 4. This affects future memory extractions immediately **Viewing Memory Content** * The Memory section shows the main consolidated collective memory * This evolves automatically as suggestions are consolidated * Version number indicates how many consolidation cycles have occurred **Managing Facts** * Facts are shown with their age (e.g., "5 days old") * Click edit to modify a fact * Click delete to remove irrelevant facts * Facts follow FIFO (first in, first out) - oldest facts are automatically removed when the limit is reached **Managing Recent Memory Context (Suggestions)** * Shows new suggestions awaiting consolidation * Tagged with "Will be integrated soon" * Click edit to refine suggestions before consolidation * Click delete to remove off-topic suggestions * These automatically consolidate when threshold is reached **Activating/Pausing Memory** * Use the toggle switch to activate or pause a memory shard * Paused shards don't extract new memories but retain existing content * Useful for temporary memory contexts or testing ## Use Cases ### Personal AI Assistants Create agents that remember user preferences, working styles, and individual needs across all conversations. ### Collaborative Projects Build shared knowledge bases where agents learn from all team members and maintain project context. ### Community Agents Deploy agents that evolve based on collective interactions, becoming more knowledgeable over time. ### Creative Workflows Develop agents that remember artistic preferences, project requirements, and creative direction. ## Memory Context Assembly When your agent responds to a message, it assembles a complete memory context: **For User Memory:** 1. Load the fully formed user memory (consolidated + recent directives) 2. Include username and memory age metadata 3. Format as XML structure **For Collective Memory:** 1. Load all active memory shards 2. For each shard, include: * Shard name and Memory Instructions * Current facts with age information * Consolidated memory content * Recent suggestions awaiting consolidation 3. Format as hierarchical XML **For Episode Memory:** 1. Load up to 8 most recent episodes from the current session 2. Order chronologically (oldest to newest) 3. Format as conversation context **Final Memory XML Structure:** ```xml theme={null} ## Shard facts: [Facts with age] ## Current consolidated shard memory: [Consolidated memory content] ## Recent shard suggestions: [Unabsorbed suggestions] [Consolidated user memory] ## Recent user directives: [Unabsorbed directives] - [Episode 1] - [Episode 2] - [Episode N] ``` ## Advanced Configuration ### Memory Shard Settings Each collective memory shard can be customized with: **max\_facts\_per\_shard** (default: 50 in production) * Maximum number of facts to store in FIFO queue * When limit is reached, oldest facts are removed * Can be customized per shard **max\_agent\_memories\_before\_consolidation** (default: 16 in production) * Number of suggestions before automatic consolidation * Higher values mean less frequent but larger consolidations * Can be customized per shard ### Memory Formation Timing **When Memories Form:** Memories form automatically during conversation when either: * 45+ messages have been exchanged (production) OR * 1000+ tokens worth of conversation has occurred (production) Minimum requirement: At least 4 messages must have occurred since the last memory formation. **Message Weighting:** Different message types have different importance for triggering memory formation: * User messages: 1.0x weight (highest priority) * Tool results: 0.5x weight * Agent messages: 0.2x weight (memories should come from users, not agents) This ensures memory formation is triggered by meaningful user input rather than verbose agent responses. ### Token Limits **Maximum Memory Sizes:** * Episode: 50 words target * Directive: 25 words target * Suggestion: 35 words target * Fact: 30 words target * User Memory Blob: 250 words target * Agent Memory Blob: 750 words target These are targets, not hard limits. The LLM is instructed to stay within these bounds during extraction and consolidation. ## Best Practices ### For User Memory 1. **Be clear and specific** when giving the agent instructions 2. **Phrase directives as rules** rather than requests (e.g., "Always X" instead of "Could you X?") 3. **Review recent directives** periodically to catch unwanted extractions 4. **Keep consolidated memory focused** on truly persistent preferences ### For Collective Memory 1. **Start simple** - Write initial Memory Instructions that are clear and narrow in scope 2. **Iterate frequently** - Refine Memory Instructions based on what gets extracted 3. **Remove bad facts** - Clean up irrelevant facts regularly to maintain quality 4. **Review suggestions before consolidation** - Edit or delete suggestions that don't align with your goals 5. **Monitor memory version** - Track how often consolidation occurs and adjust thresholds if needed 6. **Use specific language** in Memory Instructions about what qualifies as a fact vs suggestion 7. **Provide examples** in Memory Instructions of the types of information you want ### General Tips 1. **Let the system work** - Give it time to learn from multiple conversations 2. **Trust the consolidation process** - Manual edits should be rare 3. **Use descriptive names** for memory shards 4. **Pause unused shards** rather than deleting them 5. **Monitor memory growth** - If memories grow too large, refine extraction criteria ## Troubleshooting **Problem: Too many irrelevant memories are being extracted** * Solution: Make Memory Instructions more specific about what's relevant * Solution: Review and delete bad memories before consolidation * Solution: Reduce max\_items in memory type configuration (requires system access) **Problem: Important information isn't being captured** * Solution: Explicitly mention in Memory Instructions what types of information matter * Solution: Ensure users are providing information clearly in conversations * Solution: Check that the memory shard is active (not paused) **Problem: Consolidated memory is becoming too verbose** * Solution: Manually edit to reduce length * Solution: Adjust word count targets in Memory Instructions * Solution: More frequently review and remove outdated information **Problem: Memory consolidation isn't happening** * Solution: Check that enough suggestions/directives have accumulated * Solution: Verify the memory shard is active * Solution: Check system logs for consolidation errors **Problem: Memories from different topics are mixing** * Solution: Create separate memory shards for different topics * Solution: Make Memory Instructions more focused and specific * Solution: Use descriptive shard names that clearly indicate purpose ## API Reference ### User Memory Endpoints * `GET /api/agents/{agent_id}/memory` - Get user memory * `POST /api/agents/{agent_id}/memory` - Update user memory * `PATCH /api/agents/{agent_id}/user-memory-enabled` - Toggle user memory on/off * `DELETE /api/agents/{agent_id}/memory/{directive_id}` - Delete a directive ### Collective Memory Endpoints * `GET /api/agents/{agent_id}/collective-memory` - Get all memory shards * `POST /api/agents/{agent_id}/collective-memory` - Create a new memory shard * `PATCH /api/agents/{agent_id}/collective-memory/{shard_id}` - Update shard settings * `DELETE /api/agents/{agent_id}/collective-memory/{shard_id}/memory/{memory_id}` - Delete a fact or suggestion ### Memory Sessions * `PATCH /api/memory-sessions/{memory_id}` - Edit individual memory content ## Technical Details ### Models Used * **Fast model** (gpt-4o-mini): Episode, directive, and user memory consolidation * **Slow model** (gpt-4o): Fact, suggestion extraction, and collective memory consolidation ### Structured Output Memory extraction uses structured JSON output with validation: * Max length constraints enforced per memory type * Dynamic limits based on conversation length * Pydantic models ensure type safety ### Traceability Every memory includes: * Source session ID * Source message IDs (which messages contributed to this memory) * Related user IDs (who was involved) * Timestamp (when it was created) * For collective memories: Shard ID (which memory shard it belongs to) This enables full audit trails and debugging. # Memory Source: https://docs.eden.art/guides/memory/index # Eden Memory System Eden's memory system enables AI agents to learn and evolve through conversations, creating persistent context that makes interactions more personalized and effective over time. The system operates automatically in the background, extracting and organizing important information from conversations. ## Overview The memory system provides two complementary approaches to context management: * **User Memory (Personal)**: Stores personalized preferences and instructions specific to each user's relationship with your agent * **Collective Memory (Shared)**: Enables agents to learn from all interactions, building shared knowledge across your entire community ## Key Features ### Automatic Memory Formation * Memories are extracted automatically during conversations * No manual intervention required * Smart triggers based on conversation length and content ### Intelligent Organization * **Episodes**: Conversation summaries for session continuity * **Directives**: Persistent user preferences and behavioral instructions * **Facts**: Atomic, verifiable information in a shared knowledge base * **Suggestions**: New ideas and proposals for evolving collective context ### Customizable Behavior * Memory Instructions guide what information to capture * Flexible consolidation thresholds * Per-shard configuration options * Active/paused state control ## How It Works The memory system automatically monitors conversations and extracts relevant information when thresholds are met: 1. **Extraction**: Identifies important information from recent messages 2. **Storage**: Saves memories with full traceability and metadata 3. **Consolidation**: Periodically merges and refines memories 4. **Context Assembly**: Provides complete memory context for agent responses ## Use Cases ### Personal AI Assistants Create agents that remember user preferences, working styles, and individual needs across all conversations. ### Collaborative Projects Build shared knowledge bases where agents learn from all team members and maintain project context. ### Community Agents Deploy agents that evolve based on collective interactions, becoming more knowledgeable over time. ### Creative Workflows Develop agents that remember artistic preferences, project requirements, and creative direction. ## Getting Started To start using the memory system: 1. **Enable memory** for your agent in the agent settings 2. **Configure Memory Instructions** to guide what information should be captured 3. **Start conversations** and let the system learn automatically 4. **Review and refine** memories through the management interface ## Documentation * **[Complete Guide](guide.md)**: Detailed documentation on architecture, configuration, and best practices * **[API Reference](guide.md#api-endpoints)**: Integration endpoints and usage examples * **[Best Practices](guide.md#best-practices)**: Tips for optimizing memory performance * **[Troubleshooting](guide.md#troubleshooting)**: Common issues and solutions ## Benefits * **Personalized Experiences**: Each user gets tailored interactions based on their preferences * **Continuous Learning**: Agents improve and adapt over time * **Efficient Context Management**: Automatic summarization and organization * **Full Traceability**: Complete audit trails for all memory formation * **Flexible Control**: Customize behavior through Memory Instructions * **No Manual Effort**: Set it up once and let it work automatically *** *The memory system is available for all Eden agents. Collective Memory requires Pro+ tier or Preview access.* # Training Models Source: https://docs.eden.art/guides/models Train custom LoRA models for consistent characters, objects, and styles A limitation of generative models is that they can only generate things they've been trained on. But what if you want to consistently compose with a specific object, person's face, or artistic style not found in the original training data? This is where Eden trained models come in. Models are custom characters, objects, styles, or specific people which have been trained and added by Eden users to the Eden tools' knowledge base, using the [LoRA technique](https://arxiv.org/abs/2106.09685). With models, users are able to consistently reproduce specific content and styles in their creations. Models are first trained by uploading example images to either the [Flux or (Older) SDXL Trainer](https://app.eden.art/train). Training a model takes a couple of hours. Once trained, the model becomes available in all endpoints, including images and video. ## Training Train models through the [training UI](https://app.eden.art/train). ### Selecting your training set You need just a few images: * **Faces/objects**: 4-10 images usually sufficient * **Styles**: Can use hundreds or thousands for diverse styles - **Selective diversity**: Maximize variance of everything you're *not* trying to learn - **High resolution**: At least 768x768 pixels - **Center-cropped**: Target subject should be in center square - **Prominence**: Feature target prominently The choice of training images is the biggest factor determining quality. If unsatisfied, try different images before adjusting settings. Override automatic prompts by uploading text files matching image names: * `1.txt` for `1.jpg` * `image2.txt` for `image2.png` Each text file should contain the prompt for that image. ### Training parameters Upload images (jpg, png, webm) or zip files. Max 10 files, 100MB each. Can include text files for custom prompts. How you'll reference the concept in prompts. Names don't need to be unique. * **object**: All non-human faces and things * **face**: Human faces only * **style**: Abstract style characteristics Training duration. More steps = better fit but risk of overfitting. Doubles samples by horizontal flipping. Off for text/logos or face mode. LoRA dimension. Higher = more capacity but overfitting risk. Training resolution. Lower (768) useful for faces in larger scenes. Training at lower resolutions (e.g. 768) can be useful if you want to learn a face but prompt it in settings where the face is only part of the image. Using init\_images with rough shape composition helps in this scenario. ## Model types ### Faces Optimized for human faces. Use object mode for non-human faces. Face mode is highly optimized for human faces only. Use object mode for cartoon characters or animals. Face training images Reference in prompts: * Xander as a character in a noir graphic novel * Xander as a knight in shining armour (using angle brackets) * Xander as the Mona Lisa (using angle brackets) Generated images with concept ### Objects For all "things" besides human faces: physical objects, characters, cartoons. 10 really good, diverse HD images is usually better than 100 low-quality or similar images. Object training images Prompt examples: * a photo of kojii surfing a wave (using angle brackets) * kojii in a snowglobe * a low-poly artwork of Kojii Generated with object concept ### Styles Model artistic styles or genres, focusing on abstract characteristics rather than content. Style training images With style models, you don't need to reference the concept - just prompt normally and the style will be applied. Generated with style concept Styles can capture various aesthetics, color palettes, layout patterns, or abstract notions like [knolling](https://www.google.com/search?q=knolling\&tbm=isch): Knolling training set Generated knolling images ## Generating with models Once trained, select your model in the [creation tool](https://app.eden.art/create) and trigger it by name or `` in prompts. ## Exporting Models Eden models are compatible with other tools supporting LoRA. Download concept as .tar file ### AUTOMATIC1111 Download concept and extract the .tar file * Put `[lora_name]_lora.safetensors` in `stable-diffusion-webui/models/Lora` * Put `[lora_name]_embeddings.safetensors` in `stable-diffusion-webui/embeddings` Use [JuggernautXL\_v6](https://civitai.com/models/133005/juggernaut-xl) as base checkpoint Load both embedding AND LoRA weights by triggering in prompt Using LoRA in AUTOMATIC1111 * **Face/Object modes**: Use `[lora_name]_embeddings` in prompt * **Style concepts**: Use `"... in the style of [lora_name]_embeddings"` ### ComfyUI * Put `[lora_name]_lora.safetensors` in `ComfyUI/models/loras` * Put `[lora_name]_embeddings.safetensors` in `ComfyUI/models/embeddings` Use "Load LoRA" node and adjust strength Reference with `embedding:[lora_name]_embeddings` in prompt Using in ComfyUI LoRA strength has relatively small effect because Eden models optimize token embeddings rather than LoRA matrices. # About Eden Source: https://docs.eden.art/index Welcome to Eden! Learn about our mission to democratize generative AI for artists. Welcome to Eden! If you have any questions, please [join the Discord](https://discord.gg/4dSYwDT). [Eden](https://eden.art) makes [open source](https://github.com/edenartlab) generative AI tools that help artists create and share art, train custom models, deploy agents and assistants, and build interactive applications for their fans. With Eden, you can: Create images, videos, audio, and text using the creation tool. Custom models to tailor visual art towards specific styles, genres, or characters Create your own agents and bots for chat, artistic tasks, or social media interactions Use the Eden API and SDKs to build your own applications using Eden tools. ## Mission & Team Eden is a team of artists, creative technologists, and longtime machine learners. We believe in the power of [open source](https://github.com/edenartlab) to foster innovation, collaboration, and democratization in AI. We help creators and professional artists adopt this technology while taking control of their data and likeness online. # Discord Source: https://docs.eden.art/integrations/discord Deploy your Eden agent to Discord servers Deployments are experimental and currently in private beta. If you're interested in testing it now, please reach out to the devs on [Discord](https://discord.com/invite/4dSYwDT). Users who have been granted access to the deployment beta will notice a "Deployments" section in each Agent's settings. ## Setup Process ### Create application in Discord Go to the [Discord Developer Portal](https://discord.com/developers/applications) and create a new application. Select 'New Application' Give your application a name (e.g. "My Agent") and click "Create". For convenience, use the same name as your agent. In "General Information": * Upload your agent's profile image to App Icon * Click 'Save' to save the changes Discord deployment settings ### Configure Bot Settings 1. Click "Bot" on the left sidebar 2. Click "Reset Token" to generate a new token and copy it somewhere safe Generate and copy token If you ever reset or revoke the token, your bot will stop working. You can always generate a new token and paste it again into Eden. 3. Scroll down to "Privileged Gateway Intents" and enable: * Presence Intent * Server Members Intent * Message Content Intent Click "Save Changes" after enabling these permissions. Gateway Intents ### Configure Eden Deployment Go to your agent's deployment settings in Eden: 1. Select Discord 2. Paste the Discord Token you copied earlier Discord deployment configuration ### Set Up Allowed Channels You need to set up specific channels that your bot is allowed to access. The 'Allowed Channels' field is a list of channels your agent will be able to read and post to, and 'Read Access' is a list of channels your agent will be able to read from (but not post to). The note field is a description of the channel that would be helpful for you to give to your agent to tell it where to read or post. A good note is something like "AI Server - General Chat", "Company Server - Marketing Channel", etc. Discord deployment channels To find the channel IDs, first, enable Developer Mode in Discord: User settings Search for "developer" and activate developer mode in advanced settings: Developer mode To add channels: 1. Right-click any channel name in Discord 2. Select "Copy Channel ID" 3. Add the ID to "Allowed Channels" in Eden 4. Add a label for the channel so you remember it Copy Channel ID Click "Deploy" when you're done. Alternatively, you can copy the channel URL, and the ID will be the last number in the URL. For example, if the URL is [https://discord.com/channels/111111111/1234567890](https://discord.com/channels/111111111/1234567890), the ID is 1234567890. After successful deployment: 1. Copy the "Invite Bot to Server" link from Eden 2. Paste it into a browser 3. Select your server and add the bot Invite link Your bot will show as "Online" in your Discord server sidebar when ready. Bot online status ## Testing Your Agent Go to one of the allowed channels and mention your bot in a message. If it responds, you're all set! ## Using the Discord Tools The following tools are available for your agent to use once it is deployed to Discord: * `discord_post` - Post a message to a channel * `discord_search` - Search for messages in a channel You can use these in a conversation with your agent. Discord tools ## Troubleshooting Common issues: * Check the bot has "Send Messages" permissions in the channel * Verify the channel ID is in the allowed channels list * Ensure gateway intents are enabled * Ensure the bot shows 'online' in the channels you are trying to get it to respond in. If the bot does not show in the sidebar and online, it does not have access to the channel. For private channels, manually add the bot as a member: 1. Right-click the channel and click "Edit Channel" Edit channel 2. Go to Permissions → Add Members → Add your bot Add permissions # Farcaster Source: https://docs.eden.art/integrations/farcaster Deploy your Eden agent to Farcaster Deployments are experimental and currently in private beta. If you're interested in testing it now, please reach out to the devs on [Discord](https://discord.com/invite/4dSYwDT). Users who have been granted access to the deployment beta can deploy agents to Farcaster through the "Deployments" section in each Agent's settings. ## Prerequisites You'll need a Farcaster account. The easiest way is to use the Farcaster app: Download on App Store Download on Play Store ## Setup Process In the Farcaster app: 1. Go to **Settings** 2. Navigate to **Advanced** 3. Select **Show Farcaster recovery phrase** 4. Copy this phrase and save it somewhere safe In your agent's deployment settings in Eden: 1. Select **Farcaster** 2. Paste the mnemonic from the previous step into the "Mnemonic" field 3. Configure **Auto-reply** settings: * **Enabled**: Agent automatically replies to @mentions * **Disabled**: Manual control only 4. Click **Deploy** If deployment was successful and auto-reply is enabled, your bot should reply to any @mention of its username on Farcaster. ## Configuration Options Your Farcaster recovery phrase (keep this secure!) Enable automatic replies to @mentions Keep your mnemonic secure - anyone with access to it can control your Farcaster account. ## Using the Farcaster Tools The following tools are available for your agent to use once it is deployed to Farcaster: * `farcaster_cast` - Cast a message to a Farcaster * `farcaster_search` - Search for messages on Farcaster * `farcaster_mentions` - Get your agent's mentions on Farcaster # About Integrations Source: https://docs.eden.art/integrations/overview Overview of Eden's integrations Eden's integrations allow you to deploy your Eden agent to a variety of platforms and services. You can use these integrations to create your own agents and bots for chat, artistic tasks, or social media interactions. ## Setting Up Integrations Setting up integrations for your agent can be done in the "Integrations" section of your agent's settings. This can be found by clicking the Gear icon in the top right of the agent's chat page, then selecting "Integrations". ## Social Media * [Discord](/integrations/discord) * [Telegram](/integrations/telegram) * [Twitter](/integrations/twitter) * [Farcaster](/integrations/farcaster) * [TikTok](/integrations/tiktok) ## Integration Settings ### Cover Usage Costs The "Cover Usage Costs" setting determines who pays for API usage when users interact with your agent. You can choose from three options: * **Off**: Users pay for their own usage when interacting with your agent * **Deployments only**: You (the agent owner) cover all usage costs on social platforms and deployments only. Users still pay when using your agent in the main Eden app * **Full**: You cover all costs, including usage in the main Eden app This setting can be found in the "Integrations" section of your agent's settings. Cover Usage Costs # Telegram Source: https://docs.eden.art/integrations/telegram Deploy your Eden agent to Telegram groups and channels Deployments are experimental and currently in private beta. If you're interested in testing it now, please reach out to the devs on [Discord](https://discord.com/invite/4dSYwDT). Users who have been granted access to the deployment beta will notice a "Deployments" section in each Agent's settings. ## Setup Process ### Configure with BotFather 1. Message [@BotFather](https://t.me/botfather) in Telegram 2. Send `/newbot` to create a new bot 3. Provide: * Display name for your bot * Username ending with `_bot` 4. Copy the token and save it somewhere safe 5. Disable privacy mode to let the bot receive group messages: * Send `/setprivacy` * Select your bot * Choose "Disable" Creating a new bot in Telegram Use `/setuserpic` to upload your bot's profile picture. Go to your agent's deployment settings: 1. Select **Telegram** 2. Paste the token into the "Token" field Enter token and deploy You need to specify which channels (groups/topics) the bot can chat in. To get channel IDs, visit the channel in [Telegram Web](https://web.telegram.org/) and inspect the URL. Copy everything after the last slash and #.\ Format: `-some_number`\ Example: `-4656194598` Group ID format Copy everything after the last slash.\ Format: `-100` + `some_number` + `_some_string` If your URL has `/k/`, try changing it to `/a/` instead. Example: `-1002429164874_30` Topic group ID format Add these IDs to "Allowed Channels" for each channel you want your bot to access. 1. Click **Deploy** 2. Wait for deployment confirmation 3. Try mentioning your bot in an allowed channel The deployment may show as "successful" a few minutes before it's actually ready. If successful but not responding, please wait a few more minutes. ## Tool Go to one of the allowed channels and mention your bot in a message. If it responds, you're all set! ## Using the Telegram Tools The following tools are available for your agent to use once it is deployed to Telegram: * `telegram_post` - Post a message to a channel You can use these in a conversation with your agent. ## Getting Channel IDs ### Quick Reference | Channel Type | ID Format | Example | | ----------------- | ------------------- | ------------------- | | Regular Group | `-number` | `-4656194598` | | Group with Topics | `-100number_string` | `-1002429164874_30` | ### Troubleshooting Tips * Use [Telegram Web](https://web.telegram.org/) to get IDs * For topic groups, ensure URL uses `/a/` not `/k/` * Double-check the bot has been added to the group * Verify privacy mode is disabled in BotFather # TikTok Source: https://docs.eden.art/integrations/tiktok Deploy your Eden agent to TikTok for autonomous posting. Deployments are experimental and currently in private beta. If you're interested in testing it now, please reach out to the devs on [Discord](https://discord.com/invite/4dSYwDT). Deploy your agent to TikTok through the "Deployments" section in Agent settings. ## Setup Process TikTok Setup is a straightforward OAuth connection. Simply click 'Connect TikTok Account', then follow the instructions. ## Using the TikTok Tools The following tools are available for your agent to use once it is deployed to TikTok: * `tiktok_post` - Post a video to a TikTok # Twitter/X Source: https://docs.eden.art/integrations/twitter Deploy your Eden agent to Twitter/X for autonomous posting and interactions Deployments are experimental and currently in private beta. If you're interested in testing it now, please reach out to the devs on [Discord](https://discord.com/invite/4dSYwDT). Deploy your agent to Twitter/X through the "Deployments" section in Agent settings. ## Setup Process Twitter Setup is a straightforward OAuth connection. Simply click 'Connect Twitter Account', then click 'Authorize App'. ## Using the Twitter Tools The following tools are available for your agent to use once it is deployed to Twitter: * `twitter_post` - Post a message to a Twitter # Privacy Policy Source: https://docs.eden.art/legal/privacy How Eden collects, uses, and protects your personal information *Effective Date: September 16, 2026* Eden Labs, Inc ("Eden", "we", "us", or "our") respects your privacy and is committed to protecting your personal information. This Privacy Policy outlines how we collect, use, retain, and protect the personal information of users ("you", "your") of our services ("Services"). ## 1. Information We Collect We collect various types of information: * Contact details (name, e-mail address) * Social media account details * Uploads, prompts, likes, collections * Other forms of engagement with our Services * Browser information * IP address * Usage data through cookies ## 2. Use of Information Your information is used to provide and improve our Services, including user experience enhancement and service development. Google API data, including information derived from it, is subject to the specific purposes and limitations in section 3. The general service-improvement language does not expand those purposes. ## 3. Google API Services and User Data **Access and purpose.** In new Eden (`dev.eden.art` and `bp.eden.art`), connecting Google lets a permitted agent list your calendars, read/create/update/delete events, check availability and answer Calendar questions. We access your Google account ID and email; calendar names, IDs and time zones; event titles, descriptions, times, locations, attendees, responses and meeting links; and connection credentials and permissions. We do not request Gmail or calendar-sharing/settings access. Calendar use requires Google authorization, agent permission and a separate in-conversation processing agreement. **AI processing and sharing.** With that agreement, relevant Calendar data and conversation context go to Anthropic (Claude) for your requested assistance, including follow-up context, titles and private agent notes/memory. Eden permits only approved processing routes. Anthropic does not train on API data by default; Eden's API feedback sharing and its approved Claude subscription's model improvement are disabled. API retention is normally 30 days; subscription and feature retention may differ. See [Anthropic's retention information](https://platform.claude.com/docs/en/manage-claude/api-and-data-retention). Calendar-sensitive image, video and music processing is currently unavailable. Calendar conversations are private. An agent owner can view only the specific messages you separately approve for that named owner—not future or changed messages, credentials or your Calendar itself. Sharing is optional; revocation stops future access but cannot retract information already viewed. Public links do not authorize disclosure. Hosting/database providers, including Neon, process data to operate Eden. Other human access is limited to security, legal or other exceptions permitted by Google's policies. **Storage and retention.** Connections, permissions, consent and audit records are stored server-side; new Eden uses Neon's PostgreSQL database. OAuth credentials are encrypted and excluded from model-visible results. Connections to the public app and Google use HTTPS. Calendar results and derived information can remain in conversation history, private notes and agent-runtime storage; retained derived media remains private. These records, including those from retired integrations, are not automatically erased by disconnecting. **Disconnect and deletion.** Disconnect clears usable local credentials, disables agent access and attempts Google-side revocation. You can also revoke access in [Google Account settings](https://myaccount.google.com/permissions). Already-dispatched actions may finish. Disconnect does not undo event changes or delete events, history or all metadata. Request deletion of retained connection, conversation and agent-runtime data at **[support@eden.art](mailto:support@eden.art)**; backups and external processors may not be erased immediately. **Limited Use.** Eden follows the [Google API Services User Data Policy](https://developers.google.com/terms/api-services-user-data-policy), including Limited Use requirements. Google data and its derivatives are used only for your requested features—not advertising, marketing, general-model training, sale or third parties' independent use. These restrictions override broader provisions elsewhere in this policy. ## 4. Retention of Information Retention depends on the information and service feature. For Google Calendar, disconnecting removes usable credentials but does not automatically erase connection metadata, audit records or information already included in conversations. You may request deletion as described in section 3. Retention does not authorize independent reuse of Google API data or override its Limited Use restrictions. ## 5. Sharing of Information Eden uses external providers to operate its services, including hosting, storage and AI processing. Information may be disclosed to: * **Third-party service providers**, including cloud storage and analytics services * **Legal compliance** or protection of Eden's rights, property, or safety Google API data and information derived from it remain subject to section 3, not a general authorization to share data. ## 6. Data Protection and Security We implement technical and organizational measures to protect your personal information: * All data transmitted between your device and our servers is encrypted using TLS (Transport Layer Security) * Personal data is stored in secure database systems * Access is controlled according to the service feature and authorized user roles; Google Calendar processing and conversation sharing are described in section 3 * We employ authentication mechanisms to prevent unauthorized access * We regularly review our data collection and storage practices * We take reasonable steps to ensure that personal data is accurate and up-to-date While we strive to protect your personal information, no method of transmission over the Internet or electronic storage is 100% secure. We cannot guarantee absolute security but are committed to promptly notifying affected users in the event of a data breach as required by applicable law. ## 7. International Data Transfer Your data may be stored or processed in different locations worldwide, subject to applicable data protection laws. ## 8. Children's Privacy Our Services are not intended for individuals under 18 years of age, and we do not knowingly collect personal information from this group. ## 9. Your Rights You may request access to, correction, or deletion of your personal data by e-mailing us at `support@eden.art`. ## 10. Third-Party Links Our Services may contain links to other websites. Please note that our Privacy Policy does not apply to these external sites, and we are not responsible for their content or privacy practices. ## 11. Changes to This Privacy Policy We may update this policy and will inform users of significant changes via e-mail. ## 12. Contact Us For questions or concerns, please contact us at `support@eden.art` # Terms of Service Source: https://docs.eden.art/legal/tos Legal agreement between Eden and users of our services *Effective Date: January 23, 2024* ## 1. Introduction and Acceptance of Terms We, the team behind Eden, are dedicated to making tools that help people create and share generative art and media, and build interactive applications for their audiences. We hope you love our products and services as much as we love creating them. By accessing and using Eden's services, you agree to be bound by these Terms of Service ("Terms") which describe our commitments to you, and your rights and responsibilities when using our services. These Terms apply in perpetuity unless explicitly superseded or modified. Please read these Terms carefully. If you do not agree with any part of these Terms, please discontinue use of our services immediately. ## 2. Service Description We strive to continuously improve our Services, and reserve the right to modify, enhance, or discontinue any feature without prior notice. While we aim to provide a high-quality experience, we cannot guarantee uninterrupted service or the maintenance of existing features. ## 3. Age Requirement Our services are intended for users who are at least 18 years old. By using Eden, you confirm that you are of legal age to form a binding contract. ## 4. Rights Granted to Eden You retain full ownership over all of the content you generate using our Services, while granting us: A perpetual, irrevocable, non-exclusive, royalty-free, worldwide license to use, display, reproduce, create derivative works of, and distribute your content in promotional materials and for the purpose of improving our services, including training our models. ## 5. Content and Conduct Guidelines We are committed to maintaining a respectful community. You agree not to post or share content that is: * Hateful or defamatory * Containing spam or unsolicited commercial material * Otherwise deemed abusive by the sole discretion of Eden Violations of these guidelines may result in disciplinary actions against the offending account, including possible termination. ## 6. Fees for Paid Features Some features of Eden are available for a fee. We reserve the right to: * Modify pricing * Introduce new paid features * Change features included in paid plans Users will be notified of any pricing changes via email, and such changes will come into effect following a notice period of at least 30 days. ## 7. Intellectual Property Respect You must respect the intellectual property rights of others. In case of a claim of infringement: We will verify the claim If substantiated, take down the infringing content in compliance with DMCA provisions If you believe your copyright has been infringed, send a takedown notice to `info@eden.art` ## 8. Third-Party Service Integrations Eden integrates with third-party services to provide enhanced functionality for your AI agents: **Google Services**: When you connect your Google account, you authorize your Eden AI agent to access and manage Google Calendar events on your behalf. This includes creating, modifying, and deleting calendar events as part of the agent's community management and event planning capabilities. By connecting third-party services to Eden: * You authorize Eden and your AI agents to access the connected service on your behalf * You agree to comply with the third-party service's own terms of service * You acknowledge that disconnecting a service may limit your agent's functionality ## 9. Privacy Policy Our Privacy Policy, detailing how we handle personal information including data from third-party integrations, can be found at [Eden Privacy Policy](/legal/privacy). ## 10. Indemnification You agree to indemnify and hold harmless Eden, its affiliates, officers, and employees from any claim, demand, loss, or damages, including reasonable attorneys' fees, arising out of or related to: * Your use of our services * Your content * Your violation of these Terms This indemnification obligation covers all types of claims and actions. ## 11. Updates to Terms We reserve the right to modify these Terms at any time. We will provide notice of significant changes by updating the date at the top of these Terms and by notifying users via email. ## 12. Severability, Waiver, and Complete Agreement * **Severability**: If any part of these Terms is found unenforceable, that part will be modified or severed * **Waiver**: Our failure to enforce any part is not a waiver of our right to later enforce * **Complete Agreement**: These Terms constitute the complete agreement between Eden and you ## 13. Limitation of Liability To the fullest extent permitted by law, Eden shall not be liable for any indirect, incidental, special, consequential, or punitive damages, or any loss of profits or revenues, whether incurred directly or indirectly, or any loss of data, use, goodwill, or other intangible losses, resulting from your access to or use of or inability to access our services. ## 14. Governing Law and Dispute Resolution * **Governing Law**: These Terms shall be governed by the laws of the State of California, USA * **Dispute Resolution**: Any disputes will be resolved exclusively in the courts located in California ## 15. Changes to the Terms We reserve the right to modify these Terms at any time. We will provide notice of significant changes by updating the date at the top of these Terms or through other appropriate communication channels. ## 16. Contact Information If you have any questions about these Terms, please email us at `info@eden.art` # Ace Step Musicgen Source: https://docs.eden.art/tools/ace_step_musicgen Generate music from text prompt using Ace Step model. ## Overview Generate music from text prompt using Ace Step model. * **Output Type**: audio * **Base Model**: musicgen * **Estimated Cost**: 0.2 \* duration \* (number\_of\_steps/60) credits * **Handler**: replicate ## Parameters ### Required Parameters Text prompts to guide music generation (e.g., genre, mood, instruments, BPM). Supports tags, descriptions, and scenes. Use commas to separate different tags. E.g., 'synth-pop, electronic, pop, synthesizer, drums, bass, piano, 128 BPM, energetic, uplifting, modern' * Label: Tags (Prompt) ### Optional Parameters Optional lyrics for the music. Can be multi-line. Use \[verse], \[chorus], and \[bridge] to separate different parts of the lyrics. Use \[instrumental] or \[inst] to generate instrumental music. * Label: Lyrics Desired duration of the generated audio in seconds. * Label: Duration * Minimum: 1 * Maximum: 240 Seed for the generation. Set for reproducibility. If blank, a random value will be used. * Label: Seed * Minimum: 0 * Maximum: 2147483647 Number of inference steps. (More can improve quality but will increase cost/latency.) * Label: Number Of Steps * Minimum: 10 * Maximum: 200 Omega scale for APG guidance (granularity scale), or similar for other CFG types. Higher values can reduce artifacts. * Label: Granularity Scale * Minimum: -100.0 * Maximum: 100.0 Guidance interval. * Label: Guidance Interval * Minimum: 0.0 * Maximum: 1.0 Guidance interval decay. * Label: Guidance Interval Decay * Minimum: 0.0 * Maximum: 1.0 Overall guidance scale. Controls how much the generation adheres to the prompt. Note that when lyric\_guidance\_scale > 1 and tag\_guidance\_scale > 1, this global guidance scale might not be applied. * Label: Guidance Scale * Minimum: 0.0 * Maximum: 30.0 Minimum guidance scale. * Label: Min Guidance Scale * Minimum: 0.0 * Maximum: 100.0 Guidance scale for tags (text prompt). This is the specific guidance scale for the text component and typically applies to CFG. A suggested starting point could be around 5.0 (especially if lyric guidance is around 1.5). * Label: Tag Guidance Scale * Minimum: 0.0 * Maximum: 10.0 Specific guidance scale for the lyric component. * Label: Lyric Guidance Scale * Minimum: 0.0 * Maximum: 10.0 # Elevenlabs Source: https://docs.eden.art/tools/elevenlabs Text-to-speech with ElevenLabs ## Overview Text-to-speech with ElevenLabs * **Output Type**: audio * **Estimated Cost**: 0.05 \* text.length credits ## Parameters ### Required Parameters The text to be spoken * Label: Text The voice name to use for the speech Here are descriptions of all the available voices: 9BWtsMINqrJLrRacOk9x :: Aria, american, husky, middle\_aged, female, en, informative\_educational EXAVITQu4vr4xnSDxMaL :: Sarah, american, professional, young, female, en, entertainment\_tv FGY2WhTYpPnrIDTdsKH5 :: Laura, american, sassy, young, female, en, social\_media IKne3meq5aSn9XLyUdCD :: Charlie, australian, hyped, young, male, en, conversational JBFqnCBsd6RMkjVDRZzb :: George, british, mature, middle\_aged, male, en, narrative\_story N2lVS1w4EtoT3dr4eOWO :: Callum, middle\_aged, en, male, characters SAz9YHcvj6GT2YYXdXww :: River, american, calm, middle\_aged, neutral, en, conversational TX3LPaxmHKxFdv7VOQHJ :: Liam, american, confident, young, male, en, social\_media XB0fDUnXU5powFXDhCwa :: Charlotte, swedish, relaxed, young, female, en, characters\_animation Xb7hH8MSUJpSbSDYk0k2 :: Alice, british, professional, middle\_aged, female, en, advertisement XrExE9yKIg1WjnnlVkGX :: Matilda, american, upbeat, middle\_aged, female, en, informative\_educational bIHbv24MWmeRgasZH58o :: Will, american, chill, young, male, en, conversational cgSgspJ2msm6clMCkdW9 :: Jessica, american, cute, young, female, en, conversational cjVigY5qzO86Huf0OWal :: Eric, american, classy, middle\_aged, male, en, conversational iP95p4xoKVk53GoZ742B :: Chris, american, casual, middle\_aged, male, en, conversational nPczCjzI2devNBz1zQrb :: Brian, american, classy, middle\_aged, male, en, social\_media onwK4e9ZLuTAKqWW03F9 :: Daniel, british, formal, middle\_aged, male, en, informative\_educational pFZP5JQG7iQjIQuC4Bku :: Lily, british, warm, confident, female, middle\_aged, narration pqHfZKP75CvOlQylNhV4 :: Bill, american, crisp, old, male, en, advertisement 1D8EGxrYFNUCluLDkSZc :: Maggi, en-spanish, en 1wDwDMEYwjOS0vDcRyy3 :: Tao, 4ljHadDomzGBqOnMxshc :: Gene, 8tmloozfTsgXBZPdWZMY :: Marzipan, en FAxfNIX38LpaNkcLeQIk :: Sofy, en FMrLYY5CYQ0O0iutL2v1 :: Meredith, en JpC250odUgEpLFIpYweh :: Lucy, en-chinese, en JzaYTZZm6u7962K8PrTe :: Jmill, en LnscIwfjAhOaLg6miw62 :: Boots, en-german, en MbrroYvMdxSywuyOfJje :: Xander, en-dutch, en MmJV6I1NAbGP13xgbxVz :: Joey, en NtBayVEGSDC8tLZVhlbh :: Colton, en PfwUcgYQ7oSunm7PqMXi :: Chebel, en-portuguese, en RmWmsefzgwpKYD2NHnwK :: Koi, en-chinese, en StzPkufRHTjBTiQg6CS9 :: Jordan, en YXpFCvM1S3JbWEJhoskW :: Wyatt- Wise Rustic Cowboy, en, wise, american, male, old, narrative\_story Z8chHYUiDMhjlLdPQ3Tl :: Freeman, Zm3hQWGo4lO5GpPsyaJu :: Dimitri, en-dutch, en, male cr6kV5mMqkYAIyrNKttl :: Lydia, en i4NARTXKU6n1jo7SNaeP :: Jero Wiku, en kLMGliDx2OLhf5Moxbmj :: Vincent, en kLjCh136HhlEVfCL0Tkq :: Gandala, en mXfvFHljLNpg72LsX7l1 :: Jack, en mrACSB3QITzdoWMZJH8P :: Verdelis, en pjJGFLdac4QE3xEB6WmU :: Mycos, en n4uaKdXrIGvL8tpvywB0 :: Solar Sam, en qNkzaJoHLLdpvgh5tISm :: Carter the Mountain King, en, deep, american, male, middle\_aged, characters\_animation tlETan7Okc4pzjD0z62P :: Mohammed, arabic, calm, middle\_aged, male, en, informative\_educational twidbmOywJPdPH0pwJ7m :: Gallo, en wYpFGZNdEeoKqO3vg6hv :: Ben, en yyyKwKpg6HoyhF7ic7v8 :: Maria Clara, en RIWb4qBcX1Q2tCIQmqZd :: Solienne, en tpr7IQBrTR0SxWQ4HpM1 :: Miyomi, en * Label: Voice * Options: `9BWtsMINqrJLrRacOk9x`, `EXAVITQu4vr4xnSDxMaL`, `FGY2WhTYpPnrIDTdsKH5`, `IKne3meq5aSn9XLyUdCD`, `JBFqnCBsd6RMkjVDRZzb`, `N2lVS1w4EtoT3dr4eOWO`, `SAz9YHcvj6GT2YYXdXww`, `TX3LPaxmHKxFdv7VOQHJ`, `XB0fDUnXU5powFXDhCwa`, `Xb7hH8MSUJpSbSDYk0k2`, `XrExE9yKIg1WjnnlVkGX`, `bIHbv24MWmeRgasZH58o`, `cgSgspJ2msm6clMCkdW9`, `cjVigY5qzO86Huf0OWal`, `iP95p4xoKVk53GoZ742B`, `nPczCjzI2devNBz1zQrb`, `onwK4e9ZLuTAKqWW03F9`, `pFZP5JQG7iQjIQuC4Bku`, `pqHfZKP75CvOlQylNhV4`, `1D8EGxrYFNUCluLDkSZc`, `1wDwDMEYwjOS0vDcRyy3`, `4ljHadDomzGBqOnMxshc`, `8tmloozfTsgXBZPdWZMY`, `FAxfNIX38LpaNkcLeQIk`, `FMrLYY5CYQ0O0iutL2v1`, `JpC250odUgEpLFIpYweh`, `JzaYTZZm6u7962K8PrTe`, `LnscIwfjAhOaLg6miw62`, `MbrroYvMdxSywuyOfJje`, `MmJV6I1NAbGP13xgbxVz`, `NtBayVEGSDC8tLZVhlbh`, `PfwUcgYQ7oSunm7PqMXi`, `RmWmsefzgwpKYD2NHnwK`, `StzPkufRHTjBTiQg6CS9`, `YXpFCvM1S3JbWEJhoskW`, `Z8chHYUiDMhjlLdPQ3Tl`, `Zm3hQWGo4lO5GpPsyaJu`, `cr6kV5mMqkYAIyrNKttl`, `i4NARTXKU6n1jo7SNaeP`, `kLMGliDx2OLhf5Moxbmj`, `kLjCh136HhlEVfCL0Tkq`, `mXfvFHljLNpg72LsX7l1`, `mrACSB3QITzdoWMZJH8P`, `pjJGFLdac4QE3xEB6WmU`, `n4uaKdXrIGvL8tpvywB0`, `qNkzaJoHLLdpvgh5tISm`, `tlETan7Okc4pzjD0z62P`, `twidbmOywJPdPH0pwJ7m`, `wYpFGZNdEeoKqO3vg6hv`, `yyyKwKpg6HoyhF7ic7v8`, `RIWb4qBcX1Q2tCIQmqZd`, `tpr7IQBrTR0SxWQ4HpM1` ### Optional Parameters The stability of the speech. Higher is more stable/monotonous, lower is more dynamic/varied. * Label: Stability * Minimum: 0 * Maximum: 1 The style exaggeration of the speech. 0.0 is normal, 1.0 is exaggerated. * Label: Style * Minimum: 0 * Maximum: 1 The speed of the speech. 1.0 is normal, 0.5 is half speed, 2.0 is double speed. * Label: Speed * Minimum: 0.7 * Maximum: 1.2 # Elevenlabs Fx Source: https://docs.eden.art/tools/elevenlabs_fx Sound effects with ElevenLabs ## Overview Sound effects with ElevenLabs * **Output Type**: audio * **Estimated Cost**: 0.5 \* duration credits ## Parameters ### Required Parameters The prompt of sound effects * Label: Prompt The length of the sound effects in seconds * Label: Duration in seconds * Minimum: 0.5 * Maximum: 22 # Elevenlabs Music Source: https://docs.eden.art/tools/elevenlabs_music Text-to-music with ElevenLabs ## Overview Text-to-music with ElevenLabs * **Output Type**: audio * **Estimated Cost**: 0.5 \* duration credits ## Parameters ### Required Parameters A compact but specific instruction for the whole composition. Include genre/tone, BPM, key, instrumentation with “solo”, vocal directives with “a cappella” or “instrumental only”, singer count/roles, vocal delivery adjectives, timing cues for when vocals start/stop, language, and (optionally) a ‘Lyrics:’ block. Don't ever reference actual names of artists, songs, or anything else that could be copyrighted. * Label: Prompt The length of the music in seconds * Label: Duration in seconds * Minimum: 10 * Maximum: 300 ### Optional Parameters Whether to automatically enhance the prompt to match best practices. * Label: Enhance Prompt # Flux Kontext Source: https://docs.eden.art/tools/flux_kontext Generate an image with the initial image as context or edit the image in accordance with the prompt. ## Overview Generate an image with the initial image as context or edit the image in accordance with the prompt. * **Output Type**: image * **Base Model**: flux-dev * **Estimated Cost**: (fast ? 4 : 8) \* n\_samples credits * **Handler**: replicate ## Parameters ### Required Parameters Instructions Text description of what you want to generate, or the instruction on how to edit the given image. * Label: Prompt Image reference This is the input or starting image for the generation, or the reference image to base the new image on. * Label: Input image Aspect ratio width/height If you are using an init\_image, leave it at the default "match\_input\_image" unless you want to resize the image. * Label: Aspect ratio * Options: `match_input_image`, `21:9`, `16:9`, `3:2`, `4:3`, `5:4`, `1:1`, `4:5`, `3:4`, `2:3`, `9:16`, `9:21` ### Optional Parameters Set random seed for reproducibility. If blank, will be set to a random value. You should only set this if you want to start from/copy the seed of a previous image. Unless one is specified, you should leave this blank! * Label: Seed * Minimum: 0 * Maximum: 2147483647 Use the fast (pro) model, otherwise use max (high quality but slower) * Label: Fast Number of samples to generate Will produce n\_samples variations using the same prompt. * Label: Number of samples * Minimum: 1 * Maximum: 4 # Flux Schnell Source: https://docs.eden.art/tools/flux_schnell Generate an image from text quickly with Flux Schnell. ## Overview Generate an image from text quickly with Flux Schnell. * **Output Type**: image * **Base Model**: flux-schnell * **Estimated Cost**: 1 \* n\_samples credits * **Handler**: replicate ## Parameters ### Required Parameters Text prompt Flux loves very detailed and descriptive prompts so try to be elaborate. Flux is also great at drawing text in images so feel free to add something if it makes sense. * Label: Prompt ### Optional Parameters Aspect ratio width/height * Label: Aspect ratio * Options: `21:9`, `16:9`, `3:2`, `4:3`, `5:4`, `1:1`, `4:5`, `3:4`, `2:3`, `9:16`, `9:21` Format of the output images * Label: Output format * Options: `webp`, `jpg`, `png` Quality when saving the output images, from 0 to 100. 100 is best quality, 0 is lowest quality. Not relevant for .png outputs * Label: Save quality * Minimum: 1 * Maximum: 100 Disable safety checker * Label: Disable safety checker Run faster predictions with model optimized for speed (currently fp8 quantized); disable to run in original bf16 * Label: Go Fast Set random seed for reproducibility. If blank, will be set to a random value. You should only set this if you want to start from/copy the seed of a previous image. Unless one is specified, you should leave this blank! * Label: Seed * Minimum: 0 * Maximum: 2147483647 LoRA finetuning to use * Label: LoRA Strength of the LoRA finetuning * Label: LoRA strength * Minimum: 0 * Maximum: 3 Number of samples to generate Will produce n\_samples variations using the same prompt. * Label: Number of samples * Minimum: 1 * Maximum: 4 # Flux Trainer Source: https://docs.eden.art/tools/flux_trainer Train a custom model with your images (pro) ## Overview Train a custom model with your images (pro) * **Output Type**: lora * **Base Model**: flux-dev * **Estimated Cost**: 0.1 \* max\_train\_steps credits * **Handler**: gcp ## Parameters ### Required Parameters Name of your trained model. Does not have to be unique. Used to 'trigger' your model in prompts. * Label: Model name Images to train your visual model. (Use at least 5 imgs, 10-20 is even better.) * Label: Your training images ### Optional Parameters Type of model to train (leave 'auto' if you're not sure). * Label: Training Mode * Options: `auto`, `face`, `object`, `style` Number of training steps. Only increase this if you have lots of images (>50) otherwise the model wil overfit and will not look good. * Label: Training steps * Minimum: 1000 * Maximum: 5000 LoRA rank. Higher gives the model more capacity to learn but might lead to overfitting. 8 is almost always perfect. * Label: Rank * Minimum: 2 * Maximum: 32 Learning rate for training. Higher values converge faster but too high might cause overfitting. Low values are more accurate but take more training steps. * Label: Learning rate * Minimum: 1e-05 * Maximum: 0.0002 Custom text to visually describe and trigger your model (leave this empty unless you know what you're doing!) * Label: Custom Trigger Text 4 custom text prompts to test your model after training. If left empty, these will be auto-generated. * Label: Custom validation prompts Set random seed for reproducibility. If blank, will be set to a random value. You should only set this if you want to start from/copy the seed of a previous image. Unless one is specified, you should leave this blank! * Label: Seed * Minimum: 0 * Maximum: 2147483647 # Gpt Image 15 Edit Source: https://docs.eden.art/tools/gpt_image_15_edit Creates an edited or extended image given one or more source images and a prompt, using fal.ai's GPT Image 1.5 model. ## Overview Creates an edited or extended image given one or more source images and a prompt, using fal.ai's GPT Image 1.5 model. * **Output Type**: image * **Estimated Cost**: 5 \* num\_images credits * **Handler**: fal ## Parameters ### Required Parameters A description of what you want the model to do with your images. Describe the edits you want to make to the image. * Label: Prompt The image(s) to edit. These will be used as reference for the generation. * Label: Input Image(s) ### Optional Parameters The mask image to use for the generation. White areas indicate where the image should be edited. * Label: Mask Image (optional) Aspect ratio for the generated image. * Label: Image Size * Options: `auto`, `1024x1024`, `1536x1024`, `1024x1536` How strongly to preserve the input image's content. High fidelity preserves more of the original details like text, faces, logos, etc. * Label: Input Fidelity * Options: `low`, `high` Number of images to generate. * Label: Number of Images * Minimum: 1 * Maximum: 4 # Hedra Source: https://docs.eden.art/tools/hedra Talking head generated with Hedra ## Overview Talking head generated with Hedra * **Output Type**: video * **Estimated Cost**: 100 credits * **Handler**: local ## Parameters ### Required Parameters Face image * Label: Input image Speech audio * Label: Input audio Video aspect ratio * Label: Aspect ratio * Options: `16:9`, `1:1`, `9:16` ### Optional Parameters Prompt for the video * Label: Prompt Video resolution * Label: Resolution * Options: `540p`, `720p` # Kling Source: https://docs.eden.art/tools/kling Generate 5s and 10s videos in 720p and 1080p resolution from a starting image using Kling v2.1 ## Overview Generate 5s and 10s videos in 720p and 1080p resolution from a starting image using Kling v2.1 * **Output Type**: video * **Base Model**: kling * **Estimated Cost**: mode == "pro" ? 9 \* duration : 5 \* duration credits * **Handler**: replicate ## Parameters ### Required Parameters Text description for video generation Describe the video you want to generate in detail. Be specific about actions, movements, and visual elements. * Label: Prompt First frame of the video (required) This image will be used as the first frame of the video. The model will animate from this starting point based on your prompt. * Label: Starting image Video quality mode Standard: 720p resolution, faster and cheaper. Pro: 1080p resolution, higher quality but more expensive. * Label: Mode * Options: `standard`, `pro` Duration of the video in seconds * Label: Duration * Options: `5`, `10` ### Optional Parameters Last frame of the video (optional) This image will be used as the last frame of the video. The model will animate to this ending point based on your prompt. * Label: Ending image Optional negative text prompt Describe anything you do NOT want to appear in the video or any behaviors to avoid. * Label: Negative prompt # Kling Pro Source: https://docs.eden.art/tools/kling_pro Generate a video from text and an optional input image with Kling ## Overview Generate a video from text and an optional input image with Kling * **Output Type**: video * **Base Model**: kling * **Estimated Cost**: quality == "high" ? 25 \* duration : 10 \* duration credits * **Handler**: replicate ## Parameters ### Required Parameters Text prompt Describe the video you want to generate in detail. * Label: Prompt Width/height (ignored when using a starting image) * Label: Aspect ratio * Options: `16:9`, `1:1`, `9:16` The quality of the Kling video model. High is highest quality but slow and expensive. Medium is good for most cases. Low is faster and cheaper but lower quality. * Label: Quality * Options: `high`, `medium`, `low` Duration of the video in seconds * Label: Duration * Options: `5`, `10` ### Optional Parameters Negative text prompt Optionally describe anything you do *not* want in the video. * Label: Negative prompt First frame of the video to use as a keyframe If using quality=medium, this is required. Pure txt2video is only supported for quality=high or quality=low. * Label: Starting image Last frame of the video to use as a keyframe (quality=medium only, not supported for high or low) * Label: Ending image Flexibility in video generation; The higher the value, the lower the model's degree of flexibility, and the stronger the relevance to the user's prompt. * Label: Guidance scale * Minimum: 0 * Maximum: 1 # Kling V25 Source: https://docs.eden.art/tools/kling_v25 Generate 5s or 10s videos from a starting image using Kling v2.5 via FAL. (no audio) ## Overview Generate 5s or 10s videos from a starting image using Kling v2.5 via FAL. (no audio) * **Output Type**: video * **Estimated Cost**: duration == "5" ? 50 : 100 credits * **Handler**: fal ## Parameters ### Required Parameters Text description of the video to generate. Describe the motion and action you want in the video. Be specific about movements and visual elements. * Label: Prompt URL of the image to be used as the starting frame of the video. This image will be used as the first frame of the video. The model will animate from this starting point based on your prompt. * Label: Input Image ### Optional Parameters The duration of the generated video in seconds. * Label: Duration * Options: `5`, `10` Things to avoid in the video generation. Describe anything you do NOT want to appear in the video or any behaviors to avoid. * Label: Negative Prompt How closely to follow the prompt. Lower values give more creative freedom, higher values stick closer to the prompt. * Label: Guidance Scale * Minimum: 0 * Maximum: 1 URL of the image to be used as the last frame of the video. Optional. If provided, the video will transition from the starting image to this end image. * Label: End Image # LORA Trainer Source: https://docs.eden.art/tools/lora_trainer Train a custom model with your images (fast) ## Overview Train a custom model with your images (fast) * **Output Type**: lora * **Base Model**: sdxl * **Estimated Cost**: 0.2 \* max\_train\_steps credits * **Handler**: replicate ## Parameters ### Required Parameters Name of the LoRA (this will also be your trigger word) * Label: Model Name Images to train your visual model. (Use at least 5 imgs, 10-20 is even better.) * Label: Your training images Type of model to train * Label: Training Mode * Options: `face`, `object`, `style` ### Optional Parameters Base Stable Diffusion model to finetune from Almost always, we want to train and SDXL LoRa. Only when we want to make animatediff animations do we need an sd15 lora. * Label: Base SD Model * Options: `sdxl`, `sd15` Number of training steps. Only increase this if you have lots of images (>50) otherwise the model wil overfit and will not look good. This should be left at the default 300, unless the user *specifically* instructs you otherwise. If the base model is SD15, then you should *change* this to 800, again unless the user specifically requests something else. * Label: Training steps * Minimum: 100 * Maximum: 1200 Resolution your images will be resized to for training (512 is great and your generations will still look perfect when rendering at eg 1024) Do not change this unless you are specifically instructed to. Highly recommended to train at 512 for optimal speed and at 768 for best quality. * Label: Resolution * Minimum: 512 * Maximum: 768 Set random seed for reproducibility. If blank, will be set randomly. You should only set this if you want to start from/copy the seed of a previous image. Unless one is specified, you should leave this blank! * Label: Seed * Minimum: 0 * Maximum: 2147483647 # Mmaudio Source: https://docs.eden.art/tools/mmaudio Generate audio that matches given video content + prompt. ## Overview Generate audio that matches given video content + prompt. * **Output Type**: video * **Estimated Cost**: 0.5 \* duration credits * **Handler**: replicate ## Parameters ### Required Parameters URL of the base video ### Optional Parameters Text prompt Description of the sound you want to generate. Limit the prompt to 10 words at most, describing simple sound effects that match the scene. * Label: Prompt Max number of seconds of audio to generate How many seconds of audio you want to generate. You can set this to a high number to be safe since the resulting audio will never be longer than the input video. * Label: Number of seconds * Minimum: 1 * Maximum: 16 Negative prompt Optional mentions of sounds you dont want. (eg music / people talking / ...) * Label: Negative Prompt Set random seed for reproducibility. If blank, will be set to a random value. You should only set this if you want to start from/copy the seed of a previous image. Unless one is specified, you should leave this blank! * Label: Seed * Minimum: 0 * Maximum: 2147483647 # Musicgen Source: https://docs.eden.art/tools/musicgen Generate music ## Overview Generate music * **Output Type**: audio * **Base Model**: musicgen * **Estimated Cost**: 0.5 \* duration credits * **Handler**: replicate ## Parameters ### Required Parameters Description of the type of music you want to generate. Use stylistic and musical terms to precisely succinctly describe the music. No filler words, sentences, verbs, artist names, or negatives ("no drums"). Separate fields by pipe (|) in: Consider including genre or sub-genres, mood/emotional adjectives, instrumentats, production gloss (tape hiss, 2010s EDM polish, etc.), BPM + meter if not 4/4. Examples: * "Future Garage | Melancholic, Weightless | Skittering 2-step drums, Warm sub-bass, Hazy vinyl pads | Rain-soaked night-city reverb | 134 BPM" * "Orchestral | Spaghetti Western twang | Instrumentation Strings, Brass, Percussion, and Choir | Loungy, Subtle, Inspiring, Heroic | 90 BPM", * "Electronic, Synthwave, Retro-Futuristic | Instruments: Analog Synths, Drum Machine, Bass | Moods: Nostalgic, Cool, Rhythmic | 1980s Sci-Fi | 115 BPM" * Label: Prompt ### Optional Parameters Model to generate audio with * Label: Audio model * Options: `stereo-melody-large`, `stereo-large`, `melody-large`, `large` Duration in seconds * Label: Duration * Minimum: 1 * Maximum: 300 An audio file that will influence the generated music. * Label: Input audio If true, the generated music will be a continuation of the input\_audio. Otherwise, the generated music will mimic the input\_audio's melody. Requires input\_audio to be provided. Only visible when `input_audio` * Label: Continue input\_audio Controls the 'conservativeness' of the sampling process. Higher temperature means more diversity. * Label: Temperature * Minimum: 0 * Maximum: 1.0 Increases the influence of inputs on the output. Higher values produce lower-varience outputs that adhere more closely to inputs. * Label: Classifier free guidance * Minimum: 0 * Maximum: 10 Set random seed for reproducibility. If blank, will be set to a random value. * Label: Seed * Minimum: 0 * Maximum: 2147483647 Output audio format * Label: Output format * Options: `mp3`, `wav` # OpenAI Image Edit Source: https://docs.eden.art/tools/openai_image_edit Creates an edited or extended image given one or more source images and a prompt, using OpenAI's gpt-image-1 model. ## Overview Creates an edited or extended image given one or more source images and a prompt, using OpenAI's gpt-image-1 model. * **Output Type**: image * **Estimated Cost**: quality == "high" ? 16 : 8 credits * **Handler**: local ## Parameters ### Required Parameters The image(s) to edit. Must be png, webp, or jpg files less than 25MB each. * Label: Input Image(s) A description of what you want the model to do with your images. Max length 32000 characters. * Label: Prompt The size of the generated images. Must be one of '1024x1024', '1536x1024' (landscape), '1024x1536' (portrait), or 'auto'. Defaults to auto. * Label: Size * Options: `1024x1024`, `1536x1024`, `1024x1536`, `auto` ### Optional Parameters An optional image mask. White areas indicate where the image should be edited. Must be a PNG file, less than 4MB, and have the same dimensions as the first input image. * Label: Mask (optional) Number of samples to generate This is the number of tries to generate for the prompt. If you get a request for n\_samples > 1, you are still using a *single* prompt for the whole set. * Label: Number of samples * Minimum: 1 * Maximum: 4 How strongly to preserve the input image's content (high, medium, low, auto). Defaults to auto. This is useful for preserving the original details like text, faces, logos, etc. * Label: Input Fidelity * Options: `high`, `low` A unique identifier representing your end-user for enabling per-user content monitoring. * Label: User ID # OpenAI Image Generate Source: https://docs.eden.art/tools/openai_image_generate Generate images using OpenAI's gpt-image-1 model. ## Overview Generate images using OpenAI's gpt-image-1 model. * **Output Type**: image * **Estimated Cost**: quality == "high" ? 16 : 8 credits * **Handler**: local ## Parameters ### Required Parameters A visual description of your desired image. Max length 32000 characters. * Label: Prompt The size of the generated images. Must be one of '1024x1024', '1536x1024' (landscape), '1024x1536' (portrait), or 'auto'. Defaults to auto. * Options: `1024x1024`, `1536x1024`, `1024x1536`, `auto` ### Optional Parameters Number of samples to generate This is the number of tries to generate for the prompt. If you get a request for n\_samples > 1, you are still using a *single* prompt for the whole set. * Label: Number of samples * Minimum: 1 * Maximum: 4 The quality of the image (high, medium, low, auto). 'auto' selects the best quality. Defaults to auto. Set this to high if you want to get the highest level of details, fidelity, and coherence, especially for complex scenes, infographics, or text-heavy images. * Options: `high`, `medium`, `low`, `auto` Set background transparency (transparent, opaque, auto). 'transparent' requires output\_format='png' or 'webp'. Defaults to auto. * Options: `transparent`, `opaque`, `auto` Compression level (0-100) for webp/jpeg formats. Defaults to 100. Output format for the generated image (png, jpeg, webp). Defaults to png. gpt-image-1 always returns images as base64-encoded data. * Options: `png`, `jpeg`, `webp` A unique identifier representing your end-user for enabling per-user content monitoring. # Runway Source: https://docs.eden.art/tools/runway Text-guided, realistic image animation with Runway Gen 4 Turbo or Gen 3 Alpha Turbo ## Overview Text-guided, realistic image animation with Runway Gen 4 Turbo or Gen 3 Alpha Turbo * **Output Type**: video * **Base Model**: runway * **Estimated Cost**: 7.5 \* duration credits * **Handler**: local ## Parameters ### Required Parameters The initial frame of the video * Label: Starting image The prompt to guide the animation The prompt can be used to guide the animation in a certain direction. * Label: Prompt Text The duration of the video in seconds * Label: Duration * Options: `5`, `10` The aspect ratio of the video * Label: Ratio * Options: `21:9`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16` ### Optional Parameters Optional ending frame of the video Works only with gen3a\_turbo * Label: Ending image Enhance the prompt according to Runway's prompting guide * Label: Enhance prompt Runway base model * Label: Model * Options: `gen3a_turbo`, `gen4_turbo` Set random seed for reproducibility. If blank, will be set to a random value. You should only set this if you want to start from/copy the seed of a previous image. Unless one is specified, leave this blank. * Label: Seed * Minimum: 0 * Maximum: 2147483647 # Runway2 Source: https://docs.eden.art/tools/runway2 Control a character by transferring the audio and action from a reference video onto a character image ## Overview Control a character by transferring the audio and action from a reference video onto a character image * **Output Type**: video * **Base Model**: runway * **Estimated Cost**: 30 credits * **Handler**: local ## Parameters ### Required Parameters The image of the character to animate There must be a face in the image. * Label: Character image The aspect ratio of the video * Label: Ratio * Options: `16:9`, `4:3`, `1:1`, `3:4`, `9:16`, `9:21` ### Optional Parameters The audio and action will be transferred from the reference video to the character\_image. * Label: Reference video The intensity of the facial expressions * Label: Expression intensity * Minimum: 1 * Maximum: 5 To apply non-facial movements and gestures to the character in addition to facial expressions. * Label: Body control Set random seed for reproducibility. If blank, will be set to a random value. You should only set this if you want to start from/copy the seed of a previous image. Unless one is specified, leave this blank. * Label: Seed * Minimum: 0 * Maximum: 2147483647 # Runway3 Source: https://docs.eden.art/tools/runway3 Transform the style of a video by applying artistic or environmental changes based on a prompt or reference image. ## Overview Transform the style of a video by applying artistic or environmental changes based on a prompt or reference image. * **Output Type**: video * **Base Model**: runway * **Estimated Cost**: 75 credits * **Handler**: local ## Parameters ### Required Parameters The source video to transform. Provide a short high-quality clip to achieve the best results. * Label: Input video The aspect ratio of the output video. * Label: Ratio * Options: `21:9`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16` ### Optional Parameters A text prompt describing the desired transformation or style. Examples include 'make it winter' or 'apply an oil painting effect'. Leave blank if using style\_image only. * Label: Prompt text An image used to guide the style of the transformed video. Use a picture representing the color palette or aesthetic you want. * Label: Style reference image Set random seed for reproducibility. If blank, will be set to a random value. You should only set this if you want to start from/copy the seed of a previous video. Unless one is specified, leave this blank. * Label: Seed * Minimum: 0 * Maximum: 2147483647 Determines how strict content moderation should be regarding recognizable public figures. * Label: Public figure threshold * Options: `low`, `auto` # Seedance1 Source: https://docs.eden.art/tools/seedance1 A pro version of Seedance that offers text-to-video and image-to-video support for 5s or 10s videos, at 480p and 1080p resolution. ## Overview A pro version of Seedance that offers text-to-video and image-to-video support for 5s or 10s videos, at 480p and 1080p resolution. * **Output Type**: video * **Estimated Cost**: 50 credits * **Handler**: replicate ## Parameters ### Required Parameters Text prompt for video generation * Label: Prompt ### Optional Parameters Duration of the video in seconds * Label: Duration * Options: `5`, `10` Resolution of the generated video * Label: Resolution * Options: `480p`, `720p`, `1080p` Aspect ratio for the generated video * Label: Aspect ratio * Options: `16:9`, `4:3`, `1:1`, `3:4`, `9:16`, `21:9`, `9:21` Optional input image for image-to-video generation Provide an image to generate a video based on that image. If not provided, will generate video from text prompt only. * Label: Input image Whether to keep the camera position fixed When true, keeps the camera position static. When false, allows camera movement. * Label: Camera fixed Random seed for reproducible generation * Label: Seed * Minimum: 0 * Maximum: 2147483647 # Seedream4 Source: https://docs.eden.art/tools/seedream4 ByteDance's advanced text-to-image modelgeneration ## Overview ByteDance's advanced text-to-image modelgeneration * **Output Type**: image * **Estimated Cost**: 4 credits * **Handler**: replicate ## Parameters ### Required Parameters Text prompt for image generation * Label: Prompt ### Optional Parameters Image resolution preset 1K: 1024px, 2K: 2048px, 4K: 4096px, custom: use width/height parameters * Label: Size * Options: `1K`, `2K`, `4K`, `custom` Custom image width in pixels (only used when size is 'custom') * Label: Width * Minimum: 1024 * Maximum: 4096 Custom image height in pixels (only used when size is 'custom') * Label: Height * Minimum: 1024 * Maximum: 4096 Aspect ratio for the generated image Set aspect ratio manually (not "match\_input\_image") if you do not have any image inputs * Label: Aspect ratio * Options: `match_input_image`, `1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `3:2`, `2:3`, `21:9` Optional input image(s) to use as references Optional input images for image-to-image transformation or object/style reference * Label: Input images Maximum number of images to generate when sequential generation is enabled * Label: Number of images * Minimum: 1 * Maximum: 15 Group image generation mode When enabled, the model will generate a batch of up to max\_images images with consistency * Label: Sequential generation * Options: `disabled`, `auto` # Seedream45 Source: https://docs.eden.art/tools/seedream45 ByteDance's advanced text-to-image model generation ## Overview ByteDance's advanced text-to-image model generation * **Output Type**: image * **Estimated Cost**: 4 \* max\_images credits * **Handler**: replicate ## Parameters ### Required Parameters Text prompt for image generation * Label: Prompt ### Optional Parameters Image resolution preset 1K: 1024px, 2K: 2048px, 4K: 4096px, custom: use width/height parameters * Label: Size * Options: `1K`, `2K`, `4K`, `custom` Custom image width in pixels (only used when size is 'custom') * Label: Width * Minimum: 1024 * Maximum: 4096 Custom image height in pixels (only used when size is 'custom') * Label: Height * Minimum: 1024 * Maximum: 4096 Aspect ratio for the generated image Set aspect ratio manually (not "match\_input\_image") if you do not have any image inputs * Label: Aspect ratio * Options: `match_input_image`, `1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `3:2`, `2:3`, `21:9` Optional input image(s) to use as references Optional input images for image-to-image transformation or object/style reference * Label: Input images Maximum number of images to generate when sequential generation is enabled * Label: Number of images * Minimum: 1 * Maximum: 15 Group image generation mode When enabled, the model will generate a batch of up to max\_images images with consistency * Label: Sequential generation * Options: `disabled`, `auto` # Style Transfer Source: https://docs.eden.art/tools/style_transfer Reimagine an image in a different style, maintaining shape ## Overview Reimagine an image in a different style, maintaining shape ## Parameters ### Required Parameters Describe the style you want to use This should be a description of the style you want to use! * Label: Prompt * Label: Input image ### Optional Parameters * Label: Controlnet * Label: Input image preprocessor * Label: Input image strength # Thinksound Source: https://docs.eden.art/tools/thinksound Generate audio that matches given video content + prompt using ThinkSound. ## Overview Generate audio that matches given video content + prompt using ThinkSound. * **Output Type**: video * **Estimated Cost**: 0.5 \* duration credits * **Handler**: replicate ## Parameters ### Required Parameters URL of the base video ### Optional Parameters Brief description of the video content A short caption describing what's happening in the video to help the model understand the context. * Label: Caption Detailed description of the sound generation process A detailed description that begins with the sound process and includes texture, atmosphere, and timing details. This helps the model understand exactly what audio to generate and how it should match the video. * Label: Chain of thought Classifier-free guidance scale Controls how closely the model follows the prompt. Higher values mean stricter adherence to the prompt. * Label: CFG Scale * Minimum: 1 * Maximum: 20 Number of inference steps More steps generally produce higher quality but take longer to generate. * Label: Inference steps * Minimum: 10 * Maximum: 50 # Transcription Source: https://docs.eden.art/tools/transcription Transcribe audio to text using OpenAI. Supports various models and optional timestamps. ## Overview Transcribe audio to text using OpenAI. Supports various models and optional timestamps. * **Output Type**: string * **Estimated Cost**: 5 credits * **Handler**: modal ## Parameters ### Required Parameters Audio to transcribe (e.g., mp3, mp4, wav, m4a). Max filesize is 25MB. * Label: Input audio ### Optional Parameters The OpenAI model to use for transcription. If timestamps are enabled, 'whisper-1' will be used regardless of this setting. For the absolute best results, use gpt-4o-transcribe. * Label: Transcription Model * Options: `gpt-4o-transcribe`, `gpt-4o-mini-transcribe`, `whisper-1` Whether to include timestamps. If true, 'whisper-1' model will be used automatically. * Label: Enable Timestamps The granularity of the timestamps to include in the transcription. * Label: Timestamp Granularity * Options: `segment`, `word` Optional text to guide the model's style or improve recognition of specific words/acronyms. * Label: Prompt # Weather Source: https://docs.eden.art/tools/weather Get the weather for a given location ## Overview Get the weather for a given location * **Output Type**: string * **Estimated Cost**: 0.5 credits * **Handler**: local ## Parameters ### Required Parameters The latitude of the location to get the weather for * Label: Latitude The longitude of the location to get the weather for * Label: Longitude # Websearch Source: https://docs.eden.art/tools/websearch Search and extract content from any webpage ## Overview Search and extract content from any webpage * **Output Type**: string * **Estimated Cost**: 0.5 credits * **Handler**: local ## Parameters ### Required Parameters The webpage URL to analyze (must start with http\:// or https\://) * Label: URL # Zonos Source: https://docs.eden.art/tools/zonos Text-to-speech using Zonos ## Overview Text-to-speech using Zonos * **Output Type**: audio * **Estimated Cost**: 0.05 \* text.length credits * **Handler**: replicate ## Parameters ### Required Parameters Text to generate speech from * Label: Text ### Optional Parameters Optional reference audio to use for voice cloning Language to generate voice in * Options: `en-us`, `en-gb`, `ja`, `cmn`, `yue`, `fr-fr`, `de` Emotion vector for the generated speech Encodes emotion in an 8D vector. Included emotions are Happiness, Sadness, Disgust, Fear, Surprise, Anger, Other, Neutral in that order. This vector tends to be entangled with various other conditioning inputs. More notably, it's entangled with text based on the text sentiment (eg. Angry texts will be more effectively conditioned to be angry, but if you try to make it sound sad it will be a lot less effective). It's also entangled with pitch standard deviation since larger values there tend to correlate to more emotional utterances. Make sure to always surround the emotion vector with quotes to avoid list-parsing! Speaking rate in phonemes per second. Speaking rate in phonemes per second. Default is 15.0. 10-12 is slow and clear, 15-17 is natural conversational, 20+ is fast. Values above 25 may produce artifacts. * Label: Speaking Rate * Minimum: 5 * Maximum: 30 Set random seed for reproducibility. If blank, will be set to a random value. You should only set this if you want to start from/copy the seed of a previous generation. Unless one is specified, you should leave this blank! * Label: Seed * Minimum: 0 * Maximum: 2147483647