First-party app
Eden AI

Eden AI

Run LLMs, embeddings, images, speech, OCR, translation, web scraping and 500+ other AI models from many providers through Eden AI's single API.

stable AI & Machine LearningDeveloper Tools

About

Eden AI ships in the w6w first-party pack. It declares 30 actions, 2 health checks, and the host runs its code in a sandbox that never sees the credential.

App id
io.w6w.edenai
Version
0.1.0
Author
w6w
Licence
MIT
Categories
AI & Machine Learning · Developer Tools

Overview

Eden AI is an AI gateway: one API key and one request shape reach 500+ models from 50+ providers, with provider fallback, routing and per-call cost reporting built in. This app covers the V3 API in two halves.

The LLM half is OpenAI-compatible: chat completions, the stateful Responses API, embeddings, content moderation, image generation, text-to-speech and video generation. Name a model as provider/model to pin a vendor, or give a bare model name and let Eden AI route by price, speed or latency.

The Universal AI half runs the non-LLM “expert models” - translation, OCR, resume parsing, entity extraction, AI-text detection, PII anonymization, web search and scraping - by naming a feature/subfeature/provider and swapping providers without changing the workflow. Long-running features (multipage OCR, speech-to-text, crawling, deep research) are a start action plus a job-status action. A generic Universal AI action and feature-discovery actions reach every other expert model.

Build with Eden AI

Three routes to the same 30 actions. The Workflow tab is generated from Eden AI's own manifest and carries its real ids, so it is copy-pasteable; the Code and CLI examples are the same call for any action on any app, so every app-specific value in them is a blank you fill in.

Delete Async Job

async-job-delete

Delete an async Universal AI job and its stored result.

Get Async Job

async-job-get

Get the status and, once finished, the output of an async Universal AI job.

List Async Jobs

async-job-list

List your async Universal AI jobs, optionally filtered by feature or status.

Start Async Job (Universal AI)

async-job-start

Start any long-running expert-model job by name, for example web/crawl_async or ocr/ocr_tables_async. Read the result with Get Async Job.

Chat Completion

chat-completion

Send a prompt (or a full message list) to any LLM and get the model's reply.

Create Embeddings

embeddings-create

Turn text into embedding vectors for search, clustering or RAG.

Extract Named Entities

entities-extract

Find people, places, organizations and other named entities in text.

Get Feature Info

feature-get

Get an expert-model feature's input fields, output schema, providers with pricing, and accepted provider parameters.

List Expert-Model Features

features-list

List the Universal AI features (text, ocr, image, translation, audio, web, video), their subfeatures, whether each is sync or async, and the models that serve them.

Delete Uploaded Files

file-delete

Delete specific uploaded files by ID (1 to 100 at a time).

List Uploaded Files

file-list

List files uploaded to Eden AI. A file id can be used as an input to OCR and other expert models.

Generate Image

image-generate

Generate images from a text prompt with any supported image model.

List LLM Models

models-list

List the LLM models available through Eden AI, with context length, modalities and token pricing.

Moderate Content

moderation-create

Classify text for harmful content (violence, hate, self-harm, sexual content).

Extract Text (OCR)

ocr-extract

Read text from an image or single-page PDF with a chosen OCR provider.

Start Multipage OCR

ocr-multipage-start

Extract text, lines and word positions from a multipage PDF or image. Starts an async job; read the result with Get Async Job.

Create Response

response-create

Create a model response with the stateful Responses API; continue a conversation by passing the previous response ID.

Parse Resume

resume-parse

Extract structured candidate data from a resume or CV.

Text to Speech

speech-create

Synthesize spoken audio from text. The audio is returned base64-encoded.

Start Speech-to-Text

speech-to-text-start

Transcribe an audio file, with optional speaker diarization. Starts an async job; read the result with Get Async Job.

Detect AI-Generated Text

text-ai-detect

Estimate whether text was written by an AI chatbot or language model.

Anonymize Text

text-anonymize

Detect personal information in text and return it with the personal data redacted.

Translate Text

translate-text

Translate text into another language with a chosen translation provider.

Run Expert Model (Universal AI)

universal-ai-run

Run any synchronous non-LLM feature by name. Use Get Feature Info to see a feature's input fields and providers.

Create Video

video-create

Start a video generation job from a text prompt. Poll it with Get Video.

Delete Video

video-delete

Delete a finished video generation job. A job still in progress cannot be deleted.

Get Video

video-get

Get a video generation job's status and cost.

List Videos

video-list

List your video generation jobs, newest first.

Scrape Web Page

web-scrape

Fetch one URL and return its content as text, with title, links and images.

Search the Web

web-search

Search the web for a query and return ranked results, optionally with a synthesized answer.

A workflow step names the app and the action, and the editor fills in the connection when you pick one. This is the Step shape from the workflow spec, carrying Eden AI's real ids.

{
  "manifestVersion": "2",
  "name": "edenai-example",
  "steps": [
    {
      "id": "async-job-get",
      "uses": {
        "app": "io.w6w.edenai",
        "action": "async-job-get",
        "connection": "conn_YOUR_CONNECTION_ID"
      },
      "with": {
        "jobId": "<jobId>"
      }
    }
  ]
}

Here are some of the things you can do

  • Get Async Job

    read
    async-job-get
  • List Async Jobs

    search
    async-job-list
  • Start Async Job (Universal AI)

    perform
    async-job-start
  • Chat Completion

    perform
    chat-completion
  • Create Embeddings

    perform
    embeddings-create

+25 more actions available

Every app-specific value here is a blank you have to fill in. An app action is reached through the connection that authenticates it, so the address is a connection id, not the app id — and connections belong to your account, so a public page cannot know yours. Create one for Eden AI, then fill in the three blanks: conn_YOUR_CONNECTION_ID, the action key, and the parameters that action declares. The call itself is real — the shape is transcribed from the studio's own snippet builder, which prints the same kind of blanks — but nothing in it is specific to Eden AI. The Workflow tab is where this app's real ids are.

Install
npm install @w6w/sdk
yarn add @w6w/sdk
pnpm add @w6w/sdk
deno add npm:@w6w/sdk
Code
import { W6wClient, isActionRun } from "@w6w/sdk";

// Reads W6W_BASE_URL and W6W_TOKEN from the environment when omitted.
const client = new W6wClient();

const envelope = await client.run({
  urn: "conn_YOUR_CONNECTION_ID",
  action: "async-job-get",
  payload: {
    jobId: "<value>",
    // compact: "<value>",
  },
});

if (isActionRun(envelope)) console.log(envelope.value);
Install the CLI
npm install -g @w6w/cli
CLI
w6w run conn_YOUR_CONNECTION_ID --action async-job-get --payload '{"jobId":"<value>"}'

Give an AI agent Eden AI — without giving it Eden AI's credentials. One MCP endpoint exposes every app, function and workflow the caller is entitled to, as tools it can discover and run. Access is granted per team while we onboard.

One tool call
{
  "name": "w6w_invoke",
  "arguments": {
    "ref": "app:io.w6w.edenai#async-job-get",
    "input": {
      "jobId": "<jobId>"
    }
  }
}

Every tool names its target with a single ref. The app: form above doesn't name a connection at all — the host resolves which of the caller's Eden AI connections to sign with, and refuses rather than guesses when the answer is ambiguous.

What the agent gets

Credentials it can't read

The token is attached host-side, at the moment of the call. It is never a tool argument, never in the model's context, and never in a transcript — so a prompt injection has nothing to exfiltrate.

A tool surface scoped to the caller

Tools are derived per end user from what that person has actually connected and is entitled to — not one shared bot identity carrying the union of everyone's access.

A durable workflow in one call

Multi-step work runs on the workflow engine and returns a run handle the agent can poll — retries, branching and state survive the conversation that started them.

Health-aware discovery

Eden AI's declared health checks are on the surface too, so an agent can tell "the vendor is down" from "your credential expired" before it burns a retry on either.

The MCP surface is part of the hosted platform. Eden AI itself is MIT, and the runtime that executes it is source-available (FSL).

Request MCP access

Health checks

Eden AI declares its own checks, so its health is a property of the app rather than something the host guesses at.

service

Eden AI platform status

Page-level status from app-edenai.instatus.com (Instatus).

quota

Credit headroom