Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Imejis API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fimejis.io%2Fimejis" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fimejis.io%2Fimejis" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Imejis API.
Render a design to PNG, JPEG, WebP, or PDF by design id, overriding dynamic fields with query params or a JSON body
Choose stream, hosted, or signed delivery to get image bytes, a public URL, or an expiring signed URL
Render 1 to 25 items in one POST /bulk call, such as several sizes or the slides of a carousel
Read a design's render endpoint and overridable dynamic fields from its config before rendering
GET STARTED
Queue a background export that stores the image and notifies a webhookUrl, then poll it by exportId
Pull time-bucketed render counts to track historical usage
Patterns agents use Imejis API for, with concrete tasks.
★ AI agent generating images through Jentic
A developer wants their agent to produce on-brand images, such as a blog header with the post title, without wiring the Imejis render host by hand. Through Jentic the agent searches for 'render a design to an image', loads the design config to learn the dynamic fields, then calls the render operation with overrides, with the render key injected at call time. The agent returns a hosted URL ready to embed.
Call GET /designs/v2/{id}/config for the header design, then POST /{design_id} with title set to the post title and delivery=hosted, and return the hosted URL
Bulk social graphics
Marketing teams need the same graphic in several sizes or a set of carousel slides. POST /bulk accepts an items array of 1 to 25 entries, each with a designId, an optional variation size id, and overrides, plus request-level format and delivery defaults. The response gives stored URLs for every render.
POST /bulk with three items that share one designId and use different variation ids, with format set to png, and collect the returned URLs
Background exports with webhooks
Pipelines that render on a schedule avoid holding a connection open. POST /designs/v2/{id}/export/jobs takes a required delivery value and an optional webhookUrl, and returns an exportId and pollUrl. GET /analytics/exports/{exportId} returns the status and the stored URL once ready.
POST /designs/v2/{id}/export/jobs with delivery=signed and a webhookUrl, then GET /analytics/exports/{exportId} until the stored URL is returned
13 endpoints — the imejis api renders a saved design to a finished image: pass a design id, override its dynamic fields, and get back a png, jpeg, webp, or pdf.
METHOD
PATH
DESCRIPTION
/{design_id}
Render a design to an image
/{design_id}
Render a design via query params
/bulk
Bulk render many items
/designs/v2
List designs
/designs/v2/{id}/config
Get render endpoint and dynamic fields
/designs/v2/{id}/export/jobs
Queue an async stored export
/analytics/exports/{exportId}
Poll an export job
/analytics/api
Get render usage over time
/{design_id}
Render a design to an image
/{design_id}
Render a design via query params
/bulk
Bulk render many items
/designs/v2
List designs
/designs/v2/{id}/config
Get render endpoint and dynamic fields
/designs/v2/{id}/export/jobs
Queue an async stored export
/analytics/exports/{exportId}
Poll an export job
/analytics/api
Get render usage over time
What agents get from Jentic-routed access to this vendor.
Setup
Wiring Imejis by hand means juggling two hosts and two credentials: a dma-api-key for renders on render.imejis.io and an OAuth bearer token for designs and exports on api.imejis.io. Through Jentic you install once, import Imejis from the API Directory, store each credential once, and your agent calls it.
Permission scoping
Imejis puts the design id in the URL path (/{design_id} and /designs/v2/{id}/...), so a rule can pin your agent to one design and the operations you pick. You choose the operations it may call, so bulk renders or background export jobs are not included unless you add them.
Credential isolation
Your Imejis render key and access token are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'render a design to an image' or 'bulk render images', and Jentic returns the matching Imejis operation with its input schema, including format and delivery options, so the agent calls the right endpoint directly.
Alternatives and complements available in the Jentic catalogue.
Specific to using Imejis API through Jentic.
What authentication does the Imejis API use?
The Imejis API declares two kinds of credential in its OpenAPI spec. Render operations on render.imejis.io use a render API key named dma-api-key, sent as a header or, for GET renders and bulk, as a query parameter. Design, export, usage, and key-listing operations on api.imejis.io use an OAuth 2.0 bearer access token. Through Jentic both are stored encrypted by your own Jentic One instance and injected at call time.
Can I get a shareable link instead of image bytes with the Imejis API?
Yes. Set delivery=hosted for a public URL or delivery=signed for an expiring signed URL on the render call; the default stream returns the bytes. On the account side, POST /designs/v2/{id}/export/signed-url takes expiresIn in minutes for the link lifetime.
What are the rate limits for the Imejis API?
The OpenAPI spec does not specify rate limits, though it notes each export consumes one render from your quota. Check https://imejis.io for current plan limits.
Is there an Imejis MCP server?
You don't need an MCP server to give your agent the Imejis render and export operations. Jentic connects them directly from the API Directory: import the API, store your render key and token once, and your agent calls the operations it needs, discovered on demand without loading extra tool definitions into its context.
Can I limit what my agent is allowed to do with the Imejis API?
Yes. As a worked example, allow only GET and POST on /{design_id} for one design id, and the agent can render that design with new values but cannot render other designs, queue exports, or read usage. Every call it makes is logged.
How do I render a design through Jentic?
Search Jentic for 'render a design to an image', load the renderDesignPost operation, and execute it with the design_id, a JSON body of dynamic-field overrides, and optional format and delivery. To run it on your own infrastructure, install Jentic One from its GitHub repo.
For Agents
Render an Imejis design to an image with dynamic text and values, in bulk or one at a time, and read designs, render configs, export jobs, and usage.
Use for: Render my social card design with a new title and price, I want a signed URL for a rendered image that expires in a day, Generate the same design in three sizes in one call, List all my Imejis designs
Not supported: Does not edit photos, remove backgrounds, or author new designs through this REST surface. Use for rendering saved Imejis designs to images and tracking exports only.
The Imejis API renders a saved design to a finished image: pass a design id, override its dynamic fields, and get back a PNG, JPEG, WebP, or PDF. Renders run on the render host at render.imejis.io with a dma-api-key, either streamed as bytes or delivered as a hosted public URL or an expiring signed URL, and a bulk call renders 1 to 25 items in one request. The account side at api.imejis.io lists designs, returns a design's render config and dynamic fields, queues background exports with an optional webhookUrl, and reports render usage over time.
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>