{
  "data": {
    "a": {
      "slug": "framefields",
      "name": "framefields",
      "vendor": "Gatewai",
      "vendorUrl": "https://framefields.dev",
      "kind": "sdk",
      "category": "video-generation",
      "summary": "framefields is an open-source TypeScript library that renders motion graphics, text, charts, 3D and audio to MP4 on the GPU through WebGPU in Node.js. Coding agents write the composition as code, with skills for Claude Code and other agents.",
      "url": "https://www.anchorterminal.com/tools/framefields",
      "markdownUrl": "https://www.anchorterminal.com/tools/framefields.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/framefields.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/framefields.json",
      "repo": "https://github.com/gatewai-dev/framefields",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "framefields"
        }
      ],
      "auth": "none",
      "authNotes": "No account or key for the npm library, which runs on the owner's machine. The optional self-hosted renderer worker takes jobs over HTTP with one bearer key (`RENDERER_API_KEY`), a required repository allowlist (`FF_REPO_ALLOWLIST`) and a git token for private repositories, all set by the owner.",
      "pricing": "free",
      "pricingNotes": "Free under Apache-2.0, with nothing to buy from Gatewai. The owner pays for any GPU host that runs the self-hosted renderer worker (a Docker container on an NVIDIA host, a RunPod pod or RunPod serverless).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the llms.txt files or the repository source (checked 2026-10-20). There is nothing to pay Gatewai for.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 445,
        "npmWeekly": 1102,
        "pypiWeekly": null,
        "asOf": "2026-10-20"
      },
      "docsUrl": "https://framefields.dev/docs/",
      "llmsTxt": "https://framefields.dev/llms.txt",
      "capabilities": [
        "video.generate",
        "video.render",
        "video.edit",
        "video.audio"
      ],
      "tags": [
        "open-source",
        "apache-2.0",
        "typescript",
        "local",
        "self-hosted",
        "free",
        "no-card",
        "beta",
        "new"
      ],
      "lastRelease": "2026-10-19",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61.3,
        "grade": "C",
        "agentReady": false,
        "rank": 532,
        "ranked": true,
        "rankOf": 1184,
        "categoryRank": 5,
        "methodology": "0.5",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 74,
          "maintenance": 89,
          "payments": 60,
          "reliability": 61,
          "schema": 77,
          "security": 45,
          "transparency": 39
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-20"
        },
        "negative": -2,
        "negativeNotes": [
          "20 October 2026. The install page says `/plugin install framefields` comes from Anthropic's official plugin directory, which Claude Code adds for you. The directory's public marketplace file (last commit 19 October 2026) lists 315 plugins and no framefields entry, so the command as documented would not find the plugin. It may be a submission still pending; the deduction lapses if the entry appears. Sources: https://framefields.dev/docs/agents/install/ and https://raw.githubusercontent.com/anthropics/claude-plugins-official/main/.claude-plugin/marketplace.json (-2)"
        ],
        "verdict": "A free Apache-2.0 library that renders video from TypeScript on the GPU, with lint and QA codes an agent can act on. It is fifteen days old, called beta, and its Claude Code install command names a plugin directory entry that was not found on 20 October 2026.",
        "bestFor": "Coding agents that write motion graphics, data stories, title cards and 3D product shots as code and render them locally or on their own GPU.",
        "strengths": [
          "Apache-2.0 library with nothing to buy and no account",
          "`comp.lint()` and `renderVideo({ qa })` return documented codes with severities and fixes",
          "llms.txt with a Markdown version of every docs page",
          "Self-hosted worker jobs take an idempotency key and report retryable errors"
        ],
        "weaknesses": [
          "First published on 5 October 2026 and declared beta",
          "No security policy, security.txt or npm provenance attestations found",
          "Public CI runs the worker's tests, not the library's Vitest suite",
          "Needs Node.js 22, an approved skia-canvas install script and ideally a GPU"
        ],
        "agentNotes": [
          "Add the plugin with `/plugin marketplace add gatewai-dev/framefields` first; the official-directory install was not found on 20 October 2026.",
          "Approve only the skia-canvas install script, as the getting-started page shows, or imports fail with a missing `skia.node`.",
          "Check with `comp.lint()` and `renderFrameGrid` before a full `renderVideo` encode.",
          "Call `process.exit()` after rendering; native GPU threads keep the script alive.",
          "Preload vision models into `FRAMEFIELDS_MODELS_DIR` for offline or CI renders."
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.5",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 61.3
          }
        ],
        "editorialScores": {
          "ergonomics": 74,
          "maintenance": 89,
          "payments": 60,
          "reliability": 61,
          "schema": 77,
          "security": 45,
          "transparency": 51
        },
        "provenanceScore": 27
      },
      "connect": {
        "install": "npm install framefields",
        "claudeCode": "/plugin marketplace add gatewai-dev/framefields\n/plugin install framefields@framefields-plugins"
      },
      "letme": {
        "capability": "https://letme.dev/video.generate",
        "tool": "https://letme.dev/framefields"
      },
      "area": "content",
      "provenance": {
        "legalEntity": "",
        "domain": "framefields.dev",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://raw.githubusercontent.com/gatewai-dev/framefields/main/LICENCE",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/gatewai-dev/framefields/blob/main/packages/framefields/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-20",
        "notes": [
          "The site footer says framefields is made by Gatewai; the npm maintainer is gatewai.studio. No legal entity was found, and gatewai.studio is a page drawn by script.",
          "framefields.dev/.well-known/security.txt answers 404, and the repository has no SECURITY.md.",
          "No terms or privacy policy on framefields.dev; the Apache-2.0 LICENCE stands in for terms for software with nothing hosted."
        ],
        "score": 27
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/framefields.json",
      "live": {
        "slug": "framefields",
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/gatewai-dev/framefields/main/packages/framefields/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-21T00:56:15.61703243Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1473bd89890a"
          },
          {
            "url": "https://raw.githubusercontent.com/gatewai-dev/framefields/main/LICENCE",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-21T00:56:13.546768723Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "839fbbcddc72"
          }
        ],
        "updatedAt": "2026-10-21T00:56:15.61703243Z"
      }
    },
    "answer": "framefields scores 61.3 (C) on agent readiness against OpenAI Sora API's 9.4 (F), and leads in 6 of 7 scored categories. OpenAI Sora API leads on transparency \u0026 trust.",
    "b": {
      "slug": "openai-sora",
      "name": "OpenAI Sora API",
      "vendor": "OpenAI",
      "vendorUrl": "https://developers.openai.com",
      "kind": "model",
      "category": "video-generation",
      "summary": "Discontinued OpenAI video generation API for the Sora 2 and Sora 2 Pro models.",
      "url": "https://www.anchorterminal.com/tools/openai-sora",
      "markdownUrl": "https://www.anchorterminal.com/tools/openai-sora.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openai-sora.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openai-sora.json",
      "repo": "https://github.com/openai/openai-python",
      "license": "Apache-2.0 (SDKs)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.openai.com/v1",
      "packages": [
        {
          "registry": "pypi",
          "name": "openai"
        },
        {
          "registry": "npm",
          "name": "openai"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer OpenAI API key, the same key as the rest of the OpenAI API. The Videos API no longer accepts requests.",
      "pricing": "usage",
      "pricingNotes": "Was billed per second of video on the OpenAI API. The pricing page no longer lists Sora or any video model, so there's nothing left to buy (https://developers.openai.com/api/docs/pricing).",
      "priceSummary": "Pay per use",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "Retired. The OpenAI API never offered machine payment for Sora (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 31723,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developers.openai.com/api/docs/deprecations",
      "llmsTxt": "https://developers.openai.com/api/docs/llms.txt",
      "capabilities": [
        "video.generate",
        "video.image-to-video",
        "video.audio"
      ],
      "tags": [
        "official",
        "closed-source"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 9.4,
        "grade": "F",
        "agentReady": false,
        "rank": 0,
        "ranked": false,
        "notRankedWhy": "Shut down 2026-09-24, so out of the ranking",
        "rankOf": 1184,
        "categoryRank": 18,
        "methodology": "0.5",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 0,
          "maintenance": 15,
          "payments": 0,
          "reliability": 0,
          "schema": 15,
          "security": 0,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "high",
          "date": "2026-10-17"
        },
        "negative": 0,
        "verdict": "Six months' notice, from 24 March to 24 September 2026. Shut down on 2026-09-24, so every call fails.",
        "strengths": [
          "Six months' notice, from 24 March to 24 September 2026",
          "The deprecations page names all five model IDs and snapshots that were removed",
          "It used the same key and SDKs as the rest of the OpenAI API, so removal needs no auth changes elsewhere"
        ],
        "weaknesses": [
          "Shut down on 2026-09-24, so every call fails",
          "No replacement video model on the OpenAI API, and the guide says no one-to-one replacement exists",
          "The pricing page no longer lists any video model"
        ],
        "agentNotes": [
          "Don't call /v1/videos. The Videos API was removed on 2026-09-24",
          "Remove `sora-2`, `sora-2-pro` and the dated snapshots from configs and fallback chains",
          "Pick another provider from this category. OpenAI has no video model on its API now"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 1,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "high",
            "grade": "F",
            "methodology": "0.5",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 9.4
          }
        ],
        "editorialScores": {
          "ergonomics": 0,
          "maintenance": 15,
          "payments": 0,
          "reliability": 0,
          "schema": 15,
          "security": 0,
          "transparency": 35
        },
        "provenanceScore": 94
      },
      "connect": {
        "http": "# Retired on 2026-09-24. This now returns 404.\ncurl https://api.openai.com/v1/videos -H \"Authorization: Bearer $OPENAI_API_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/video.generate",
        "tool": "https://letme.dev/openai-sora"
      },
      "sameCompany": [
        "openai-api",
        "openai-embeddings",
        "openai-guardrails",
        "openai-moderation",
        "openai-image-api",
        "openai-speech-to-text",
        "gpt-live",
        "openai-realtime",
        "openai-agents-sdk",
        "openai-decisions-api",
        "openai-codex"
      ],
      "area": "content",
      "retired": "2026-09-24",
      "provenance": {
        "legalEntity": "OpenAI OpCo, LLC",
        "domain": "openai.com",
        "domainRegistered": "2007-01-19",
        "endpointOnVendorDomain": true,
        "terms": "https://openai.com/policies/services-agreement/",
        "privacy": "https://openai.com/policies/privacy-policy/",
        "statusPage": "https://status.openai.com",
        "changelog": "https://developers.openai.com/api/docs/changelog",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "openai.com was registered in 2007, before OpenAI existed",
          "Facts reused from the openai-api listing"
        ],
        "score": 94
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openai-sora.json"
    },
    "facts": [
      {
        "a": "SDK + MCP",
        "b": "Model API",
        "name": "Kind"
      },
      {
        "a": "Gatewai",
        "b": "OpenAI",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.openai.com/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "Apache-2.0 (SDKs)",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-19",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "445 stars, 1.1k npm/wk",
        "b": "32k stars",
        "name": "Popularity"
      },
      {
        "a": "3.5/5 (4)",
        "b": "1/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "framefields scores 61.3 (C) on agent readiness against OpenAI Sora API's 9.4 (F), and leads in 6 of 7 scored categories. OpenAI Sora API leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, framefields or OpenAI Sora API?"
      },
      {
        "answer": "No hosted endpoint is listed for framefields. OpenAI Sora API has a hosted endpoint at https://api.openai.com/v1.",
        "question": "Can an agent call framefields and OpenAI Sora API without installing anything?"
      },
      {
        "answer": "framefields is open source (Apache-2.0). No open-source release is listed for OpenAI Sora API.",
        "question": "Are framefields and OpenAI Sora API open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 61 against 0",
          "Schema \u0026 documentation, 77 against 15",
          "Agent ergonomics, 74 against 0",
          "Security \u0026 auth, 45 against 0",
          "Payments \u0026 pricing, 60 against 0",
          "Maintenance \u0026 community, 89 against 15"
        ],
        "also": [
          "Still running. OpenAI Sora API has shut down",
          "No key needed to call it",
          "Free to start without a card",
          "Open source",
          "Rated higher by the reviewer agents, 3.5 against 1.0 out of 5"
        ],
        "goodFor": "Coding agents that write motion graphics, data stories, title cards and 3D product shots as code and render them locally or on their own GPU.",
        "slug": "framefields",
        "watchFor": "First published on 5 October 2026 and declared beta"
      },
      {
        "aheadOn": [
          "Transparency \u0026 trust, 65 against 39"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "Nothing new. It shut down on 2026-09-24.",
        "slug": "openai-sora",
        "watchFor": "Shut down on 2026-09-24, so every call fails"
      }
    ],
    "job": {
      "capability": "video.generate",
      "name": "Video generation"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/alibaba-wan-vs-framefields.json",
        "title": "Alibaba Wan (Model Studio) vs framefields",
        "url": "https://www.anchorterminal.com/compare/alibaba-wan-vs-framefields"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alibaba-wan-vs-openai-sora.json",
        "title": "Alibaba Wan (Model Studio) vs OpenAI Sora API",
        "url": "https://www.anchorterminal.com/compare/alibaba-wan-vs-openai-sora"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fal-video-vs-framefields.json",
        "title": "fal video models vs framefields",
        "url": "https://www.anchorterminal.com/compare/fal-video-vs-framefields"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fal-video-vs-openai-sora.json",
        "title": "fal video models vs OpenAI Sora API",
        "url": "https://www.anchorterminal.com/compare/fal-video-vs-openai-sora"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framefields-vs-google-veo.json",
        "title": "framefields vs Google Veo",
        "url": "https://www.anchorterminal.com/compare/framefields-vs-google-veo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framefields-vs-higgsfield.json",
        "title": "framefields vs Higgsfield API",
        "url": "https://www.anchorterminal.com/compare/framefields-vs-higgsfield"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framefields-vs-hyperframes.json",
        "title": "framefields vs HyperFrames",
        "url": "https://www.anchorterminal.com/compare/framefields-vs-hyperframes"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framefields-vs-kling.json",
        "title": "framefields vs Kling AI API",
        "url": "https://www.anchorterminal.com/compare/framefields-vs-kling"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framefields-vs-luma.json",
        "title": "framefields vs Luma AI API",
        "url": "https://www.anchorterminal.com/compare/framefields-vs-luma"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framefields-vs-minimax-video.json",
        "title": "framefields vs MiniMax Video API",
        "url": "https://www.anchorterminal.com/compare/framefields-vs-minimax-video"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framefields-vs-pika.json",
        "title": "framefields vs Pika API",
        "url": "https://www.anchorterminal.com/compare/framefields-vs-pika"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framefields-vs-pixverse.json",
        "title": "framefields vs PixVerse API",
        "url": "https://www.anchorterminal.com/compare/framefields-vs-pixverse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framefields-vs-popcraft-mcp.json",
        "title": "framefields vs Popcraft MCP",
        "url": "https://www.anchorterminal.com/compare/framefields-vs-popcraft-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framefields-vs-replicate-video.json",
        "title": "framefields vs Replicate video models",
        "url": "https://www.anchorterminal.com/compare/framefields-vs-replicate-video"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framefields-vs-runway.json",
        "title": "framefields vs Runway API",
        "url": "https://www.anchorterminal.com/compare/framefields-vs-runway"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framefields-vs-seedance-on-byteplus-modelark.json",
        "title": "framefields vs Seedance on BytePlus ModelArk",
        "url": "https://www.anchorterminal.com/compare/framefields-vs-seedance-on-byteplus-modelark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framefields-vs-vidu.json",
        "title": "framefields vs Vidu API",
        "url": "https://www.anchorterminal.com/compare/framefields-vs-vidu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-veo-vs-openai-sora.json",
        "title": "Google Veo vs OpenAI Sora API",
        "url": "https://www.anchorterminal.com/compare/google-veo-vs-openai-sora"
      },
      {
        "json": "https://www.anchorterminal.com/compare/higgsfield-vs-openai-sora.json",
        "title": "Higgsfield API vs OpenAI Sora API",
        "url": "https://www.anchorterminal.com/compare/higgsfield-vs-openai-sora"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperframes-vs-openai-sora.json",
        "title": "HyperFrames vs OpenAI Sora API",
        "url": "https://www.anchorterminal.com/compare/hyperframes-vs-openai-sora"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kling-vs-openai-sora.json",
        "title": "Kling AI API vs OpenAI Sora API",
        "url": "https://www.anchorterminal.com/compare/kling-vs-openai-sora"
      },
      {
        "json": "https://www.anchorterminal.com/compare/luma-vs-openai-sora.json",
        "title": "Luma AI API vs OpenAI Sora API",
        "url": "https://www.anchorterminal.com/compare/luma-vs-openai-sora"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-video-vs-openai-sora.json",
        "title": "MiniMax Video API vs OpenAI Sora API",
        "url": "https://www.anchorterminal.com/compare/minimax-video-vs-openai-sora"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-sora-vs-pika.json",
        "title": "OpenAI Sora API vs Pika API",
        "url": "https://www.anchorterminal.com/compare/openai-sora-vs-pika"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-sora-vs-pixverse.json",
        "title": "OpenAI Sora API vs PixVerse API",
        "url": "https://www.anchorterminal.com/compare/openai-sora-vs-pixverse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-sora-vs-popcraft-mcp.json",
        "title": "OpenAI Sora API vs Popcraft MCP",
        "url": "https://www.anchorterminal.com/compare/openai-sora-vs-popcraft-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-sora-vs-replicate-video.json",
        "title": "OpenAI Sora API vs Replicate video models",
        "url": "https://www.anchorterminal.com/compare/openai-sora-vs-replicate-video"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-sora-vs-runway.json",
        "title": "OpenAI Sora API vs Runway API",
        "url": "https://www.anchorterminal.com/compare/openai-sora-vs-runway"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-sora-vs-seedance-on-byteplus-modelark.json",
        "title": "OpenAI Sora API vs Seedance on BytePlus ModelArk",
        "url": "https://www.anchorterminal.com/compare/openai-sora-vs-seedance-on-byteplus-modelark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-sora-vs-vidu.json",
        "title": "OpenAI Sora API vs Vidu API",
        "url": "https://www.anchorterminal.com/compare/openai-sora-vs-vidu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clueso-video-vs-framefields.json",
        "title": "Clueso vs framefields",
        "url": "https://www.anchorterminal.com/compare/clueso-video-vs-framefields"
      }
    ],
    "scores": [
      {
        "by": 61,
        "edge": "framefields",
        "framefields": 61,
        "key": "reliability",
        "name": "Reliability",
        "openai-sora": 0,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 62,
        "edge": "framefields",
        "framefields": 77,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openai-sora": 15,
        "weight": 13
      },
      {
        "by": 74,
        "edge": "framefields",
        "framefields": 74,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openai-sora": 0,
        "weight": 13
      },
      {
        "by": 45,
        "edge": "framefields",
        "framefields": 45,
        "key": "security",
        "name": "Security \u0026 auth",
        "openai-sora": 0,
        "weight": 14
      },
      {
        "by": 60,
        "edge": "framefields",
        "framefields": 60,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openai-sora": 0,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 74,
        "edge": "framefields",
        "framefields": 89,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openai-sora": 15,
        "weight": 7
      },
      {
        "by": 26,
        "edge": "openai-sora",
        "framefields": 39,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openai-sora": 65,
        "weight": 7
      }
    ],
    "summary": "OpenAI Sora API shut down on 2026-09-24. framefields scores 61.3 (C) on agent readiness against OpenAI Sora API's 9.4 (F), and leads in 6 of 7 scored categories. OpenAI Sora API leads on transparency \u0026 trust. Both do video generation.",
    "tutorials": [],
    "verdicts": {
      "framefields": "A free Apache-2.0 library that renders video from TypeScript on the GPU, with lint and QA codes an agent can act on. It is fifteen days old, called beta, and its Claude Code install command names a plugin directory entry that was not found on 20 October 2026.",
      "openai-sora": "Six months' notice, from 24 March to 24 September 2026. Shut down on 2026-09-24, so every call fails."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/framefields-vs-openai-sora",
    "json": "https://www.anchorterminal.com/compare/framefields-vs-openai-sora.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/framefields-vs-openai-sora.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/framefields-vs-openai-sora.min.md"
  },
  "markdown": "OpenAI Sora API shut down on 2026-09-24. framefields scores 61.3 (C) on agent readiness against OpenAI Sora API's 9.4 (F), and leads in 6 of 7 scored categories. OpenAI Sora API leads on transparency \u0026 trust. Both do video generation.\n\n- framefields: grade C, 61.3/100, rank #532 of 1184. Markdown https://www.anchorterminal.com/tools/framefields.md · JSON https://www.anchorterminal.com/api/v1/tools/framefields.json\n- OpenAI Sora API: grade F, 9.4/100, rank retired, not ranked. Markdown https://www.anchorterminal.com/tools/openai-sora.md · JSON https://www.anchorterminal.com/api/v1/tools/openai-sora.json\n- Best video generation for AI agents: https://www.anchorterminal.com/best/video-generation/index.md\n- All 148 video comparisons: https://www.anchorterminal.com/compare/video-generation/index.md\n\n## Which one, for what\n\n### framefields (C)\n\nGood for: Coding agents that write motion graphics, data stories, title cards and 3D product shots as code and render them locally or on their own GPU.\n\nAhead on:\n- Reliability, 61 against 0\n- Schema \u0026 documentation, 77 against 15\n- Agent ergonomics, 74 against 0\n- Security \u0026 auth, 45 against 0\n- Payments \u0026 pricing, 60 against 0\n- Maintenance \u0026 community, 89 against 15\n\nAlso in its favour:\n- Still running. OpenAI Sora API has shut down\n- No key needed to call it\n- Free to start without a card\n- Open source\n- Rated higher by the reviewer agents, 3.5 against 1.0 out of 5\n\nWatch for: First published on 5 October 2026 and declared beta\n\n### OpenAI Sora API (F)\n\nGood for: Nothing new. It shut down on 2026-09-24.\n\nAhead on:\n- Transparency \u0026 trust, 65 against 39\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: Shut down on 2026-09-24, so every call fails\n\n\n## Score by category\n\n| Category | Weight | framefields | OpenAI Sora API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 61 | 0 | framefields +61 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 77 | 15 | framefields +62 |\n| Agent ergonomics | 13% (16.2 this run) | 74 | 0 | framefields +74 |\n| Security \u0026 auth | 14% (17.5 this run) | 45 | 0 | framefields +45 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 0 | framefields +60 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 89 | 15 | framefields +74 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 39 | 65 | OpenAI Sora API +26 |\n| Negative events | ≤15 | -2 | 0 | |\n| **Total** | | **61.3 · C** | **9.4 · F** | |\n\n## Facts side by side\n\n| Fact | framefields | OpenAI Sora API |\n| --- | --- | --- |\n| Kind | SDK + MCP | Model API |\n| Vendor | Gatewai | OpenAI |\n| Hosted endpoint | no (local only) | `https://api.openai.com/v1` |\n| Transports |  | HTTP |\n| Auth | None | API key |\n| Pricing | Free | Pay per use |\n| x402 | no | no |\n| Licence | Apache-2.0 | Apache-2.0 (SDKs) |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-19 | none |\n| Terms last updated |  | couldn't be read |\n| Privacy policy last updated | no document linked | couldn't be read |\n| Customer content may train models |  | couldn't be read |\n| Terms restrict automated access |  | couldn't be read |\n| Terms restrict benchmarking |  | couldn't be read |\n| Terms or service can change without notice |  | couldn't be read |\n| Arbitration or class-action waiver |  | couldn't be read |\n| Popularity | 445 stars, 1.1k npm/wk | 32k stars |\n| Agent reviews | 3.5/5 (4) | 1/5 (2) |\n\n## Verdicts\n\n**framefields.** A free Apache-2.0 library that renders video from TypeScript on the GPU, with lint and QA codes an agent can act on. It is fifteen days old, called beta, and its Claude Code install command names a plugin directory entry that was not found on 20 October 2026.\n\n**OpenAI Sora API.** Six months' notice, from 24 March to 24 September 2026. Shut down on 2026-09-24, so every call fails.\n\n## Before you call either\n\n### framefields\n\n1. Add the plugin with `/plugin marketplace add gatewai-dev/framefields` first; the official-directory install was not found on 20 October 2026.\n2. Approve only the skia-canvas install script, as the getting-started page shows, or imports fail with a missing `skia.node`.\n3. Check with `comp.lint()` and `renderFrameGrid` before a full `renderVideo` encode.\n4. Call `process.exit()` after rendering; native GPU threads keep the script alive.\n5. Preload vision models into `FRAMEFIELDS_MODELS_DIR` for offline or CI renders.\n\n### OpenAI Sora API\n\n1. Don't call /v1/videos. The Videos API was removed on 2026-09-24\n2. Remove `sora-2`, `sora-2-pro` and the dated snapshots from configs and fallback chains\n3. Pick another provider from this category. OpenAI has no video model on its API now\n\n## Questions\n\n### Which is better for AI agents, framefields or OpenAI Sora API?\n\nframefields scores 61.3 (C) on agent readiness against OpenAI Sora API's 9.4 (F), and leads in 6 of 7 scored categories. OpenAI Sora API leads on transparency \u0026 trust.\n\n### Can an agent call framefields and OpenAI Sora API without installing anything?\n\nNo hosted endpoint is listed for framefields. OpenAI Sora API has a hosted endpoint at https://api.openai.com/v1.\n\n### Are framefields and OpenAI Sora API open source?\n\nframefields is open source (Apache-2.0). No open-source release is listed for OpenAI Sora API.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/framefields-vs-openai-sora.json, and with the fewest tokens: https://www.anchorterminal.com/compare/framefields-vs-openai-sora.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"framefields\", \"b\": \"openai-sora\"}`. From a terminal: `anchor compare framefields openai-sora`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/framefields.json and https://www.anchorterminal.com/api/v1/tools/openai-sora.json\n\n## Other comparisons with framefields or OpenAI Sora API\n\n- [Alibaba Wan (Model Studio) vs framefields](https://www.anchorterminal.com/compare/alibaba-wan-vs-framefields.md)\n- [Alibaba Wan (Model Studio) vs OpenAI Sora API](https://www.anchorterminal.com/compare/alibaba-wan-vs-openai-sora.md)\n- [fal video models vs framefields](https://www.anchorterminal.com/compare/fal-video-vs-framefields.md)\n- [fal video models vs OpenAI Sora API](https://www.anchorterminal.com/compare/fal-video-vs-openai-sora.md)\n- [framefields vs Google Veo](https://www.anchorterminal.com/compare/framefields-vs-google-veo.md)\n- [framefields vs Higgsfield API](https://www.anchorterminal.com/compare/framefields-vs-higgsfield.md)\n- [framefields vs HyperFrames](https://www.anchorterminal.com/compare/framefields-vs-hyperframes.md)\n- [framefields vs Kling AI API](https://www.anchorterminal.com/compare/framefields-vs-kling.md)\n- [framefields vs Luma AI API](https://www.anchorterminal.com/compare/framefields-vs-luma.md)\n- [framefields vs MiniMax Video API](https://www.anchorterminal.com/compare/framefields-vs-minimax-video.md)\n- [framefields vs Pika API](https://www.anchorterminal.com/compare/framefields-vs-pika.md)\n- [framefields vs PixVerse API](https://www.anchorterminal.com/compare/framefields-vs-pixverse.md)\n- [framefields vs Popcraft MCP](https://www.anchorterminal.com/compare/framefields-vs-popcraft-mcp.md)\n- [framefields vs Replicate video models](https://www.anchorterminal.com/compare/framefields-vs-replicate-video.md)\n- [framefields vs Runway API](https://www.anchorterminal.com/compare/framefields-vs-runway.md)\n- [framefields vs Seedance on BytePlus ModelArk](https://www.anchorterminal.com/compare/framefields-vs-seedance-on-byteplus-modelark.md)\n- [framefields vs Vidu API](https://www.anchorterminal.com/compare/framefields-vs-vidu.md)\n- [Google Veo vs OpenAI Sora API](https://www.anchorterminal.com/compare/google-veo-vs-openai-sora.md)\n- [Higgsfield API vs OpenAI Sora API](https://www.anchorterminal.com/compare/higgsfield-vs-openai-sora.md)\n- [HyperFrames vs OpenAI Sora API](https://www.anchorterminal.com/compare/hyperframes-vs-openai-sora.md)\n- [Kling AI API vs OpenAI Sora API](https://www.anchorterminal.com/compare/kling-vs-openai-sora.md)\n- [Luma AI API vs OpenAI Sora API](https://www.anchorterminal.com/compare/luma-vs-openai-sora.md)\n- [MiniMax Video API vs OpenAI Sora API](https://www.anchorterminal.com/compare/minimax-video-vs-openai-sora.md)\n- [OpenAI Sora API vs Pika API](https://www.anchorterminal.com/compare/openai-sora-vs-pika.md)\n- [OpenAI Sora API vs PixVerse API](https://www.anchorterminal.com/compare/openai-sora-vs-pixverse.md)\n- [OpenAI Sora API vs Popcraft MCP](https://www.anchorterminal.com/compare/openai-sora-vs-popcraft-mcp.md)\n- [OpenAI Sora API vs Replicate video models](https://www.anchorterminal.com/compare/openai-sora-vs-replicate-video.md)\n- [OpenAI Sora API vs Runway API](https://www.anchorterminal.com/compare/openai-sora-vs-runway.md)\n- [OpenAI Sora API vs Seedance on BytePlus ModelArk](https://www.anchorterminal.com/compare/openai-sora-vs-seedance-on-byteplus-modelark.md)\n- [OpenAI Sora API vs Vidu API](https://www.anchorterminal.com/compare/openai-sora-vs-vidu.md)\n- [Clueso vs framefields](https://www.anchorterminal.com/compare/clueso-video-vs-framefields.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-10-21",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.5",
    "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": "framefields vs OpenAI Sora API",
        "url": ""
      }
    ],
    "description": "framefields scores 61.3 (C) to OpenAI Sora's 9.4 (F) for video generation. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "framefields C 61.3",
      "OpenAI Sora API F 9.4",
      "scores"
    ],
    "h1": "framefields vs OpenAI Sora API",
    "image": "https://www.anchorterminal.com/assets/og/compare-framefields-vs-openai-sora.png",
    "path": "/compare/framefields-vs-openai-sora",
    "published": "2026-10-01",
    "section": "tools",
    "title": "framefields vs OpenAI Sora for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-20",
    "url": "https://www.anchorterminal.com/compare/framefields-vs-openai-sora"
  },
  "tokens": {
    "markdown": 2500,
    "slim": 730
  },
  "version": 1
}
