{
  "data": {
    "a": {
      "slug": "eden-ai",
      "name": "Eden AI",
      "vendor": "Eden AI SAS",
      "vendorUrl": "https://www.edenai.co",
      "kind": "router",
      "category": "inference",
      "summary": "Eden AI is a French AI gateway with one OpenAI-compatible API key for about 1,000 chat and expert models from 80 or more providers, including OCR, speech, translation and image analysis, with an EU-only endpoint and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/eden-ai",
      "markdownUrl": "https://www.anchorterminal.com/tools/eden-ai.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/eden-ai.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/eden-ai.json",
      "dns": "eden-ai.grade.anchorterminal.com",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.edenai.run/mcp",
      "packages": [],
      "auth": "api-key",
      "authNotes": "Bearer key created in the dashboard at app.edenai.run after a browser signup. Keys carry budgets, expiry and attribution, can be managed through a key API, and can be limited to chosen models by deny-by-default guardrails. The MCP server takes the same key in the Authorization header.",
      "pricing": "usage",
      "pricingNotes": "Provider list prices with no markup plus a 5.5% platform fee applied when buying credits. Prepaid credits through Stripe by card, PayPal or bank transfer, with optional auto-refill. Some models are billed $0 for tests. The Advanced plan is by quote.",
      "priceSummary": "5.5% fee",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms.txt, the OpenAPI spec, the pricing pages or the agent catalogue (checked 2026-11-06). Credits are bought through Stripe.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://www.edenai.co/docs",
      "llmsTxt": "https://www.edenai.co/llms.txt",
      "openapi": "https://api.edenai.run/v3/docs/openapi.json",
      "capabilities": [
        "inference.router",
        "inference.llm",
        "embed.text",
        "translate.text",
        "translate.documents",
        "docs.ocr",
        "speech.stt",
        "speech.tts",
        "image.generate",
        "guard.moderation"
      ],
      "tags": [
        "hosted",
        "router",
        "openai-compatible",
        "usage-priced",
        "prepaid",
        "mcp",
        "remote-mcp",
        "api-key",
        "llms-txt",
        "openapi",
        "eu",
        "eu-region",
        "soc2",
        "iso27001",
        "batch",
        "closed-source"
      ],
      "lastRelease": "2026-11-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.9,
        "grade": "C",
        "agentReady": false,
        "rank": 675,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 22,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 58,
          "payments": 30,
          "reliability": 33,
          "schema": 81,
          "security": 82,
          "transparency": 55
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Eden AI gives one OpenAI-compatible key to about 1,000 models and expert models such as OCR, speech and translation, with an EU-only endpoint, per-key guardrails and no stored content by default. No status page, SLA or changelog was found, and its own pages disagree on the default rate limit.",
        "bestFor": "Teams that want one key and bill for many LLMs plus OCR, speech, translation and web tools, with EU-only processing.",
        "strengths": [
          "OpenAI-compatible v3 API with an OpenAPI 3.1 spec and a keyless model catalogue with prices and regions",
          "EU endpoint that refuses models not cleared for European processing with HTTP 451",
          "Content isn't stored or used for training by default, with opt-in logs and enforceable Zero Data Retention",
          "Per-key budgets, expiry and deny-by-default guardrails, plus a key management API",
          "Hosted MCP server exposing OCR, speech, translation, web search and other expert models as tools"
        ],
        "weaknesses": [
          "No public status page, incident history or SLA found",
          "The rate-limits page says 10 requests a second and the plans page says 7, raisable to 15",
          "No public changelog or deprecation policy",
          "The OpenAPI spec documents few error responses",
          "Credits are prepaid through Stripe with a 5.5% platform fee on every purchase"
        ],
        "agentNotes": [
          "Read GET https://api.edenai.run/v3/models at run time for model ids, prices and regions instead of hard-coding them",
          "Use https://api.eu.edenai.run/v3 when data must stay in the EU, and pick another model on a 451 region_not_allowed",
          "Set max_tokens to 500 or more for reasoning models, or the answer can come back empty",
          "Pass a fallbacks list so a provider 429 or error retries inside one request",
          "Poll check_job for MCP tools marked long-running instead of calling them again"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.9
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 58,
          "payments": 30,
          "reliability": 33,
          "schema": 81,
          "security": 82,
          "transparency": 65
        },
        "provenanceScore": 44,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://api.edenai.run/v3/models",
        "claudeCode": "claude mcp add edenai --transport http https://mcp.edenai.run/mcp --header \"Authorization: Bearer $EDENAI_API_KEY\"",
        "config": {
          "mcpServers": {
            "edenai": {
              "headers": {
                "Authorization": "Bearer YOUR_EDENAI_API_KEY"
              },
              "url": "https://mcp.edenai.run/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/inference.router",
        "tool": "https://letme.dev/eden-ai"
      },
      "area": "models",
      "unitPrices": [
        {
          "item": "Platform fee on credit purchases",
          "unit": "pct",
          "usd": 5.5,
          "note": "On top of provider list prices, which carry no markup"
        }
      ],
      "provenance": {
        "legalEntity": "Eden AI SAS",
        "domain": "edenai.co",
        "domainRegistered": "",
        "endpointOnVendorDomain": false,
        "terms": "https://www.edenai.co/terms",
        "privacy": "https://www.edenai.co/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The terms, last updated 22 October 2026, name Eden AI SAS, share capital €4,992, 19 rue Louis Guérin, 69100 Villeurbanne, France, under French law with courts in Lyon.",
          "The API and MCP server run on edenai.run, a second domain of the same company, while the site and docs are on edenai.co.",
          "robots.txt on www.edenai.co allows all agents and carries `Content-Signal: search=yes, ai-input=yes, ai-train=yes`.",
          "/.well-known/security.txt returns 404. No status page is linked, and status.edenai.co didn't resolve on 6 November 2026.",
          "RDAP for edenai.co wasn't read: rdap.org rate-limited us and the .co registry server wasn't tried."
        ],
        "score": 44
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/eden-ai.json",
      "live": {
        "slug": "eden-ai",
        "probe": {
          "target": "https://mcp.edenai.run/mcp",
          "method": "get",
          "lastAt": "2026-11-07T19:22:04.810042763Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 58,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 50,
          "p95ms24h": 129,
          "samples24h": 210,
          "samples30d": 210,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 197,
              "ok": 197
            }
          ]
        },
        "securityTxt": {
          "url": "https://edenai.co/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:41.694549385Z"
        },
        "llmsTxt": {
          "url": "https://www.edenai.co/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:20.299431316Z"
        },
        "pages": [
          {
            "url": "https://www.edenai.co/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:28:13.706474894Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "21a1da47a2ce"
          },
          {
            "url": "https://www.edenai.co/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:28:15.881335606Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9cd0db8f0f61"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.edenai.run/mcp",
          "checkedAt": "2026-11-07T01:44:01.27972989Z",
          "status": "ok",
          "protocol": "2025-11-25",
          "tools": [
            {
              "name": "list_models",
              "description": "List available providers/models and their pricing.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "tool": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Optional tool name (as returned by tools/list) to filter on."
                  }
                },
                "type": "object"
              },
              "outputSchema": {
                "additionalProperties": true,
                "type": "object"
              }
            },
            {
              "name": "list_voices",
              "description": "List the voices a text-to-speech model accepts, for audio_tts's 'voice'.\n\nThe model's default voice comes first.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "gender": {
                    "anyOf": [
                      {
                        "enum": [
                          "female",
                          "male",
                          "unknown"
                        ],
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Keep voices of this gender."
                  },
                  "language": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Keep voices speaking this language: 'fr' matches every region,\n'fr-CA' only that locale. Multilingual voices are always kept."
                  },
                  "limit": {
                    "default": 50,
                    "description": "Most voices to return (default 50, max 200); 'total' counts every match.",
                    "type": "integer"
                  },
                  "model": {
                    "description": "The audio_tts model, as 'provider' or 'provider/model' (e.g. 'amazon/neural').",
                    "type": "string"
                  }
                },
                "required": [
                  "model"
                ],
                "type": "object"
              },
              "outputSchema": {
                "additionalProperties": true,
                "type": "object"
              }
            },
            {
              "name": "upload_file",
              "description": "Upload a file to Eden AI and get a file ID to use in other tools.\n\nOnly needed for local file content. If you already have a public URL\nfor the file, pass that URL directly to the tool's file parameter\ninstead — no upload needed.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "content_base64": {
                    "description": "The file content, base64-encoded.",
                    "type": "string"
                  },
                  "expires_in_days": {
                    "default": 30,
                    "description": "How long Eden AI keeps the file (1-30, default 30).",
                    "type": "integer"
                  },
                  "filename": {
                    "description": "Name with extension (used to detect the file type).",
                    "type": "string"
                  }
                },
                "required": [
                  "content_base64",
                  "filename"
                ],
                "type": "object"
              },
              "outputSchema": {
                "additionalProperties": true,
                "type": "object"
              }
            },
            {
              "name": "check_job",
              "description": "Get the status/result of an async job started by a long-running tool.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "job_id": {
                    "description": "The job id returned when the job was submitted.",
                    "type": "string"
                  }
                },
                "required": [
                  "job_id"
                ],
                "type": "object"
              },
              "outputSchema": {
                "additionalProperties": true,
                "type": "object"
              }
            },
            {
              "name": "manage_collections",
              "description": "Create and manage collections: stored sets of items (e.g. faces) that a tool searches against. Tools that take a collection_id: image_face_recognition. Flow: create, then add_item once per file (returns the item ids it indexed), then call the tool with the collection_id; delete when done. Arguments per action: create(model, tool?, name?); list(tool?, model?, page?); get, delete, list_items(collection_id); add_item(collection_id, file); delete_item(collection_id, item_id).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "action": {
                    "enum": [
                      "create",
                      "list",
                      "get",
                      "delete",
                      "add_item",
                      "list_items",
                      "delete_item"
                    ],
                    "type": "string"
                  },
                  "collection_id": {
                    "description": "From create or list.",
                    "type": "string"
                  },
                  "file": {
                    "description": "File to add (add_item). Pass a file ID (UUID) from upload_file, or a direct file URL.",
                    "type": "string"
                  },
                  "item_id": {
                    "description": "Item to delete (delete_item), from add_item or list_items.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Provider the collection binds to (create; list filter). image_face_recognition: amazon.",
                    "type": "string"
                  },
                  "name": {
                    "description": "Optional label (create).",
                    "type": "string"
                  },
                  "page": {
                    "description": "Result page (list).",
                    "minimum": 1,
                    "type": "integer"
                  },
                  "tool": {
                    "description": "Tool the collection serves (create; list filter). Defaults to image_face_recognition.",
                    "enum": [
                      "image_face_recognition"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "action"
                ],
                "type": "object"
              }
            },
            {
              "name": "audio_speech_to_text",
              "description": "Speech Recognition (or speech to text or voice to text) can recognize and transcribe spoken words (voice),  that will be converted to text with or without diarization. It is also possible to filter profanity. The type of files allowed are: mp3, wav, m4a. If convert_to_wav option is set to true, then you can transcribe any type of audio or video files. Long-running: returns a job immediately; poll it with check_job(job_id) every few seconds until status is 'success' or 'fail'. File parameters accept a file ID from upload_file or a direct file URL — if you already have a URL, pass it as-is (no upload needed).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "file": {
                    "description": "Audio file ID from /v3/upload or direct file URL Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: audio/*.",
                    "type": "string"
                  },
                  "language": {
                    "description": "Language code in ISO format (e.g., 'en', 'fr', 'es')",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: amazon, assembly, deepgram, deepgram/base, deepgram/enhanced, deepgram/nova-3, gladia, google, gradium, gradium/stt-translate, greenpt, greenpt/green-s, greenpt/green-s-pro, microsoft, mistral, mistral/voxtral-mini-2602, mistral/voxtral-mini-latest, mistral/voxtral-mini-transcribe-3, mistral/voxtral-small-transcribe-3, openai. Call list_models for pricing.",
                    "type": "string"
                  },
                  "profanity_filter": {
                    "default": false,
                    "description": "Whether to filter profanity and replace inappropriate words with a series of asterisks",
                    "type": "boolean"
                  },
                  "speakers": {
                    "default": 2,
                    "description": "Number of speakers present in the audio",
                    "minimum": 1,
                    "type": "integer"
                  },
                  "vocabulary": {
                    "description": "List of words or composed words to be detected by the speech to text engine",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "model",
                  "file"
                ],
                "type": "object"
              }
            },
            {
              "name": "audio_tts",
              "description": "Text-to-speech (TTS) is a technology that converts written text into spoken audio, enabling computers and digital devices to \"read\" text aloud.  It is also known as speech synthesis, read aloud technology, or computer-generated speech.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "audio_format": {
                    "description": "Desired audio format (e.g., 'mp3', 'wav')",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: amazon/neural, amazon/standard, deepgram/aura, deepgram/aura-2, elevenlabs, elevenlabs/eleven_flash_v2, elevenlabs/eleven_flash_v2_5, elevenlabs/eleven_multilingual_v2, elevenlabs/eleven_turbo_v2, elevenlabs/eleven_turbo_v2_5, elevenlabs/eleven_v3, google/casual, google/chirp-hd, google/chirp3-hd, google/gemini-2.5-flash-tts, google/gemini-2.5-pro-tts, google/gemini-3.1-flash-tts-preview, google/neural2, google/news, google/polyglot, google/standard, google/studio, google/wavenet, gradium, microsoft/neural, microsoft/neural-hd, mistral/voxtral-mini-tts-3, openai/gpt-4o-mini-tts, openai/tts-1, openai/tts-1-hd, ovhcloud/nvr-tts-de-de, ovhcloud/nvr-tts-en-us, ovhcloud/nvr-tts-es-es, ovhcloud/nvr-tts-it-it. Call list_models for pricing.",
                    "type": "string"
                  },
                  "speaking_pitch": {
                    "description": "Increase or decrease the speaking pitch by a percentage from -100% to 100%, 0 is normal.",
                    "maximum": 100,
                    "minimum": -100,
                    "type": "integer"
                  },
                  "speaking_volume": {
                    "description": "Increase or decrease the audio volume by a percentage from -100% to 100%, 0 is normal.",
                    "maximum": 100,
                    "minimum": -100,
                    "type": "integer"
                  },
                  "speed": {
                    "description": "Speed multiplier for speech synthesis",
                    "maximum": 4,
                    "minimum": 0.25,
                    "type": "number"
                  },
                  "text": {
                    "description": "Text to convert to speech",
                    "minLength": 1,
                    "type": "string"
                  },
                  "voice": {
                    "description": "Voice to synthesize with: an id or name from list_voices(model=...), matched case-insensitively. Omit it to use the model's default voice. An id the list doesn't know (e.g. your own cloned voice) is sent to the provider unchanged.",
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "text"
                ],
                "type": "object"
              }
            },
            {
              "name": "image_ai_detection",
              "description": "Determine whether an image was generated by AI or is a real photograph or artwork. File parameters accept a file ID from upload_file or a direct file URL — if you already have a URL, pass it as-is (no upload needed).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "file": {
                    "description": "Image file ID from /v3/upload or direct file URL Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: image/*.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: resemble, winstonai. Call list_models for pricing.",
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "file"
                ],
                "type": "object"
              }
            },
            {
              "name": "image_anonymization",
              "description": "Image Anonymization API, also known as image de-identification or image de-personalization, refers to the process of automatically removing personal or sensitive information from images. The main objective is to protect the privacy and security of individuals who may be depicted in images shared online or used for research purposes. File parameters accept a file ID from upload_file or a direct file URL — if you already have a URL, pass it as-is (no upload needed).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "file": {
                    "description": "Image file ID from /v3/upload or direct file URL Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: image/*.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: api4ai. Call list_models for pricing.",
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "file"
                ],
                "type": "object"
              }
            },
            {
              "name": "image_background_removal",
              "description": "Background removal is a digital image processing technique designed to seamlessly eliminate the backdrop of a photo, leaving behind only the main subject. File parameters accept a file ID from upload_file or a direct file URL — if you already have a URL, pass it as-is (no upload needed).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "file": {
                    "description": "Image file ID from /v3/upload or direct file URL Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: image/*.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: api4ai, clipdrop, photoroom, picsart, sentisight, stabilityai. Call list_models for pricing.",
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "file"
                ],
                "type": "object"
              }
            },
            {
              "name": "image_deepfake_detection",
              "description": "Detect whether a face in a real photo has been swapped or manipulated (face-swap deepfakes). For fully AI-generated images, use AI Image Detection instead. File parameters accept a file ID from upload_file or a direct file URL — if you already have a URL, pass it as-is (no upload needed).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "file": {
                    "description": "Image file ID from /v3/upload or direct file URL Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: image/*.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: resemble, sightengine. Call list_models for pricing.",
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "file"
                ],
                "type": "object"
              }
            },
            {
              "name": "image_explicit_content",
              "description": "Explicit Content Detection detects adult only content in images, that is generally inappropriate for people under the age of 18 and includes nudity, sexual activity, pornography, violence, gore content, etc. (type of files allowed: jpg, jpeg, png, tiff) File parameters accept a file ID from upload_file or a direct file URL — if you already have a URL, pass it as-is (no upload needed).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "file": {
                    "description": "Image file ID from /v3/upload or direct file URL Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: image/*.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: amazon, google, microsoft, openai, openai/gpt-4o. Call list_models for pricing.",
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "file"
                ],
                "type": "object"
              }
            },
            {
              "name": "image_face_compare",
              "description": "Compare two faces and decide whether they are from the same person. The API expects 2 images, reference and query, where the former is the ground truth (e.g. user's official ID) and the latter is the validation image (e.g. a selfie). File parameters accept a file ID from upload_file or a direct file URL — if you already have a URL, pass it as-is (no upload needed).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "file1": {
                    "description": "Image file ID from /v3/upload or direct file URL Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: image/*.",
                    "type": "string"
                  },
                  "file2": {
                    "description": "Image file ID from /v3/upload or direct file URL Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: image/*.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: amazon, base64, facepp. Call list_models for pricing.",
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "file1",
                  "file2"
                ],
                "type": "object"
              }
            },
            {
              "name": "image_face_detection",
              "description": "Face Detection is a computer technology being used in a variety of applications that identifies human faces in digital images with different attributes like landmarks, sentiments and physical attire (type of file allowed: jpg, jpeg, png, tiff) File parameters accept a file ID from upload_file or a direct file URL — if you already have a URL, pass it as-is (no upload needed).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "file": {
                    "description": "Image file ID from /v3/upload or direct file URL Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: image/*.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: amazon, api4ai, google. Call list_models for pricing.",
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "file"
                ],
                "type": "object"
              }
            },
            {
              "name": "image_face_recognition",
              "description": "Recognizing a face in an image is a more advanced feature than just detecting the face in the image. It allows the user to search for the detected face from a database of existing images and extract the faces that are most similar to the face displayed in the query image. File parameters accept a file ID from upload_file or a direct file URL — if you already have a URL, pass it as-is (no upload needed).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "collection_id": {
                    "description": "Id of one of your collections. Make one with manage_collections (action='create', then add_item for each file to search against); action='list' shows the ones you have. 'model' must be the collection's provider.",
                    "type": "string"
                  },
                  "file": {
                    "description": "Image file ID from /v3/upload or direct file URL Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: image/*.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: amazon. Call list_models for pricing.",
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "collection_id",
                  "file"
                ],
                "type": "object"
              }
            },
            {
              "name": "image_generation",
              "description": "Image Generation is an advanced feature that generates compelling images based on a given text prompt. It can easily produce high-quality and original images in a matter of seconds, without the need for specialized design skills or software File parameters accept a file ID from upload_file or a direct file URL — if you already have a URL, pass it as-is (no upload needed).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "mask": {
                    "description": "Optional inpainting mask. Must be paired with at least one reference image (otherwise the request returns 422). Support varies by model; models that do not accept a mask surface the error as status=\"fail\" with a provider message in the response body. Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: image/*.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: bytedance, bytedance/seedream-4-0-250828, bytedance/seedream-4-5-251128, bytedance/seedream-5-0-260128, google, google/gemini-2.5-flash-image, google/gemini-3-pro-image-preview, infomaniak/flux, ionos/black-forest-labs/FLUX.1-schnell, ionos/black-forest-labs/FLUX.2-klein-4B, leonardo, leonardo/AlbedoBase XL, leonardo/Leonardo Anime XL, leonardo/Leonardo Diffusion XL, leonardo/Leonardo Kino XL, leonardo/Leonardo Lightning XL, leonardo/Leonardo Phoenix, leonardo/Leonardo Vision XL, leonardo/SDXL 0.9, minimax, minimax/image-01, openai, openai/gpt-image-1, openai/gpt-image-1-mini, openai/gpt-image-1.5, openai/gpt-image-2, ovhcloud/stable-diffusion-xl-base-v10, pruna/p-image, pruna/p-image-edit, pruna/p-image-ideogram, pruna/p-image-ideogram-low, pruna/p-image-ideogram-medium, pruna/p-image-ideogram-very-high, pruna/p-image-ideogram-very-low, replicate, replicate/anime-style, replicate/classic, replicate/vintedois-diffusion, stabilityai, stabilityai/stable-diffusion-xl-1024-v1-0. Call list_models for pricing.",
                    "type": "string"
                  },
                  "num_images": {
                    "default": 1,
                    "description": "Number of images to generate",
                    "maximum": 10,
                    "minimum": 1,
                    "type": "integer"
                  },
                  "reference_images": {
                    "description": "Optional reference images. Plain file IDs/URLs are treated as ReferenceImage with kind=None. Support and per-model limits vary by model; models that do not accept reference images surface the error as status=\"fail\" with a provider message in the response body.",
                    "items": {},
                    "maxItems": 64,
                    "type": "array"
                  },
                  "resolution": {
                    "description": "Image resolution as a named size (e.g. '1024x1024'). Optional: providers may also accept native sizing knobs (width/height, aspect_ratio, image_size tier, etc.) in the top-level `provider_params` request field, next to `input` rather than inside it, in which case `provider_params` takes precedence.",
                    "pattern": "^\\d+x\\d+$",
                    "type": "string"
                  },
                  "text": {
                    "description": "Text prompt for image generation",
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "text"
                ],
                "type": "object"
              }
            },
            {
              "name": "image_logo_detection",
              "description": "Logo Detection is a powerful technology that enables the automatic identification and recognition of popular logos within an image. It provides accurate and efficient detection of known (and less known) brand logos. It's a valuable tool for a variety of industries, including advertising, retail, and e-commerce. File parameters accept a file ID from upload_file or a direct file URL — if you already have a URL, pass it as-is (no upload needed).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "file": {
                    "description": "Image file ID from /v3/upload or direct file URL Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: image/*.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: api4ai, api4ai/v1, api4ai/v2, google, microsoft, openai, openai/gpt-4-turbo, openai/gpt-4o. Call list_models for pricing.",
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "file"
                ],
                "type": "object"
              }
            },
            {
              "name": "image_object_detection",
              "description": "Object Detection is a computer vision technique that allows users to identify and locate (with bounding boxes) objects in an image. The detected objects can be animals, people, electronics, vehicles etc. (type of file allowed: jpg, jpeg, png, tiff) File parameters accept a file ID from upload_file or a direct file URL — if you already have a URL, pass it as-is (no upload needed).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "file": {
                    "description": "Image file ID from /v3/upload or direct file URL Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: image/*.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: amazon, api4ai, google, microsoft, sentisight. Call list_models for pricing.",
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "file"
                ],
                "type": "object"
              }
            },
            {
              "name": "ocr",
              "description": "Optical Character Recognition or Reader (OCR) is the electronic or mechanical conversion of images of typed, handwritten or printed text into machine-encoded text. The image can be a scanned document or a photo of a license plate, a road sign or anything else that contains text (type of files allowed: jpg, jpeg, png, tiff) . File parameters accept a file ID from upload_file or a direct file URL — if you already have a URL, pass it as-is (no upload needed).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "file": {
                    "description": "PDF or image file ID from /v3/upload or direct file URL Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: application/pdf, image/*.",
                    "type": "string"
                  },
                  "language": {
                    "description": "Document language code. Most providers detect the language themselves and ignore this field; providers that cannot detect it reject requests that omit it. Check the provider's supported languages before relying on it.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: amazon, api4ai, google, ionos, ionos/lightonai/LightOnOCR-2-1B, microsoft, mistral, mistral/mistral-ocr-2512, mistral/mistral-ocr-3, mistral/mistral-ocr-3-0, mistral/mistral-ocr-4, mistral/mistral-ocr-4-0, mistral/mistral-ocr-4-1, mistral/mistral-ocr-latest, sentisight. Call list_models for pricing.",
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "file"
                ],
                "type": "object"
              }
            },
            {
              "name": "ocr_async",
              "description": "OCR or Optical Character Recognition is also referred to as text recognition or text extraction. It allows users to extract text data from PDFs with multiple pages. Long-running: returns a job immediately; poll it with check_job(job_id) every few seconds until status is 'success' or 'fail'. File parameters accept a file ID from upload_file or a direct file URL — if you already have a URL, pass it as-is (no upload needed).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "file": {
                    "description": "PDF or image file ID from /v3/upload or direct file URL Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: application/pdf, image/*.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: amazon, microsoft, mistral, mistral/mistral-ocr-2512, mistral/mistral-ocr-3, mistral/mistral-ocr-3-0, mistral/mistral-ocr-4, mistral/mistral-ocr-4-0, mistral/mistral-ocr-4-1, mistral/mistral-ocr-latest. Call list_models for pricing.",
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "file"
                ],
                "type": "object"
              }
            },
            {
              "name": "ocr_financial_parser",
              "description": "Financial Parser API is a powerful and versatile tool designed to streamline your financial data extraction process. This cutting-edge API combines Optical Character Recognition (OCR) technology with advanced parsing capabilities to seamlessly extract and organize relevant information from invoices and receipts. File parameters accept a file ID from upload_file or a direct file URL — if you already have a URL, pass it as-is (no upload needed).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "document_type": {
                    "default": "invoice",
                    "description": "Specify the type of your document. Can be set to 'auto-detect' for automatic detection if the provider supports it.",
                    "enum": [
                      "auto-detect",
                      "invoice",
                      "receipt"
                    ],
                    "type": "string"
                  },
                  "file": {
                    "description": "File ID from /v3/upload or direct file URL Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: image/*, application/*, text/*.",
                    "type": "string"
                  },
                  "language": {
                    "description": "Document language code. Most providers detect the language themselves and ignore this field; providers that cannot detect it reject requests that omit it. Check the provider's supported languages before relying on it.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: affinda, amazon, base64, eagledoc, extracta, google, klippa, microsoft, mindee, openai, openai/gpt-4o, tabscanner, veryfi. Call list_models for pricing.",
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "file"
                ],
                "type": "object"
              }
            },
            {
              "name": "ocr_identity_parser",
              "description": "ID Document parsing technology allows users to automatically extract information from an ID Document such as passport, ID card, driving license and more. This API is ideal for developers looking to create applications that require identity verification or access control. It extracts information like name, date of birth, nationality, age and more. File parameters accept a file ID from upload_file or a direct file URL — if you already have a URL, pass it as-is (no upload needed).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "file": {
                    "description": "PDF or image file ID from /v3/upload or direct file URL Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: application/pdf, image/*.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: affinda, amazon, base64, klippa, microsoft, mindee, openai, openai/gpt-4o. Call list_models for pricing.",
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "file"
                ],
                "type": "object"
              }
            },
            {
              "name": "ocr_resume_parser",
              "description": "Resume Parser enables users to extract various information from resumes (curriculum vitae, CV) that could be in a variety of formats and returns structured data (name, job list, education, skills) to automate their processing. (type of files allowed: pdf, jpg, jpeg, png) File parameters accept a file ID from upload_file or a direct file URL — if you already have a URL, pass it as-is (no upload needed).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "file": {
                    "description": "File ID from /v3/upload or direct file URL Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: image/*, application/*, text/*.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: affinda, extracta, klippa, openai, openai/gpt-4o. Call list_models for pricing.",
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "file"
                ],
                "type": "object"
              }
            },
            {
              "name": "ocr_tables",
              "description": "OCR Table (Optical Character Recognition for tabular documents)  allows users to analyze documents containing tables and returns a structured representation of the detected tables in the form of a Json object that can be converted to a CSV. Long-running: returns a job immediately; poll it with check_job(job_id) every few seconds until status is 'success' or 'fail'. File parameters accept a file ID from upload_file or a direct file URL — if you already have a URL, pass it as-is (no upload needed).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "file": {
                    "description": "PDF or image file ID from /v3/upload or direct file URL Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: application/pdf, image/*.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: amazon, google, microsoft. Call list_models for pricing.",
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "file"
                ],
                "type": "object"
              }
            },
            {
              "name": "text_ai_detection",
              "description": "The AI Detection API is a tool designed to determine whether a given text was generated by an artificial intelligence chatbot, or a Language Model (LLM).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "model": {
                    "description": "Which provider/model to run, exactly one of: sapling, winstonai. Call list_models for pricing.",
                    "type": "string"
                  },
                  "text": {
                    "description": "Text to analyze for AI detection, at least 300 characters long. Shorter texts carry too little signal to be scored reliably.",
                    "minLength": 300,
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "text"
                ],
                "type": "object"
              }
            },
            {
              "name": "text_anonymization",
              "description": "The personally identifiable information (PII) detection feature can identify and redact sensitive information in unstructured text. For example: phone numbers, email addresses, and forms of identification. Removing these personally identifiable information helps with the Anonymization of a text and privacy protection.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "language": {
                    "description": "ISO 639-1 language code",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: amazon, limina, microsoft. Call list_models for pricing.",
                    "type": "string"
                  },
                  "text": {
                    "description": "Text to detect personal information in",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "text"
                ],
                "type": "object"
              }
            },
            {
              "name": "text_moderation",
              "description": "Text moderation scans text for offensive, sexually explicit or suggestive content, it also checks if there is any content of self-harm, violence, racist or hate speech.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "language": {
                    "description": "ISO 639-1 language code",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: google, microsoft, openai, openai/text-moderation-007, openai/text-moderation-latest, openai/text-moderation-stable, ovhcloud/Qwen3Guard-Gen-0.6B, ovhcloud/Qwen3Guard-Gen-8B. Call list_models for pricing.",
                    "type": "string"
                  },
                  "text": {
                    "description": "Text to moderate",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "text"
                ],
                "type": "object"
              }
            },
            {
              "name": "text_named_entity_recognition",
              "description": "Named Entity Recognition (also called entity identification or extraction) is an information extraction technique that automatically identifies named entities in a text and classifies them into predefined categories such as dates, persons names, company names, dates, products etc.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "language": {
                    "description": "ISO 639-1 language code",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: amazon, microsoft, openai, openai/gpt-4o. Call list_models for pricing.",
                    "type": "string"
                  },
                  "text": {
                    "description": "Text to analyze for named entities",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "text"
                ],
                "type": "object"
              }
            },
            {
              "name": "text_plagia_detection",
              "description": "The Plagiarism Detection API is a tool designed to scan a content string for plagiarism using a plagiarism detection module",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "model": {
                    "description": "Which provider/model to run, exactly one of: winstonai. Call list_models for pricing.",
                    "type": "string"
                  },
                  "text": {
                    "description": "Text content on which plagiarism detection will be run",
                    "minLength": 1,
                    "type": "string"
                  },
                  "title": {
                    "description": "Content title",
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "text"
                ],
                "type": "object"
              }
            },
            {
              "name": "text_spell_check",
              "description": "Spell Check analyzes the inputted text by comparing it to a dictionary of correctly spelled words to identify and highlight any spelling errors or grammatical mistakes.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "language": {
                    "description": "ISO 639-1 language code",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: prowritingaid, sapling. Call list_models for pricing.",
                    "type": "string"
                  },
                  "text": {
                    "description": "Text to be spell-checked",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "text"
                ],
                "type": "object"
              }
            },
            {
              "name": "text_topic_extraction",
              "description": "Topic analysis is a Natural Language Processing (NLP) technique that allows us to automatically extract meaning from text by identifying recurrent themes or topics.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "language": {
                    "description": "ISO 639-1 language code",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: google, openai, openai/gpt-4o. Call list_models for pricing.",
                    "type": "string"
                  },
                  "text": {
                    "description": "Text to analyze for topics",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "text"
                ],
                "type": "object"
              }
            },
            {
              "name": "translation_automatic_translation",
              "description": "Automatic translation or machine translation (MT) is the process of automatically translating a text from one language to another language. The aim of it is to enable people to communicate and access information in different languages, without the need for a human translator.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "model": {
                    "description": "Which provider/model to run, exactly one of: amazon, deepl, google, microsoft, modernmt, openai, openai/gpt-4o. Call list_models for pricing.",
                    "type": "string"
                  },
                  "source_language": {
                    "description": "Source language code",
                    "minLength": 1,
                    "type": "string"
                  },
                  "target_language": {
                    "description": "Target language code",
                    "minLength": 1,
                    "type": "string"
                  },
                  "text": {
                    "description": "Text to translate",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "text",
                  "target_language"
                ],
                "type": "object"
              }
            },
            {
              "name": "translation_document_translation",
              "description": "Document Translation API translates whole documents in supported languages and various file formats (like pdf or doc) while keeping their structure intact. File parameters accept a file ID from upload_file or a direct file URL — if you already have a URL, pass it as-is (no upload needed).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "file": {
                    "description": "Document file ID from /v3/upload or direct file URL (PDF, DOCX, PPTX) Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: application/pdf, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.openxmlformats-officedocument.presentationml.presentation.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: deepl, google. Call list_models for pricing.",
                    "type": "string"
                  },
                  "source_language": {
                    "description": "Source language code",
                    "minLength": 1,
                    "type": "string"
                  },
                  "target_language": {
                    "description": "Target language code",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "file",
                  "target_language"
                ],
                "type": "object"
              }
            },
            {
              "name": "video_deepfake_detection",
              "description": "Detect deepfake and synthetically manipulated video. Returns an overall deepfake score and prediction, along with per-frame scores when the provider supplies them. Long-running: returns a job immediately; poll it with check_job(job_id) every few seconds until status is 'success' or 'fail'. File parameters accept a file ID from upload_file or a direct file URL — if you already have a URL, pass it as-is (no upload needed).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "file": {
                    "description": "Video file ID from /v3/upload or direct file URL Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: video/*.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: resemble. Call list_models for pricing.",
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "file"
                ],
                "type": "object"
              }
            },
            {
              "name": "video_generation",
              "description": "The Video Generation API enables easy creation of high-quality videos from text,and images, perfect for marketing, education, and more—all through one integration. Long-running: returns a job immediately; poll it with check_job(job_id) every few seconds until status is 'success' or 'fail'. File parameters accept a file ID from upload_file or a direct file URL — if you already have a URL, pass it as-is (no upload needed).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "dimension": {
                    "default": "1280x720",
                    "description": "Video resolution in 'widthxheight' format (e.g., '1280x720')",
                    "pattern": "^\\d+x\\d+$",
                    "type": "string"
                  },
                  "duration": {
                    "description": "Length of the generated video in seconds. Omit to use the model's default duration.",
                    "maximum": 120,
                    "minimum": 1,
                    "type": "integer"
                  },
                  "file": {
                    "description": "Initial keyframe image (JPEG or PNG) file ID from /v3/upload or direct file URL Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: image/jpeg, image/png.",
                    "type": "string"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: bytedance, bytedance/dreamina-seedance-2-0-260128, bytedance/dreamina-seedance-2-0-fast-260128, bytedance/dreamina-seedance-2-0-mini-260615, bytedance/dreamina-seedance-2-5-260628, bytedance/seedance-1-0-pro-250528, bytedance/seedance-1-0-pro-fast-251015, bytedance/seedance-1-5-pro-251215, minimax, minimax/MiniMax-Hailuo-02, minimax/MiniMax-Hailuo-2.3, minimax/S2V-01, minimax/T2V/I2V-01-Director, openai, openai/sora-2, openai/sora-2-pro, pixverse, pixverse/c1, pixverse/v5, pixverse/v5.5, pixverse/v6, pruna, pruna/p-video, pruna/p-video-2, pruna/p-video-2-pro, pruna/p-video-2-pro-cost, pruna/p-video-2-pro-quality, pruna/p-video-animate, pruna/p-video-avatar, pruna/p-video-edit, xai/grok-imagine-video-1.5, xai/grok-imagine-video-1.5-lite. Call list_models for pricing.",
                    "type": "string"
                  },
                  "seed": {
                    "description": "Random seed for generation reproducibility (0 to 2,147,483,646). Omit for varied output.",
                    "maximum": 2147483646,
                    "minimum": 0,
                    "type": "integer"
                  },
                  "text": {
                    "description": "Text prompt describing the content and style of the video to generate",
                    "minLength": 1,
                    "type": "string"
                  },
                  "video": {
                    "description": "Source video to edit, for models that edit a video (their `requires_video` is true in /v3/info). The output keeps the source's length, which is what is billed, so `duration` and `dimension` do not apply to them. Other models refuse it. Pass a file ID (UUID) from upload_file, or a direct file URL. Accepted types: video/*.",
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "text"
                ],
                "type": "object"
              }
            },
            {
              "name": "web_batch_scrape",
              "description": "Scrape many URLs in one request and return each page's content. Runs as an async job. Long-running: returns a job immediately; poll it with check_job(job_id) every few seconds until status is 'success' or 'fail'.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "model": {
                    "description": "Which provider/model to run, exactly one of: firecrawl. Call list_models for pricing.",
                    "type": "string"
                  },
                  "urls": {
                    "description": "Explicit list of URLs to scrape (async job)",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 1,
                    "type": "array"
                  }
                },
                "required": [
                  "model",
                  "urls"
                ],
                "type": "object"
              }
            },
            {
              "name": "web_crawl",
              "description": "Crawl a site from a starting URL and return the content of its pages. Runs as an async job. Long-running: returns a job immediately; poll it with check_job(job_id) every few seconds until status is 'success' or 'fail'.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "model": {
                    "description": "Which provider/model to run, exactly one of: firecrawl, tavily. Call list_models for pricing.",
                    "type": "string"
                  },
                  "url": {
                    "description": "Root URL to crawl (async job)",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "url"
                ],
                "type": "object"
              }
            },
            {
              "name": "web_map",
              "description": "Discover and return the list of URLs on a site (a sitemap-style link map).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "model": {
                    "description": "Which provider/model to run, exactly one of: firecrawl, tavily. Call list_models for pricing.",
                    "type": "string"
                  },
                  "url": {
                    "description": "Root URL to map (discover its links)",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "url"
                ],
                "type": "object"
              }
            },
            {
              "name": "web_research",
              "description": "Run deep, multi-step web research on a query and return a synthesized answer with sources. Runs as an async job. Long-running: returns a job immediately; poll it with check_job(job_id) every few seconds until status is 'success' or 'fail'.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "model": {
                    "description": "Which provider/model to run, exactly one of: firecrawl, linkup, tavily. Call list_models for pricing.",
                    "type": "string"
                  },
                  "prompt": {
                    "description": "Natural-language research task for the agent",
                    "minLength": 1,
                    "type": "string"
                  },
                  "reasoning_depth": {
                    "default": "L",
                    "description": "Research reasoning-effort tier (billed per tier; priced pre-call)",
                    "enum": [
                      "S",
                      "M",
                      "L",
                      "XL"
                    ],
                    "type": "string"
                  },
                  "schema": {
                    "description": "JSON schema describing the structured output",
                    "type": "object"
                  }
                },
                "required": [
                  "model",
                  "prompt"
                ],
                "type": "object"
              }
            },
            {
              "name": "web_scraping",
              "description": "Fetch a single URL and return its clean content as markdown, text, or HTML, with optional JavaScript rendering.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "model": {
                    "description": "Which provider/model to run, exactly one of: deepseek, firecrawl, linkup, tavily. Call list_models for pricing.",
                    "type": "string"
                  },
                  "url": {
                    "description": "URL of the web page to scrape",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "url"
                ],
                "type": "object"
              }
            },
            {
              "name": "web_search",
              "description": "Search the web for a query and return ranked results (title, URL, and a snippet or the page content).",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "depth": {
                    "default": "standard",
                    "description": "Search depth tier. `deep` is refused with a 400 on deepseek, perplexityai and zai, which run one tier only.",
                    "enum": [
                      "standard",
                      "deep"
                    ],
                    "type": "string"
                  },
                  "max_results": {
                    "description": "Max number of search results to return",
                    "minimum": 1,
                    "type": "integer"
                  },
                  "model": {
                    "description": "Which provider/model to run, exactly one of: deepseek, firecrawl, linkup, perplexityai, tavily, zai. Call list_models for pricing.",
                    "type": "string"
                  },
                  "query": {
                    "description": "The web search query",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "model",
                  "query"
                ],
                "type": "object"
              }
            },
            {
              "name": "web_structured_extraction",
              "description": "Extract structured data from one or more web pages against a schema or prompt. Runs as an async job. Long-running: returns a job immediately; poll it with check_job(job_id) every few seconds until status is 'success' or 'fail'.",
              "inputSchema": {
                "additionalProperties": false,
                "properties": {
                  "model": {
                    "description": "Which provider/model to run, exactly one of: firecrawl. Call list_models for pricing.",
                    "type": "string"
                  },
                  "prompt": {
                    "description": "Natural-language description of what to extract",
                    "type": "string"
                  },
                  "schema": {
                    "description": "JSON schema describing the structured output",
                    "type": "object"
                  },
                  "urls": {
                    "description": "URLs to extract structured data from (async job)",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 1,
                    "type": "array"
                  }
                },
                "required": [
                  "model",
                  "urls"
                ],
                "type": "object"
              }
            }
          ],
          "schemaTokens": 10725,
          "changedAt": "2026-11-07T01:44:01.27972989Z",
          "check": {
            "checker": "anchor-check/1.0",
            "totalTokens": 10725,
            "counts": {
              "error": 0,
              "note": 1,
              "warn": 49
            },
            "findings": [
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "manage_collections",
                "message": "1 parameter without a description: action",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC12",
                "severity": "warn",
                "tool": "image_generation",
                "message": "no type for reference_images[]",
                "fix": "Give every parameter a type (or an enum)."
              },
              {
                "rule": "TC13",
                "severity": "warn",
                "tool": "web_research",
                "message": "schema (object with no properties)",
                "fix": "Declare the properties (or additionalProperties with a schema) and the array's items."
              },
              {
                "rule": "TC13",
                "severity": "warn",
                "tool": "web_structured_extraction",
                "message": "schema (object with no properties)",
                "fix": "Declare the properties (or additionalProperties with a schema) and the array's items."
              },
              {
                "rule": "TC14",
                "severity": "warn",
                "tool": "image_face_recognition",
                "message": "allowed values are in the description, not an enum: collection_id",
                "fix": "Move them into enum."
              },
              {
                "rule": "TC14",
                "severity": "warn",
                "tool": "image_generation",
                "message": "allowed values are in the description, not an enum: resolution",
                "fix": "Move them into enum."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "audio_speech_to_text",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "audio_tts",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "check_job",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"check\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "image_ai_detection",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "image_anonymization",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "image_background_removal",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "image_deepfake_detection",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "image_explicit_content",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "image_face_compare",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "image_face_detection",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "image_face_recognition",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "image_generation",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "image_logo_detection",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "image_object_detection",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "list_models",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"list\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "list_voices",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"list\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "manage_collections",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "ocr",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "ocr_async",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "ocr_financial_parser",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "ocr_identity_parser",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "ocr_resume_parser",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "ocr_tables",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "text_ai_detection",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "text_anonymization",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "text_moderation",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "text_named_entity_recognition",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "text_plagia_detection",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "text_spell_check",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"check\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "text_topic_extraction",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "translation_automatic_translation",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "translation_document_translation",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "upload_file",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "video_deepfake_detection",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "video_generation",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "web_batch_scrape",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "web_crawl",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "web_map",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "web_research",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "web_scraping",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "web_search",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Its name starts with \"search\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
              },
              {
                "rule": "TC16",
                "severity": "warn",
                "tool": "web_structured_extraction",
                "message": "no readOnlyHint or destructiveHint",
                "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
              },
              {
                "rule": "TC23",
                "severity": "warn",
                "message": "42 tools",
                "fix": "Offer a smaller default toolset and let clients opt into the rest."
              },
              {
                "rule": "TC24",
                "severity": "note",
                "message": "38 of 42 tools have no outputSchema",
                "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
              }
            ]
          }
        },
        "updatedAt": "2026-11-07T19:22:04.810042763Z"
      }
    },
    "answer": "Eden AI scores 59.9 (C) on agent readiness against Muse Spark Open's 53.4 (D), and leads in 4 of 7 scored categories. Muse Spark Open leads on reliability and payments \u0026 pricing.",
    "b": {
      "slug": "muse-spark-open",
      "name": "Muse Spark Open",
      "vendor": "Meta",
      "vendorUrl": "https://dev.meta.ai/models/muse-spark-open",
      "kind": "model",
      "category": "inference",
      "summary": "Muse Spark Open is Meta's open-weight multimodal model for coding and agentic work, with 816B total and 42B active parameters and a 1M-token context, released on 15 October 2026 under the Muse Model Licence for self-hosting.",
      "url": "https://www.anchorterminal.com/tools/muse-spark-open",
      "markdownUrl": "https://www.anchorterminal.com/tools/muse-spark-open.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/muse-spark-open.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/muse-spark-open.json",
      "dns": "muse-spark-open.grade.anchorterminal.com",
      "repo": "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B",
      "license": "Muse Model Licence (source-available weights, not an OSI licence), free of charge with an attribution notice, a separate agreement with Meta before Model as a Service by a licensee group above $20M gross revenue, and the Muse Spark Open Usage Policy",
      "transports": [
        "http"
      ],
      "packages": [],
      "auth": "none",
      "authNotes": "Running the model needs no account or key. Getting Meta's weights does. Both Hugging Face repositories (BF16 and NVFP4) are gated with manual review and ask for full legal name, date of birth, country, affiliation and job title, and downloads then use a Hugging Face access token. Meta's Get the model page also gives a download from its own site after signing in and accepting the licence, one file at a time. The GGUF quantisations from ggml-org and Unsloth that Meta's docs point to are not gated. A local server has whatever authentication the owner adds, such as llama.cpp's `--api-key`.",
      "pricing": "free",
      "pricingNotes": "Free to download and run under the Muse Model Licence, with the owner's GPUs as the cost. A licensee whose group has more than $20M gross revenue in any 12 months must notify Meta and sign a separate agreement before offering it as Model as a Service. Hosted copies cost $1.25 input, $0.15 cached input and $4.25 output per million tokens on Fireworks, Baseten and Modal (checked 2026-10-15). On 4 November Hugging Face lists Baseten and Together as live inference providers, Baseten at $4.25 output. Meta Model API does not serve it.",
      "priceSummary": "from $1.25 / 1M in",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402. Muse Spark Open is a model the owner runs, with no payment route from Meta, and Meta Model API does not serve it (checked 2026-10-15).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-15"
      },
      "docsUrl": "https://dev.meta.ai/docs/muse-spark-open",
      "llmsTxt": "https://dev.meta.ai/llms.txt",
      "capabilities": [
        "inference.llm",
        "inference.open-weights",
        "inference.local"
      ],
      "tags": [
        "model",
        "open-weights",
        "self-hosted",
        "local",
        "free",
        "gated",
        "multimodal",
        "openai-compatible",
        "llms-txt",
        "gpu",
        "new"
      ],
      "lastRelease": "2026-10-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.4,
        "grade": "D",
        "agentReady": false,
        "rank": 950,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 32,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 60,
          "payments": 50,
          "reliability": 42,
          "schema": 61,
          "security": 44,
          "transparency": 53
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": 0,
        "verdict": "Muse Spark Open runs on the owner's hardware in seven runtimes, with OpenAI-compatible servers in vLLM and SGLang, standard tool calls, a 1M-token context and Meta's own serving docs. Serving the 537 GB NVFP4 checkpoint takes four B300 GPUs, Meta's download is gated by manual review, and the licence adds attribution and a revenue threshold for model resellers.",
        "bestFor": "A team with a four-GPU Blackwell node, or two to four Mac Studios, that wants a 1M-token multimodal coding and agent model on its own hardware with no prompts leaving it.",
        "strengths": [
          "816B total and 42B active parameters with a 1,048,576-token context, taking text, image, video and audio input",
          "Day-one support in vLLM, SGLang, TensorRT-LLM, Transformers, llama.cpp, MLX and Unsloth, with commands for each in Meta's docs",
          "With the `muse` parsers, reasoning comes back in its own field and tool calls as a standard `tool_calls` array",
          "The licence grants use, fine-tuning, distillation and resale free of charge, with no user cap and no regional exclusion",
          "llms.txt and Markdown docs cover checkpoints, prompting, stop tokens, recommended settings and post-training"
        ],
        "weaknesses": [
          "The NVFP4 checkpoint (about 537 GB) serves on four B300 GPUs and the BF16 one (about 1.65 TB) on eight",
          "Meta's Hugging Face repositories need manual approval with legal name and date of birth, which the Get the model page doesn't mention",
          "Products must display \"Built with Muse Spark Open\", and a company group with over $20M revenue needs Meta's agreement to offer it as Model as a Service",
          "The Usage Policy rules out military, nuclear, espionage, critical infrastructure and heavy machinery uses, and users under 18",
          "No changelog, deprecation policy or CI found, and none of the Hugging Face discussion replies counted on 4 November came from Meta"
        ],
        "agentNotes": [
          "Start vLLM or SGLang with `--reasoning-parser muse --tool-call-parser muse` (vLLM also `--enable-auto-tool-choice`), or tool calls come back as raw text",
          "Set `reasoning_effort` to `low` or `medium` for short tasks. The default is `xhigh`, reasoning can't be turned off, and other values return an error",
          "Stop only on `\u003c|eot|\u003e` and end of text. Stopping on `\u003c|eom|\u003e` cuts off tool calls and final answers",
          "Stream long generations and leave `max_tokens` room for reasoning, or `content` can come back empty with `finish_reason` `length`",
          "Don't call Meta Model API for this model. Use a self-hosted server or a hosted provider's model string, such as `meta-models/muse-spark-open`"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.4
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 60,
          "payments": 50,
          "reliability": 42,
          "schema": 61,
          "security": 44,
          "transparency": 50
        },
        "provenanceScore": 55,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-10-30",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "hf download meta-models/Muse-Spark-Open-816B-A42B-NVFP4 --local-dir ./muse-spark-open-nvfp4\n\nexport VLLM_USE_RUST_FRONTEND=1\nvllm serve meta-models/Muse-Spark-Open-816B-A42B-NVFP4 \\\n    --tensor-parallel-size 4 \\\n    --enable-expert-parallel \\\n    --max-model-len 1048576 \\\n    --reasoning-parser muse \\\n    --tool-call-parser muse \\\n    --enable-auto-tool-choice",
        "http": "curl http://localhost:8000/v1/chat/completions \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n    \"model\": \"meta-models/Muse-Spark-Open-816B-A42B-NVFP4\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"Refactor this module.\"}],\n    \"reasoning_effort\": \"xhigh\"\n  }'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.llm",
        "tool": "https://letme.dev/muse-spark-open"
      },
      "sameCompany": [
        "meta-model-api",
        "muse-code",
        "muse-glimmer-30b"
      ],
      "family": {
        "lab": "Meta",
        "family": "Muse",
        "url": "https://www.anchorterminal.com/open-weights/#meta",
        "others": [
          {
            "name": "Muse Glimmer 30B",
            "url": "https://huggingface.co/meta-models/Muse-Glimmer-30B",
            "params": "30B (dense, multimodal)",
            "listing": "https://www.anchorterminal.com/tools/muse-glimmer-30b"
          },
          {
            "name": "Muse Glimmer 30B assistant (DFlash drafter)",
            "url": "https://huggingface.co/meta-models/Muse-Glimmer-30B-assistant",
            "params": "2.56B (Hub safetensors count; the card states no figure)"
          }
        ],
        "olderCount": 50,
        "unrestrictedCopies": 1
      },
      "area": "models",
      "provenance": {
        "legalEntity": "Meta Platforms, Inc.",
        "domain": "meta.ai",
        "domainRegistered": "2017-12-16",
        "endpointOnVendorDomain": null,
        "terms": "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B/blob/main/LICENSE.md",
        "privacy": "",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-04",
        "notes": [
          "The licence names Meta Platforms, Inc. as copyright holder, and defines Meta as Meta Platforms Ireland Limited for licensees in the European region and Meta Platforms, Inc. elsewhere. The model card names the same two as model provider.",
          "The licence is the document that governs use of the weights, so it is recorded as the terms. LICENSE.md matches the text shown on the gated access form word for word. The Usage Policy is its Exhibit A. The separate USE_POLICY.md that Meta's docs link answered 401 without access and wasn't read.",
          "No privacy policy governs the model, because the owner runs it and no input reaches Meta. The access form says its details are handled under the Meta Privacy Policy on www.facebook.com, whose robots.txt asks readers like ours not to fetch it, so it wasn't read.",
          "The domain is meta.ai, where Meta's developer docs (dev.meta.ai) and research post (research.meta.ai) sit, the same as the meta-model-api and muse-code listings. RDAP gives a registration date of 16 December 2017.",
          "No hosted endpoint from Meta, so no status page. No changelog for the model was found, and the Hugging Face commit history needs access to read.",
          "dev.meta.ai/.well-known/security.txt and research.meta.ai/.well-known/security.txt returned 404 on 15 October 2026.",
          "WebFetch read the research post. It refused the Hugging Face model card as outside its allowed set, so the card, LICENSE.md, the repository and collection metadata, the discussions, the evaluation methodology PDF, Meta's docs pages and the providers' model pages were read with curl.",
          "Re-read on 4 November 2026 from the Hugging Face model pages, which show both Meta repositories gated with manual review and last changed on 15 October 2026. Meta's Get the model page now also lists a signed-in download from dev.meta.ai."
        ],
        "score": 55
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/muse-spark-open.json",
      "live": {
        "slug": "muse-spark-open",
        "securityTxt": {
          "url": "https://meta.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:02:03.890144289Z"
        },
        "llmsTxt": {
          "url": "https://dev.meta.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:19.416673459Z"
        },
        "domain": {
          "domain": "meta.ai",
          "registered": "2017-12-16",
          "source": "https://rdap.identitydigital.services/rdap/domain/meta.ai",
          "checkedAt": "2026-11-01T14:15:25.518716318Z"
        },
        "pages": [
          {
            "url": "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B/blob/main/LICENSE.md",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:12:09.389199467Z",
            "changedAt": "2026-11-07T14:12:09.389199467Z",
            "fingerprint": "e60ed3d2f0c5"
          }
        ],
        "models": {
          "meta/muse-spark-open": {
            "openrouterId": "meta/muse-spark-open",
            "tools": true,
            "structuredOutputs": true,
            "jsonMode": true,
            "reasoning": true,
            "input": [
              "audio",
              "file",
              "image",
              "text",
              "video"
            ],
            "promptCaching": true,
            "contextTokens": 1048576,
            "maxOutput": 943718,
            "checkedAt": "2026-11-06T23:49:25.225778715Z"
          }
        },
        "updatedAt": "2026-11-07T16:02:03.890144289Z"
      }
    },
    "edges": [
      {
        "by": 38,
        "category": "security",
        "leads": "eden-ai",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Router, read on the model lines. Bearer keys with per-key budgets, expiry and attribution, a key management API, and deny-by-default guardrails that limit models per member, role or key (25). The data retention page says request and response content isn't stored and data isn't used to train models by default (18). Content logging is opt-in, async results are deleted after 7 days, and an organisation can enforce Zero Data Retention and region rules; the EU endpoint refuses non-EU models with 451 (13). Cost and provider per response, and a monitoring dashboard by key (12). The security page says Eden AI is SOC 2 and ISO 27001 certified and links a trust centre; /.well-known/security.txt returns 404 and no disclosure policy was found (14). 25+18+13+12+14 = 82.",
          "b": "Read as software the owner runs. No account or key to run it. Meta's weights need manual approval on Hugging Face and an access token, and server authentication is the owner's to add (12 of 30). An agent model that calls whatever tools the operator gives it. The card recommends human-in-the-loop confirmation for irreversible actions and Meta reports agentic-risk evaluations, but nothing in the model or template enforces an approval (8 of 20). The chat template neutralises special-token sequences and media placeholders in caller text and wraps tool results in `\u003ctool_output\u003e`, and the card advises protecting internal assistant messages and layering defences against adversarial input. No indirect prompt-injection results are published (10 of 15). No call log of its own. Visibility depends on the serving stack (5 of 15). Weights are safetensors that load through Transformers' own classes from 5.19, and Meta published cyber, chemical, biological and misalignment evaluations. dev.meta.ai/.well-known/security.txt answers 404 (re-read on 4 November), research.meta.ai per the 15 October check, and no security route is on the card or in the docs, only museoss@meta.com and the Hugging Face discussions (9 of 20). 12 + 8 + 10 + 5 + 9 = 44."
        },
        "scores": {
          "a": 82,
          "b": 44
        }
      },
      {
        "by": 20,
        "category": "schema",
        "leads": "eden-ai",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Router, scored on the API lines. OpenAPI 3.1 document for v3 (version 3.0.0, 46 paths) at api.edenai.run/v3/docs/openapi.json, plus a management API spec (25). llms.txt on the site and in the docs, llms-full.txt and Markdown pages (10). llms.txt states when to use Eden AI and when not to, and the docs separate chat models from expert models (17). Requests follow the OpenAI shape, and expert-model tools on the MCP server carry JSON Schema inputs (12). Examples throughout, but the spec documents only 200, 201, 202, 302 and 422, while llms.txt names 401 and 451 for region refusals (10). Versioned /v3 path, but no public changelog was found (7). 25+10+17+12+10+7 = 81.",
          "b": "Read for a model the owner serves. No specification of its own. The contract is the Jinja chat template, which renders OpenAI-format tools with `additionalProperties: false` added and rejects bad values, plus the OpenAI-compatible servers in vLLM and SGLang with the `muse` parsers (10 of 25). dev.meta.ai/llms.txt lists the Muse Spark Open overview and seven pages under it, plus three cookbook pages, each with a Markdown copy (10). The card lists seven intended uses and six limitations, the docs say when to pick BF16 or NVFP4 and which reasoning strength suits which task, and the Usage Policy states what is out of scope (17 of 20). `reasoning_effort` is an enum of four values and anything else returns an error, and tools take JSON Schema. Structured output is documented only for TensorRT-LLM's `response_format`, not in the prompting guide or for vLLM and SGLang (11 of 15). curl and Python examples for every runtime and hosted provider, the rendered prompt for each case, and the template's own error messages, but no error reference for a served model (11 of 15). One release, with no changelog or version scheme beyond the licence's version line, Muse Spark Open (2 of 15). 10 + 10 + 17 + 11 + 11 + 2 = 61."
        },
        "scores": {
          "a": 81,
          "b": 61
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "muse-spark-open",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Provider prices with no markup plus a 5.5% platform fee, published per model in the keyless catalogue (20). llms.txt says some models are billed $0 for tests, but whether a new account can call them without buying credits isn't stated (10). A person signs up in a browser and buys credits through Stripe (0). 0+20+10+0 = 30.",
          "b": "Self-hosted rule. Nothing to buy from Meta, and the licence grants use free of charge. The Model as a Service clause asks for a separate agreement only from licensee groups above $20M gross revenue in 12 months (20). Free to run with no card (20). Meta's own weights need a manually reviewed Hugging Face form with legal name and date of birth, or, since the 4 November re-read of Get the model, a signed-in download from Meta's own page, so an agent can't get them alone. The ungated GGUF quantisations from ggml-org and Unsloth that Meta's docs point to download without approval (the Unsloth repository is ungated on 4 November), so part of the line (10 of 20). No payment protocol (0). Hosted copies at $1.25 input and $4.25 output per million tokens need each provider's own account and are not graded. 20 + 20 + 10 + 0 = 50."
        },
        "scores": {
          "a": 30,
          "b": 50
        }
      },
      {
        "by": 9,
        "category": "reliability",
        "leads": "muse-spark-open",
        "name": "Reliability",
        "reasons": {
          "a": "Router, read on the hosted lines. No status page is linked from the site or docs, and status.edenai.co didn't resolve for us on 6 November 2026 (0). No incident history to read (5). The rate-limits page gives 10 requests a second per account, shared across keys, while the plans page gives 7 a second, raisable to 15, so the figure is documented but inconsistent (10). Fallback retries the next model or provider on a 429 or error inside one request, but no client-facing 429 or Retry-After guidance was found (8). No SLA published; 'Dedicated support \u0026 SLA' is listed only for the custom Advanced plan, and the pricing page's '99.99%' uptime is a claim without a status page behind it (0). The v3 API is GA (10). 0+5+10+8+0+10 = 33.",
          "b": "Read with the local-software lines, since the owner serves the weights. Meta's weights come from two Hugging Face repositories gated with manual review. The docs state Python 3.10 or later, Transformers 5.19 or later, Docker images for SGLang and vLLM and the GPUs for each checkpoint (4 × B300 for NVFP4, 8 × B300 for BF16), but SGLang's image is a dev tag and TensorRT-LLM's support sits on a feature branch (13 of 20). No CI or test suite of Meta's for the model was found. github.com/meta-models answered 403 to our fetcher, so its repositories are unchecked (0 of 25). On 4 November the BF16 repository's discussions page lists 13 open threads from 15 October to 1 November, 10 discussions and 3 pull requests (one a draft). A script counted 29 replies across the seven threads with replies, six discussions and the draft pull request, none from the repository owner or a Meta member, and their text wasn't read, so crash reports weren't separated from other posts (15 of 25, held from 15 October and flagged). No changelog, version tags or revision notes, and the commit history needs gated access (2 of 15). Released as a final checkpoint with no preview label from Meta, and both repositories unchanged since 15 October, though runtime support ships as launch-specific images and a branch, and Groq lists it as a preview (12 of 15). 13 + 0 + 15 + 2 + 12 = 42."
        },
        "scores": {
          "a": 33,
          "b": 42
        }
      },
      {
        "by": 6,
        "category": "ergonomics",
        "leads": "eden-ai",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Router, read on the model lines. Chat completions, Responses and an Anthropic Messages route in the OpenAI shape, with tool calling depending on the routed model (14 of 20) and structured output likewise (10 of 15). Caching is named in the terms as part of the service, without a per-model price table we read (8 of 15). Context depends on the model; the keyless /v3/models catalogue lists capabilities, prices and regions per model so an agent can choose (12 of 15). A Batches API (10 of 10). No SDK of its own; the docs use the OpenAI Python and TypeScript SDKs, and a hosted MCP server exposes about 40 expert-model tools plus upload_file, check_job and list_models (21 of 25). 14+10+8+12+10+21 = 75.",
          "b": "Model reading of the checklist (tool use, structured output, caching, context, throughput, defaults and SDKs, errors). OpenAI-format tools and parallel calls come back as `tool_calls`, and the template supports namespaced tools and deferred loading through a `tool_search` tool. A forced `tool_choice` is not documented (17 of 20). JSON mode and JSON Schema come from each runtime's guided decoding, which Meta's docs show for TensorRT-LLM only (8 of 15). Prefix caching is the runtime's. Meta's SGLang command turns on hierarchical caching, and Dynamo routes each request to the worker holding its cached context (8 of 10). 1,048,576-token context, with sliding-window attention on 46 of 62 layers holding KV memory down (15 of 15). Draft models for speculative decoding in SGLang and vLLM, and no batch mode of its own (7 of 10). Any OpenAI SDK works against a local server, but reasoning can't be turned off, defaults to the most expensive level, and needs streaming, a `max_tokens` budget for reasoning and the right stop tokens (6 of 15). The template raises named errors for an unsupported reasoning effort, tool arguments passed as a string and a tool message with no name. Server errors are the runtime's (8 of 15). 17 + 8 + 8 + 15 + 7 + 6 + 8 = 69."
        },
        "scores": {
          "a": 75,
          "b": 69
        }
      }
    ],
    "facts": [
      {
        "a": "Model router",
        "b": "Model API",
        "name": "Kind"
      },
      {
        "a": "Eden AI SAS",
        "b": "Meta",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.edenai.run/mcp",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Muse Model Licence (source-available weights, not an OSI licence), free of charge with an attribution notice, a separate agreement with Meta before Model as a Service by a licensee group above $20M gross revenue, and the Muse Spark Open Usage Policy",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-05",
        "b": "2026-10-15",
        "name": "Last release"
      },
      {
        "a": "2026-10-22",
        "b": "2026-10-15",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-22",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      }
    ],
    "faq": [
      {
        "answer": "Eden AI scores 59.9 (C) on agent readiness against Muse Spark Open's 53.4 (D), and leads in 4 of 7 scored categories. Muse Spark Open leads on reliability and payments \u0026 pricing.",
        "question": "Which is better for AI agents, Eden AI or Muse Spark Open?"
      },
      {
        "answer": "Eden AI needs an API key. Muse Spark Open needs no key.",
        "question": "Do Eden AI and Muse Spark Open need an API key?"
      },
      {
        "answer": "Eden AI has a hosted endpoint at https://mcp.edenai.run/mcp. No hosted endpoint is listed for Muse Spark Open.",
        "question": "Can an agent call Eden AI and Muse Spark Open without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 81 against 61",
          "Agent ergonomics, 75 against 69",
          "Security \u0026 auth, 82 against 44"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "Teams that want one key and bill for many LLMs plus OCR, speech, translation and web tools, with EU-only processing.",
        "slug": "eden-ai",
        "watchFor": "No public status page, incident history or SLA found"
      },
      {
        "aheadOn": [
          "Reliability, 42 against 33",
          "Payments \u0026 pricing, 50 against 30"
        ],
        "also": [
          "No key needed to call it"
        ],
        "goodFor": "A team with a four-GPU Blackwell node, or two to four Mac Studios, that wants a 1M-token multimodal coding and agent model on its own hardware with no prompts leaving it.",
        "slug": "muse-spark-open",
        "watchFor": "The NVFP4 checkpoint (about 537 GB) serves on four B300 GPUs and the BF16 one (about 1.65 TB) on eight"
      }
    ],
    "history": {
      "eden-ai": null,
      "muse-spark-open": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-30",
          "delta": -0.1,
          "from": 53.5,
          "fromGrade": "D",
          "to": 53.4,
          "toGrade": "D"
        },
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-28",
          "delta": 0,
          "from": 53.5,
          "fromGrade": "D",
          "to": 53.5,
          "toGrade": "D"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 53.4,
          "fromGrade": "D",
          "to": 53.5,
          "toGrade": "D"
        }
      ]
    },
    "job": {
      "capability": "inference.llm",
      "name": "LLM inference"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-bedrock-vs-eden-ai.json",
        "title": "Amazon Bedrock vs Eden AI",
        "url": "https://www.anchorterminal.com/compare/amazon-bedrock-vs-eden-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-bedrock-vs-muse-spark-open.json",
        "title": "Amazon Bedrock vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/amazon-bedrock-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anthropic-api-vs-eden-ai.json",
        "title": "Claude API vs Eden AI",
        "url": "https://www.anchorterminal.com/compare/anthropic-api-vs-eden-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anthropic-api-vs-muse-spark-open.json",
        "title": "Claude API vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/anthropic-api-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antseed-vs-muse-spark-open.json",
        "title": "Antseed vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/antseed-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-eden-ai.json",
        "title": "Azure OpenAI in Foundry Models vs Eden AI",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-eden-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-muse-spark-open.json",
        "title": "Azure OpenAI in Foundry Models vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blockrun-ai-vs-eden-ai.json",
        "title": "BlockRun.AI vs Eden AI",
        "url": "https://www.anchorterminal.com/compare/blockrun-ai-vs-eden-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blockrun-ai-vs-muse-spark-open.json",
        "title": "BlockRun.AI vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/blockrun-ai-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cerebras-inference-vs-eden-ai.json",
        "title": "Cerebras Inference vs Eden AI",
        "url": "https://www.anchorterminal.com/compare/cerebras-inference-vs-eden-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cerebras-inference-vs-muse-spark-open.json",
        "title": "Cerebras Inference vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/cerebras-inference-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-eden-ai.json",
        "title": "Cloudflare AI Gateway vs Eden AI",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-eden-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-muse-spark-open.json",
        "title": "Cloudflare AI Gateway vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-eden-ai.json",
        "title": "Cloudflare Workers AI vs Eden AI",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-eden-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-muse-spark-open.json",
        "title": "Cloudflare Workers AI vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cohere-chat-vs-eden-ai.json",
        "title": "Cohere Chat API (Command models) vs Eden AI",
        "url": "https://www.anchorterminal.com/compare/cohere-chat-vs-eden-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cohere-chat-vs-muse-spark-open.json",
        "title": "Cohere Chat API (Command models) vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/cohere-chat-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepinfra-vs-eden-ai.json",
        "title": "DeepInfra vs Eden AI",
        "url": "https://www.anchorterminal.com/compare/deepinfra-vs-eden-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepinfra-vs-muse-spark-open.json",
        "title": "DeepInfra vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/deepinfra-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-api-vs-eden-ai.json",
        "title": "DeepSeek API vs Eden AI",
        "url": "https://www.anchorterminal.com/compare/deepseek-api-vs-eden-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-api-vs-muse-spark-open.json",
        "title": "DeepSeek API vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/deepseek-api-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-elorian-glimpse.json",
        "title": "Eden AI vs Glimpse",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-elorian-glimpse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-fireworks-inference.json",
        "title": "Eden AI vs Fireworks AI Inference",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-fireworks-inference"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-gemini-api.json",
        "title": "Eden AI vs Gemini Developer API",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-gemini-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-groq.json",
        "title": "Eden AI vs GroqCloud",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-groq"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-inkling-2-small.json",
        "title": "Eden AI vs Inkling 2 Small",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-inkling-2-small"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-jais-3.json",
        "title": "Eden AI vs Jais 3",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-jais-3"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-meta-model-api.json",
        "title": "Eden AI vs Meta Model API",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-meta-model-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-minimax-api.json",
        "title": "Eden AI vs MiniMax API",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-minimax-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-mistral-api.json",
        "title": "Eden AI vs Mistral AI API",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-mistral-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-nemotron-3-5-super-vl.json",
        "title": "Eden AI vs Nemotron 3.5 Super VL",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-nemotron-3-5-super-vl"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-novita-ai.json",
        "title": "Eden AI vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-openai-api.json",
        "title": "Eden AI vs OpenAI API",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-openai-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-prism-inference.json",
        "title": "Eden AI vs Prism Inference",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-prism-inference"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-reflection-beam.json",
        "title": "Eden AI vs Beam 1.0",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-reflection-beam"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-sambanova.json",
        "title": "Eden AI vs SambaCloud",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-sambanova"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-siliconflow.json",
        "title": "Eden AI vs SiliconFlow",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-siliconflow"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-simplismart.json",
        "title": "Eden AI vs Simplismart",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-simplismart"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-stepfun-api.json",
        "title": "Eden AI vs StepFun API",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-stepfun-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-swe-2-flash.json",
        "title": "Eden AI vs SWE-2 Flash",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-swe-2-flash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-together-inference.json",
        "title": "Eden AI vs Together AI Inference",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-together-inference"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-vertex-ai.json",
        "title": "Eden AI vs Vertex AI (Gemini Enterprise Agent Platform)",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-vertex-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-xai-api.json",
        "title": "Eden AI vs xAI API (Grok)",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-xai-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elorian-glimpse-vs-muse-spark-open.json",
        "title": "Glimpse vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/elorian-glimpse-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fireworks-inference-vs-muse-spark-open.json",
        "title": "Fireworks AI Inference vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/fireworks-inference-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-api-vs-muse-spark-open.json",
        "title": "Gemini Developer API vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/gemini-api-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groq-vs-muse-spark-open.json",
        "title": "GroqCloud vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/groq-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hugging-face-inference-providers-vs-muse-spark-open.json",
        "title": "Hugging Face Inference Providers vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/hugging-face-inference-providers-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inkling-2-small-vs-muse-spark-open.json",
        "title": "Inkling 2 Small vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/inkling-2-small-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jais-3-vs-muse-spark-open.json",
        "title": "Jais 3 vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/jais-3-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meta-model-api-vs-muse-spark-open.json",
        "title": "Meta Model API vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/meta-model-api-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-api-vs-muse-spark-open.json",
        "title": "MiniMax API vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/minimax-api-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-api-vs-muse-spark-open.json",
        "title": "Mistral AI API vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/mistral-api-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-spark-open-vs-nemotron-3-5-super-vl.json",
        "title": "Muse Spark Open vs Nemotron 3.5 Super VL",
        "url": "https://www.anchorterminal.com/compare/muse-spark-open-vs-nemotron-3-5-super-vl"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-spark-open-vs-novita-ai.json",
        "title": "Muse Spark Open vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/muse-spark-open-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-spark-open-vs-openai-api.json",
        "title": "Muse Spark Open vs OpenAI API",
        "url": "https://www.anchorterminal.com/compare/muse-spark-open-vs-openai-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-spark-open-vs-openrouter.json",
        "title": "Muse Spark Open vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/muse-spark-open-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-spark-open-vs-prism-inference.json",
        "title": "Muse Spark Open vs Prism Inference",
        "url": "https://www.anchorterminal.com/compare/muse-spark-open-vs-prism-inference"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-spark-open-vs-ramp-router.json",
        "title": "Muse Spark Open vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/muse-spark-open-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-spark-open-vs-reflection-beam.json",
        "title": "Muse Spark Open vs Beam 1.0",
        "url": "https://www.anchorterminal.com/compare/muse-spark-open-vs-reflection-beam"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-spark-open-vs-routerplus.json",
        "title": "Muse Spark Open vs RouterPlus",
        "url": "https://www.anchorterminal.com/compare/muse-spark-open-vs-routerplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-spark-open-vs-sambanova.json",
        "title": "Muse Spark Open vs SambaCloud",
        "url": "https://www.anchorterminal.com/compare/muse-spark-open-vs-sambanova"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-spark-open-vs-siliconflow.json",
        "title": "Muse Spark Open vs SiliconFlow",
        "url": "https://www.anchorterminal.com/compare/muse-spark-open-vs-siliconflow"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-spark-open-vs-simplismart.json",
        "title": "Muse Spark Open vs Simplismart",
        "url": "https://www.anchorterminal.com/compare/muse-spark-open-vs-simplismart"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-spark-open-vs-stepfun-api.json",
        "title": "Muse Spark Open vs StepFun API",
        "url": "https://www.anchorterminal.com/compare/muse-spark-open-vs-stepfun-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-spark-open-vs-swe-2-flash.json",
        "title": "Muse Spark Open vs SWE-2 Flash",
        "url": "https://www.anchorterminal.com/compare/muse-spark-open-vs-swe-2-flash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-spark-open-vs-tencent-tokenhub.json",
        "title": "Muse Spark Open vs Tencent Cloud TokenHub",
        "url": "https://www.anchorterminal.com/compare/muse-spark-open-vs-tencent-tokenhub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-spark-open-vs-together-inference.json",
        "title": "Muse Spark Open vs Together AI Inference",
        "url": "https://www.anchorterminal.com/compare/muse-spark-open-vs-together-inference"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-spark-open-vs-vercel-ai-gateway.json",
        "title": "Muse Spark Open vs Vercel AI Gateway",
        "url": "https://www.anchorterminal.com/compare/muse-spark-open-vs-vercel-ai-gateway"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-spark-open-vs-vertex-ai.json",
        "title": "Muse Spark Open vs Vertex AI (Gemini Enterprise Agent Platform)",
        "url": "https://www.anchorterminal.com/compare/muse-spark-open-vs-vertex-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-spark-open-vs-xai-api.json",
        "title": "Muse Spark Open vs xAI API (Grok)",
        "url": "https://www.anchorterminal.com/compare/muse-spark-open-vs-xai-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antseed-vs-eden-ai.json",
        "title": "Antseed vs Eden AI",
        "url": "https://www.anchorterminal.com/compare/antseed-vs-eden-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-hugging-face-inference-providers.json",
        "title": "Eden AI vs Hugging Face Inference Providers",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-hugging-face-inference-providers"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-litellm.json",
        "title": "Eden AI vs LiteLLM",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-litellm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-openrouter.json",
        "title": "Eden AI vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-ramp-router.json",
        "title": "Eden AI vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-routerplus.json",
        "title": "Eden AI vs RouterPlus",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-routerplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-tencent-tokenhub.json",
        "title": "Eden AI vs Tencent Cloud TokenHub",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-tencent-tokenhub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-vercel-ai-gateway.json",
        "title": "Eden AI vs Vercel AI Gateway",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-vercel-ai-gateway"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 9,
        "eden-ai": 33,
        "edge": "muse-spark-open",
        "key": "reliability",
        "muse-spark-open": 42,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 20,
        "eden-ai": 81,
        "edge": "eden-ai",
        "key": "schema",
        "muse-spark-open": 61,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 6,
        "eden-ai": 75,
        "edge": "eden-ai",
        "key": "ergonomics",
        "muse-spark-open": 69,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 38,
        "eden-ai": 82,
        "edge": "eden-ai",
        "key": "security",
        "muse-spark-open": 44,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 20,
        "eden-ai": 30,
        "edge": "muse-spark-open",
        "key": "payments",
        "muse-spark-open": 50,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "eden-ai": 58,
        "edge": "muse-spark-open",
        "key": "maintenance",
        "muse-spark-open": 60,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 2,
        "eden-ai": 55,
        "edge": "eden-ai",
        "key": "transparency",
        "muse-spark-open": 53,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Eden AI scores 59.9 (C) on agent readiness against Muse Spark Open's 53.4 (D), and leads in 4 of 7 scored categories. Muse Spark Open leads on reliability and payments \u0026 pricing. Both do llm inference.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "eden-ai": "Eden AI gives one OpenAI-compatible key to about 1,000 models and expert models such as OCR, speech and translation, with an EU-only endpoint, per-key guardrails and no stored content by default. No status page, SLA or changelog was found, and its own pages disagree on the default rate limit.",
      "muse-spark-open": "Muse Spark Open runs on the owner's hardware in seven runtimes, with OpenAI-compatible servers in vLLM and SGLang, standard tool calls, a 1M-token context and Meta's own serving docs. Serving the 537 GB NVFP4 checkpoint takes four B300 GPUs, Meta's download is gated by manual review, and the licence adds attribution and a revenue threshold for model resellers."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/eden-ai-vs-muse-spark-open",
    "json": "https://www.anchorterminal.com/compare/eden-ai-vs-muse-spark-open.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/eden-ai-vs-muse-spark-open.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/eden-ai-vs-muse-spark-open.min.md"
  },
  "markdown": "Eden AI scores 59.9 (C) on agent readiness against Muse Spark Open's 53.4 (D), and leads in 4 of 7 scored categories. Muse Spark Open leads on reliability and payments \u0026 pricing. Both do llm inference.\n\n- Eden AI: grade C, 59.9/100, rank #675 of 1510. Markdown https://www.anchorterminal.com/tools/eden-ai.md · JSON https://www.anchorterminal.com/api/v1/tools/eden-ai.json\n- Muse Spark Open: grade D, 53.4/100, rank #950 of 1510. Markdown https://www.anchorterminal.com/tools/muse-spark-open.md · JSON https://www.anchorterminal.com/api/v1/tools/muse-spark-open.json\n- Best model APIs and inference for AI agents: https://www.anchorterminal.com/best/inference/index.md\n- All 830 models comparisons: https://www.anchorterminal.com/compare/inference/index.md\n\n## Which one, for what\n\n### Eden AI (C)\n\nGood for: Teams that want one key and bill for many LLMs plus OCR, speech, translation and web tools, with EU-only processing.\n\nAhead on:\n- Schema \u0026 documentation, 81 against 61\n- Agent ergonomics, 75 against 69\n- Security \u0026 auth, 82 against 44\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: No public status page, incident history or SLA found\n\n### Muse Spark Open (D)\n\nGood for: A team with a four-GPU Blackwell node, or two to four Mac Studios, that wants a 1M-token multimodal coding and agent model on its own hardware with no prompts leaving it.\n\nAhead on:\n- Reliability, 42 against 33\n- Payments \u0026 pricing, 50 against 30\n\nAlso in its favour:\n- No key needed to call it\n\nWatch for: The NVFP4 checkpoint (about 537 GB) serves on four B300 GPUs and the BF16 one (about 1.65 TB) on eight\n\n\n## Why the edge\n\n### Security \u0026 auth: Eden AI +38\n\n- Eden AI (82): Router, read on the model lines. Bearer keys with per-key budgets, expiry and attribution, a key management API, and deny-by-default guardrails that limit models per member, role or key (25). The data retention page says request and response content isn't stored and data isn't used to train models by default (18). Content logging is opt-in, async results are deleted after 7 days, and an organisation can enforce Zero Data Retention and region rules; the EU endpoint refuses non-EU models with 451 (13). Cost and provider per response, and a monitoring dashboard by key (12). The security page says Eden AI is SOC 2 and ISO 27001 certified and links a trust centre; /.well-known/security.txt returns 404 and no disclosure policy was found (14). 25+18+13+12+14 = 82.\n- Muse Spark Open (44): Read as software the owner runs. No account or key to run it. Meta's weights need manual approval on Hugging Face and an access token, and server authentication is the owner's to add (12 of 30). An agent model that calls whatever tools the operator gives it. The card recommends human-in-the-loop confirmation for irreversible actions and Meta reports agentic-risk evaluations, but nothing in the model or template enforces an approval (8 of 20). The chat template neutralises special-token sequences and media placeholders in caller text and wraps tool results in `\u003ctool_output\u003e`, and the card advises protecting internal assistant messages and layering defences against adversarial input. No indirect prompt-injection results are published (10 of 15). No call log of its own. Visibility depends on the serving stack (5 of 15). Weights are safetensors that load through Transformers' own classes from 5.19, and Meta published cyber, chemical, biological and misalignment evaluations. dev.meta.ai/.well-known/security.txt answers 404 (re-read on 4 November), research.meta.ai per the 15 October check, and no security route is on the card or in the docs, only museoss@meta.com and the Hugging Face discussions (9 of 20). 12 + 8 + 10 + 5 + 9 = 44.\n\n### Schema \u0026 documentation: Eden AI +20\n\n- Eden AI (81): Router, scored on the API lines. OpenAPI 3.1 document for v3 (version 3.0.0, 46 paths) at api.edenai.run/v3/docs/openapi.json, plus a management API spec (25). llms.txt on the site and in the docs, llms-full.txt and Markdown pages (10). llms.txt states when to use Eden AI and when not to, and the docs separate chat models from expert models (17). Requests follow the OpenAI shape, and expert-model tools on the MCP server carry JSON Schema inputs (12). Examples throughout, but the spec documents only 200, 201, 202, 302 and 422, while llms.txt names 401 and 451 for region refusals (10). Versioned /v3 path, but no public changelog was found (7). 25+10+17+12+10+7 = 81.\n- Muse Spark Open (61): Read for a model the owner serves. No specification of its own. The contract is the Jinja chat template, which renders OpenAI-format tools with `additionalProperties: false` added and rejects bad values, plus the OpenAI-compatible servers in vLLM and SGLang with the `muse` parsers (10 of 25). dev.meta.ai/llms.txt lists the Muse Spark Open overview and seven pages under it, plus three cookbook pages, each with a Markdown copy (10). The card lists seven intended uses and six limitations, the docs say when to pick BF16 or NVFP4 and which reasoning strength suits which task, and the Usage Policy states what is out of scope (17 of 20). `reasoning_effort` is an enum of four values and anything else returns an error, and tools take JSON Schema. Structured output is documented only for TensorRT-LLM's `response_format`, not in the prompting guide or for vLLM and SGLang (11 of 15). curl and Python examples for every runtime and hosted provider, the rendered prompt for each case, and the template's own error messages, but no error reference for a served model (11 of 15). One release, with no changelog or version scheme beyond the licence's version line, Muse Spark Open (2 of 15). 10 + 10 + 17 + 11 + 11 + 2 = 61.\n\n### Payments \u0026 pricing: Muse Spark Open +20\n\n- Eden AI (30): No x402, MPP or L402 (0). Provider prices with no markup plus a 5.5% platform fee, published per model in the keyless catalogue (20). llms.txt says some models are billed $0 for tests, but whether a new account can call them without buying credits isn't stated (10). A person signs up in a browser and buys credits through Stripe (0). 0+20+10+0 = 30.\n- Muse Spark Open (50): Self-hosted rule. Nothing to buy from Meta, and the licence grants use free of charge. The Model as a Service clause asks for a separate agreement only from licensee groups above $20M gross revenue in 12 months (20). Free to run with no card (20). Meta's own weights need a manually reviewed Hugging Face form with legal name and date of birth, or, since the 4 November re-read of Get the model, a signed-in download from Meta's own page, so an agent can't get them alone. The ungated GGUF quantisations from ggml-org and Unsloth that Meta's docs point to download without approval (the Unsloth repository is ungated on 4 November), so part of the line (10 of 20). No payment protocol (0). Hosted copies at $1.25 input and $4.25 output per million tokens need each provider's own account and are not graded. 20 + 20 + 10 + 0 = 50.\n\n### Reliability: Muse Spark Open +9\n\n- Eden AI (33): Router, read on the hosted lines. No status page is linked from the site or docs, and status.edenai.co didn't resolve for us on 6 November 2026 (0). No incident history to read (5). The rate-limits page gives 10 requests a second per account, shared across keys, while the plans page gives 7 a second, raisable to 15, so the figure is documented but inconsistent (10). Fallback retries the next model or provider on a 429 or error inside one request, but no client-facing 429 or Retry-After guidance was found (8). No SLA published; 'Dedicated support \u0026 SLA' is listed only for the custom Advanced plan, and the pricing page's '99.99%' uptime is a claim without a status page behind it (0). The v3 API is GA (10). 0+5+10+8+0+10 = 33.\n- Muse Spark Open (42): Read with the local-software lines, since the owner serves the weights. Meta's weights come from two Hugging Face repositories gated with manual review. The docs state Python 3.10 or later, Transformers 5.19 or later, Docker images for SGLang and vLLM and the GPUs for each checkpoint (4 × B300 for NVFP4, 8 × B300 for BF16), but SGLang's image is a dev tag and TensorRT-LLM's support sits on a feature branch (13 of 20). No CI or test suite of Meta's for the model was found. github.com/meta-models answered 403 to our fetcher, so its repositories are unchecked (0 of 25). On 4 November the BF16 repository's discussions page lists 13 open threads from 15 October to 1 November, 10 discussions and 3 pull requests (one a draft). A script counted 29 replies across the seven threads with replies, six discussions and the draft pull request, none from the repository owner or a Meta member, and their text wasn't read, so crash reports weren't separated from other posts (15 of 25, held from 15 October and flagged). No changelog, version tags or revision notes, and the commit history needs gated access (2 of 15). Released as a final checkpoint with no preview label from Meta, and both repositories unchanged since 15 October, though runtime support ships as launch-specific images and a branch, and Groq lists it as a preview (12 of 15). 13 + 0 + 15 + 2 + 12 = 42.\n\n### Agent ergonomics: Eden AI +6\n\n- Eden AI (75): Router, read on the model lines. Chat completions, Responses and an Anthropic Messages route in the OpenAI shape, with tool calling depending on the routed model (14 of 20) and structured output likewise (10 of 15). Caching is named in the terms as part of the service, without a per-model price table we read (8 of 15). Context depends on the model; the keyless /v3/models catalogue lists capabilities, prices and regions per model so an agent can choose (12 of 15). A Batches API (10 of 10). No SDK of its own; the docs use the OpenAI Python and TypeScript SDKs, and a hosted MCP server exposes about 40 expert-model tools plus upload_file, check_job and list_models (21 of 25). 14+10+8+12+10+21 = 75.\n- Muse Spark Open (69): Model reading of the checklist (tool use, structured output, caching, context, throughput, defaults and SDKs, errors). OpenAI-format tools and parallel calls come back as `tool_calls`, and the template supports namespaced tools and deferred loading through a `tool_search` tool. A forced `tool_choice` is not documented (17 of 20). JSON mode and JSON Schema come from each runtime's guided decoding, which Meta's docs show for TensorRT-LLM only (8 of 15). Prefix caching is the runtime's. Meta's SGLang command turns on hierarchical caching, and Dynamo routes each request to the worker holding its cached context (8 of 10). 1,048,576-token context, with sliding-window attention on 46 of 62 layers holding KV memory down (15 of 15). Draft models for speculative decoding in SGLang and vLLM, and no batch mode of its own (7 of 10). Any OpenAI SDK works against a local server, but reasoning can't be turned off, defaults to the most expensive level, and needs streaming, a `max_tokens` budget for reasoning and the right stop tokens (6 of 15). The template raises named errors for an unsupported reasoning effort, tool arguments passed as a string and a tool message with no name. Server errors are the runtime's (8 of 15). 17 + 8 + 8 + 15 + 7 + 6 + 8 = 69.\n\n## Score by category\n\n| Category | Weight | Eden AI | Muse Spark Open | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 33 | 42 | Muse Spark Open +9 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 81 | 61 | Eden AI +20 |\n| Agent ergonomics | 13% (16.2 this run) | 75 | 69 | Eden AI +6 |\n| Security \u0026 auth | 14% (17.5 this run) | 82 | 44 | Eden AI +38 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 50 | Muse Spark Open +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 58 | 60 | Muse Spark Open +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 55 | 53 | Eden AI +2 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **59.9 · C** | **53.4 · D** | |\n\n## Facts side by side\n\n| Fact | Eden AI | Muse Spark Open |\n| --- | --- | --- |\n| Kind | Model router | Model API |\n| Vendor | Eden AI SAS | Meta |\n| Hosted endpoint | `https://mcp.edenai.run/mcp` | no (local only) |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | API key | None |\n| Pricing | Pay per use | Free |\n| x402 | no | no |\n| Licence | none | Muse Model Licence (source-available weights, not an OSI licence), free of charge with an attribution notice, a separate agreement with Meta before Model as a Service by a licensee group above $20M gross revenue, and the Muse Spark Open Usage Policy |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-11-05 | 2026-10-15 |\n| Terms last updated | 2026-10-22 | 2026-10-15 |\n| Privacy policy last updated | 2026-10-22 | no document linked |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n\n## How the scores have moved\n\n### Eden AI\n\nNo score change since it was listed.\n\n### Muse Spark Open\n\n- -0.1 on 30 October 2026: checklist\n- no change on 28 October 2026: new evidence\n- +0.1 on 27 October 2026: checklist\n\n## Verdicts\n\n**Eden AI.** Eden AI gives one OpenAI-compatible key to about 1,000 models and expert models such as OCR, speech and translation, with an EU-only endpoint, per-key guardrails and no stored content by default. No status page, SLA or changelog was found, and its own pages disagree on the default rate limit.\n\n**Muse Spark Open.** Muse Spark Open runs on the owner's hardware in seven runtimes, with OpenAI-compatible servers in vLLM and SGLang, standard tool calls, a 1M-token context and Meta's own serving docs. Serving the 537 GB NVFP4 checkpoint takes four B300 GPUs, Meta's download is gated by manual review, and the licence adds attribution and a revenue threshold for model resellers.\n\n## Before you call either\n\n### Eden AI\n\n1. Read GET https://api.edenai.run/v3/models at run time for model ids, prices and regions instead of hard-coding them\n2. Use https://api.eu.edenai.run/v3 when data must stay in the EU, and pick another model on a 451 region_not_allowed\n3. Set max_tokens to 500 or more for reasoning models, or the answer can come back empty\n4. Pass a fallbacks list so a provider 429 or error retries inside one request\n5. Poll check_job for MCP tools marked long-running instead of calling them again\n\n### Muse Spark Open\n\n1. Start vLLM or SGLang with `--reasoning-parser muse --tool-call-parser muse` (vLLM also `--enable-auto-tool-choice`), or tool calls come back as raw text\n2. Set `reasoning_effort` to `low` or `medium` for short tasks. The default is `xhigh`, reasoning can't be turned off, and other values return an error\n3. Stop only on `\u003c|eot|\u003e` and end of text. Stopping on `\u003c|eom|\u003e` cuts off tool calls and final answers\n4. Stream long generations and leave `max_tokens` room for reasoning, or `content` can come back empty with `finish_reason` `length`\n5. Don't call Meta Model API for this model. Use a self-hosted server or a hosted provider's model string, such as `meta-models/muse-spark-open`\n\n## Questions\n\n### Which is better for AI agents, Eden AI or Muse Spark Open?\n\nEden AI scores 59.9 (C) on agent readiness against Muse Spark Open's 53.4 (D), and leads in 4 of 7 scored categories. Muse Spark Open leads on reliability and payments \u0026 pricing.\n\n### Do Eden AI and Muse Spark Open need an API key?\n\nEden AI needs an API key. Muse Spark Open needs no key.\n\n### Can an agent call Eden AI and Muse Spark Open without installing anything?\n\nEden AI has a hosted endpoint at https://mcp.edenai.run/mcp. No hosted endpoint is listed for Muse Spark Open.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/eden-ai-vs-muse-spark-open.json, and with the fewest tokens: https://www.anchorterminal.com/compare/eden-ai-vs-muse-spark-open.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"eden-ai\", \"b\": \"muse-spark-open\"}`. From a terminal: `anchor compare eden-ai muse-spark-open`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/eden-ai.json and https://www.anchorterminal.com/api/v1/tools/muse-spark-open.json\n\n## Other comparisons with Eden AI or Muse Spark Open\n\n- [Amazon Bedrock vs Eden AI](https://www.anchorterminal.com/compare/amazon-bedrock-vs-eden-ai.md)\n- [Amazon Bedrock vs Muse Spark Open](https://www.anchorterminal.com/compare/amazon-bedrock-vs-muse-spark-open.md)\n- [Claude API vs Eden AI](https://www.anchorterminal.com/compare/anthropic-api-vs-eden-ai.md)\n- [Claude API vs Muse Spark Open](https://www.anchorterminal.com/compare/anthropic-api-vs-muse-spark-open.md)\n- [Antseed vs Muse Spark Open](https://www.anchorterminal.com/compare/antseed-vs-muse-spark-open.md)\n- [Azure OpenAI in Foundry Models vs Eden AI](https://www.anchorterminal.com/compare/azure-openai-vs-eden-ai.md)\n- [Azure OpenAI in Foundry Models vs Muse Spark Open](https://www.anchorterminal.com/compare/azure-openai-vs-muse-spark-open.md)\n- [BlockRun.AI vs Eden AI](https://www.anchorterminal.com/compare/blockrun-ai-vs-eden-ai.md)\n- [BlockRun.AI vs Muse Spark Open](https://www.anchorterminal.com/compare/blockrun-ai-vs-muse-spark-open.md)\n- [Cerebras Inference vs Eden AI](https://www.anchorterminal.com/compare/cerebras-inference-vs-eden-ai.md)\n- [Cerebras Inference vs Muse Spark Open](https://www.anchorterminal.com/compare/cerebras-inference-vs-muse-spark-open.md)\n- [Cloudflare AI Gateway vs Eden AI](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-eden-ai.md)\n- [Cloudflare AI Gateway vs Muse Spark Open](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-muse-spark-open.md)\n- [Cloudflare Workers AI vs Eden AI](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-eden-ai.md)\n- [Cloudflare Workers AI vs Muse Spark Open](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-muse-spark-open.md)\n- [Cohere Chat API (Command models) vs Eden AI](https://www.anchorterminal.com/compare/cohere-chat-vs-eden-ai.md)\n- [Cohere Chat API (Command models) vs Muse Spark Open](https://www.anchorterminal.com/compare/cohere-chat-vs-muse-spark-open.md)\n- [DeepInfra vs Eden AI](https://www.anchorterminal.com/compare/deepinfra-vs-eden-ai.md)\n- [DeepInfra vs Muse Spark Open](https://www.anchorterminal.com/compare/deepinfra-vs-muse-spark-open.md)\n- [DeepSeek API vs Eden AI](https://www.anchorterminal.com/compare/deepseek-api-vs-eden-ai.md)\n- [DeepSeek API vs Muse Spark Open](https://www.anchorterminal.com/compare/deepseek-api-vs-muse-spark-open.md)\n- [Eden AI vs Glimpse](https://www.anchorterminal.com/compare/eden-ai-vs-elorian-glimpse.md)\n- [Eden AI vs Fireworks AI Inference](https://www.anchorterminal.com/compare/eden-ai-vs-fireworks-inference.md)\n- [Eden AI vs Gemini Developer API](https://www.anchorterminal.com/compare/eden-ai-vs-gemini-api.md)\n- [Eden AI vs GroqCloud](https://www.anchorterminal.com/compare/eden-ai-vs-groq.md)\n- [Eden AI vs Inkling 2 Small](https://www.anchorterminal.com/compare/eden-ai-vs-inkling-2-small.md)\n- [Eden AI vs Jais 3](https://www.anchorterminal.com/compare/eden-ai-vs-jais-3.md)\n- [Eden AI vs Meta Model API](https://www.anchorterminal.com/compare/eden-ai-vs-meta-model-api.md)\n- [Eden AI vs MiniMax API](https://www.anchorterminal.com/compare/eden-ai-vs-minimax-api.md)\n- [Eden AI vs Mistral AI API](https://www.anchorterminal.com/compare/eden-ai-vs-mistral-api.md)\n- [Eden AI vs Nemotron 3.5 Super VL](https://www.anchorterminal.com/compare/eden-ai-vs-nemotron-3-5-super-vl.md)\n- [Eden AI vs Novita AI](https://www.anchorterminal.com/compare/eden-ai-vs-novita-ai.md)\n- [Eden AI vs OpenAI API](https://www.anchorterminal.com/compare/eden-ai-vs-openai-api.md)\n- [Eden AI vs Prism Inference](https://www.anchorterminal.com/compare/eden-ai-vs-prism-inference.md)\n- [Eden AI vs Beam 1.0](https://www.anchorterminal.com/compare/eden-ai-vs-reflection-beam.md)\n- [Eden AI vs SambaCloud](https://www.anchorterminal.com/compare/eden-ai-vs-sambanova.md)\n- [Eden AI vs SiliconFlow](https://www.anchorterminal.com/compare/eden-ai-vs-siliconflow.md)\n- [Eden AI vs Simplismart](https://www.anchorterminal.com/compare/eden-ai-vs-simplismart.md)\n- [Eden AI vs StepFun API](https://www.anchorterminal.com/compare/eden-ai-vs-stepfun-api.md)\n- [Eden AI vs SWE-2 Flash](https://www.anchorterminal.com/compare/eden-ai-vs-swe-2-flash.md)\n- [Eden AI vs Together AI Inference](https://www.anchorterminal.com/compare/eden-ai-vs-together-inference.md)\n- [Eden AI vs Vertex AI (Gemini Enterprise Agent Platform)](https://www.anchorterminal.com/compare/eden-ai-vs-vertex-ai.md)\n- [Eden AI vs xAI API (Grok)](https://www.anchorterminal.com/compare/eden-ai-vs-xai-api.md)\n- [Glimpse vs Muse Spark Open](https://www.anchorterminal.com/compare/elorian-glimpse-vs-muse-spark-open.md)\n- [Fireworks AI Inference vs Muse Spark Open](https://www.anchorterminal.com/compare/fireworks-inference-vs-muse-spark-open.md)\n- [Gemini Developer API vs Muse Spark Open](https://www.anchorterminal.com/compare/gemini-api-vs-muse-spark-open.md)\n- [GroqCloud vs Muse Spark Open](https://www.anchorterminal.com/compare/groq-vs-muse-spark-open.md)\n- [Hugging Face Inference Providers vs Muse Spark Open](https://www.anchorterminal.com/compare/hugging-face-inference-providers-vs-muse-spark-open.md)\n- [Inkling 2 Small vs Muse Spark Open](https://www.anchorterminal.com/compare/inkling-2-small-vs-muse-spark-open.md)\n- [Jais 3 vs Muse Spark Open](https://www.anchorterminal.com/compare/jais-3-vs-muse-spark-open.md)\n- [Meta Model API vs Muse Spark Open](https://www.anchorterminal.com/compare/meta-model-api-vs-muse-spark-open.md)\n- [MiniMax API vs Muse Spark Open](https://www.anchorterminal.com/compare/minimax-api-vs-muse-spark-open.md)\n- [Mistral AI API vs Muse Spark Open](https://www.anchorterminal.com/compare/mistral-api-vs-muse-spark-open.md)\n- [Muse Spark Open vs Nemotron 3.5 Super VL](https://www.anchorterminal.com/compare/muse-spark-open-vs-nemotron-3-5-super-vl.md)\n- [Muse Spark Open vs Novita AI](https://www.anchorterminal.com/compare/muse-spark-open-vs-novita-ai.md)\n- [Muse Spark Open vs OpenAI API](https://www.anchorterminal.com/compare/muse-spark-open-vs-openai-api.md)\n- [Muse Spark Open vs OpenRouter](https://www.anchorterminal.com/compare/muse-spark-open-vs-openrouter.md)\n- [Muse Spark Open vs Prism Inference](https://www.anchorterminal.com/compare/muse-spark-open-vs-prism-inference.md)\n- [Muse Spark Open vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/muse-spark-open-vs-ramp-router.md)\n- [Muse Spark Open vs Beam 1.0](https://www.anchorterminal.com/compare/muse-spark-open-vs-reflection-beam.md)\n- [Muse Spark Open vs RouterPlus](https://www.anchorterminal.com/compare/muse-spark-open-vs-routerplus.md)\n- [Muse Spark Open vs SambaCloud](https://www.anchorterminal.com/compare/muse-spark-open-vs-sambanova.md)\n- [Muse Spark Open vs SiliconFlow](https://www.anchorterminal.com/compare/muse-spark-open-vs-siliconflow.md)\n- [Muse Spark Open vs Simplismart](https://www.anchorterminal.com/compare/muse-spark-open-vs-simplismart.md)\n- [Muse Spark Open vs StepFun API](https://www.anchorterminal.com/compare/muse-spark-open-vs-stepfun-api.md)\n- [Muse Spark Open vs SWE-2 Flash](https://www.anchorterminal.com/compare/muse-spark-open-vs-swe-2-flash.md)\n- [Muse Spark Open vs Tencent Cloud TokenHub](https://www.anchorterminal.com/compare/muse-spark-open-vs-tencent-tokenhub.md)\n- [Muse Spark Open vs Together AI Inference](https://www.anchorterminal.com/compare/muse-spark-open-vs-together-inference.md)\n- [Muse Spark Open vs Vercel AI Gateway](https://www.anchorterminal.com/compare/muse-spark-open-vs-vercel-ai-gateway.md)\n- [Muse Spark Open vs Vertex AI (Gemini Enterprise Agent Platform)](https://www.anchorterminal.com/compare/muse-spark-open-vs-vertex-ai.md)\n- [Muse Spark Open vs xAI API (Grok)](https://www.anchorterminal.com/compare/muse-spark-open-vs-xai-api.md)\n- [Antseed vs Eden AI](https://www.anchorterminal.com/compare/antseed-vs-eden-ai.md)\n- [Eden AI vs Hugging Face Inference Providers](https://www.anchorterminal.com/compare/eden-ai-vs-hugging-face-inference-providers.md)\n- [Eden AI vs LiteLLM](https://www.anchorterminal.com/compare/eden-ai-vs-litellm.md)\n- [Eden AI vs OpenRouter](https://www.anchorterminal.com/compare/eden-ai-vs-openrouter.md)\n- [Eden AI vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/eden-ai-vs-ramp-router.md)\n- [Eden AI vs RouterPlus](https://www.anchorterminal.com/compare/eden-ai-vs-routerplus.md)\n- [Eden AI vs Tencent Cloud TokenHub](https://www.anchorterminal.com/compare/eden-ai-vs-tencent-tokenhub.md)\n- [Eden AI vs Vercel AI Gateway](https://www.anchorterminal.com/compare/eden-ai-vs-vercel-ai-gateway.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Eden AI vs Muse Spark Open",
        "url": ""
      }
    ],
    "description": "Eden AI scores 59.9 (C) to Muse Spark Open's 53.4 (D) for llm inference. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Eden AI C 59.9",
      "Muse Spark Open D 53.4",
      "scores"
    ],
    "h1": "Eden AI vs Muse Spark Open",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/eden-ai-vs-muse-spark-open",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Eden AI vs Muse Spark Open for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/eden-ai-vs-muse-spark-open"
  },
  "tokens": {
    "markdown": 6450,
    "slim": 3030
  },
  "version": 1
}
