SJinn MCP

SJinn MCP

Connect SJinn to an AI client through MCP and create image, video, or audio generation tasks from chat.

SJinn MCP

SJinn MCP lets an AI client call SJinn tools from a conversation. Use it when you want the assistant to create image, video, or audio tasks, prepare input assets, check your account, or retrieve task results without leaving the chat.

The OpenAI plugin package for ChatGPT and Codex is being prepared for directory review; this guide does not announce a published listing. See the connector setup below for Claude, Grok, and Grok Bot. SJinn Skills remain a separate integration option.

OpenAI Plugin for ChatGPT and Codex

The OpenAI plugin connects to the same SJinn MCP service at https://mcp.sjinn.ai/mcp. Complete SJinn sign-in through the client's OAuth connection flow; do not paste passwords or access tokens into a conversation. Public directory installation will be documented here after publication.

In hosts that support MCP Apps, SJinn can show local-file upload and task-result cards. Text-only clients receive complete results and task IDs. For a local file, call upload_asset with file details, upload the file using the returned instructions, and pass the stable asset URL into generation. The temporary signed upload URL is not a generation input.

Generation is asynchronous. Text clients should query the returned task ID with get_task at the returned poll_interval_ms (currently 15 seconds for image/audio and 30 seconds for video). Apps result cards track their tasks automatically. Stopping the client does not cancel an already submitted task; do not repeat a creation request merely because the first is still pending.

Model discovery requires a connected account but no membership or generation credits. Upload and creation require an eligible account, and creation consumes existing credits. This plugin does not offer subscription purchases, upgrades or credit checkout.

See MCP support and MCP privacy information.


Connect SJinn in Seconds

Claude MCP Setup Demo

Watch the Claude MCP connection flow:

1. Go to Claude > Customize

In Claude desktop or claude.ai, open Customize > Connectors.

2. Add a custom connector

Name it SJinn and paste this remote MCP server URL:

https://mcp.sjinn.ai/mcp

3. Connect and sign in

Click Add > Connect, then sign in with your SJinn account. After the connector is enabled in a conversation, ask Claude to create an image, create a video, create audio, or check a previous task.

Grok MCP setup

  1. Open Grok Connectors.
  2. Choose New Connector > Custom. Use SJinn as the name if prompted, and enter https://mcp.sjinn.ai/mcp as the server URL.
  3. Start the connection and complete OAuth sign-in on sjinn.ai. Review the requested permissions, then choose Allow to return to Grok.
  4. Open a conversation with SJinn enabled and send the connection-check prompt below.

Grok discovers the OAuth configuration automatically; you do not need an SJinn API key or a client secret. On Grok Business or Enterprise, your team admin may need to add SJinn before it is available to members. See Grok's connector guide.

Use SJinn in Grok Bot

After you add and authorize SJinn on the Grok website, Grok Bot automatically connects to the same MCP server. You do not need to add the connector again or repeat OAuth setup in Grok Bot.

Open a conversation with Grok Bot and ask it to use SJinn. You can use the connection-check prompt below to confirm access. This shared connection flow has been verified in both Grok web and Grok Bot.

Check the connection

In either client, send:

Use SJinn's whoami tool to check my connection and account access. Do not create a generation task.

If the tool returns your SJinn account information, authenticated tool access is working. You can then ask SJinn to create images, videos, or audio using your existing account credits.


Current Capabilities

CapabilityMCP toolWhat it does
Account checkwhoamiShows the authenticated SJinn account, membership, credits, and available capabilities.
Local file uploadupload_assetUploads local image, video, or audio files and returns SJinn asset URLs for generation inputs.
Model catalogmodels_listLists all model summaries for one required type: video, image, or audio.
Model searchmodels_searchSemantically searches names, operations, parameters, and combined requirements in your language. Both type and query are required; there is no limit parameter.
Model detailsmodels_getReturns complete parameters, defaults, conditional rules, and asset constraints for an exact model ID.
Image generationcreate_image_taskCreates an SJinn image generation or editing task.
Video generationcreate_video_taskCreates an SJinn video generation task.
Audio transcriptionspeech_to_textTranscribes one audio_url for 50 credits, returning text, timestamped text, and a transcript details URL. No model selection is needed.
Audio generationcreate_audio_taskCreates an SJinn audio generation task.
Video compositioncreate_compose_taskConcatenates two or more videos in order; no model selection is needed.
Task lookupget_taskChecks one existing task by task ID.
Recent historylist_recentLists recent MCP tasks for the authenticated account.

Transcription tasks return a task ID immediately. In Apps UI clients, the creation widget polls get_task every 15 seconds and replaces its pending state with the result in the same card; the assistant does not need to poll. Text-only clients should poll get_task every 15 seconds until completion. The result card shows a copyable transcript, collapsible timestamp rows, and a Download JSON link. Completed transcriptions expose output_kind: "text" and a result object containing transcript_text, transcript_text_with_timestamp, and transcript_detail_with_timestamp_url; truncated: true indicates that the details URL contains the complete transcript. The asset arrays are empty. list_recent supports model: "speech-to-text" and task_kind: "audio" filters.

More MCP tools can be added over time. This page describes the currently documented SJinn MCP surface.


Discover a Model Before Creating

Image, video, and audio creation now require an explicit model ID. Calls that omit it are rejected rather than falling back to a default model. Other generation parameters keep their existing behavior.

  1. If the user's model name or alias is not yet a confirmed catalog ID, call models_search with the intended output type and a concise query. If several versions remain plausible, clarify rather than automatically picking the first result.
  2. Use models_list with a required type to browse all models in that category. Lists and search results contain summaries, not complete parameters, and are not silently truncated. The is_default flag identifies the default selection for a type, not a fallback for missing creation arguments.
  3. Before creating, obtain the selected model's complete models_get result. Reuse it when its full applicable details are already available in the current context. Search summaries, skills, remembered parameters, or a note that a lookup previously occurred are not substitutes. If a lookup fails, do not create from guessed parameters.
  4. Follow those parameter and asset rules, then call the matching creation tool with the exact model explicitly. Unsupported values are rejected, not automatically replaced. The lookup prerequisite guides the assistant; the server independently validates creation arguments and does not require a lookup receipt.

For example, resolve a video model name:

{"type":"video","query":"Kling"}

Pass the confirmed ID to models_get:

{"model":"kling3"}

Then call create_video_task with valid parameters from that result:

{"model":"kling3","prompt":"A slow camera move through a neon-lit street.","duration":5,"aspect_ratio":"16:9","resolution":"720p"}

You can also search combined requirements in your own language, for example:

{"type":"video","query":"支持 4K、参考图片和 8 秒时长的视频模型"}

Search compares the complete details of every model in that type, including its supported operations, parameter values, and conditional rules. Results contain catalog summaries plus match_reason and conditions; an empty models array means no match was found, while a tool error means the search failed. Search is AI-assisted, so confirm the selected model's full details before creation rather than treating its explanation as a parameter specification.

Model discovery uses the same authenticated MCP connection, but does not require membership, spend SJinn credits, or start generation. It works in both interactive and text-only clients. Semantic queries are processed by a server-side AI provider: do not include credentials, private media URLs, account information, or unrelated conversation text. Lists, details, and queries consisting only of an exact ID do not call the AI provider. If search is temporarily unavailable, wait rather than repeatedly retrying.

Supported Generation Models

Image Models

ModelBest for
gpt-image-2General image generation and editing (default).
gpt-image-2.5-flareGPT Image 2.5 Flare generation and editing with up to 16 reference images.
gpt-image-2.5-sunburstGPT Image 2.5 Sunburst generation and editing with the same parameter support as Flare.
nano-banana-proHigher-quality image generation and editing.
nano-banana-2Image generation and editing with current Nano Banana 2 support.

Both GPT Image 2.5 variants use these parameters with create_image_task:

ParameterRequiredDefaultSupported values
modelYesNo implicit defaultgpt-image-2.5-flare or gpt-image-2.5-sunburst; no gpt-image-2.5 alias.
promptYes—Non-empty image description or editing instructions.
image_urlsNo[]Up to 16 complete, stable public HTTP/HTTPS reference image URLs; no temporary/signed URLs or local paths.
aspect_ratioNo1:11:1, 3:4, 9:16, 4:3, 16:9; auto is not supported.
resolutionNo1K1K, 2K, 4K.

Omit reference images for text-to-image generation. With references, describe what to preserve and change. Use aspect_ratio, not the underlying API's image_size. Neither variant accepts mode, quality, seed, n, provider, or unlimited.

{
  "model": "gpt-image-2.5-flare",
  "prompt": "Create a minimalist coffee advertisement with warm morning light.",
  "aspect_ratio": "16:9",
  "resolution": "2K"
}

To use Sunburst, change only model to gpt-image-2.5-sunburst.

Video Models

ModelBest for
seedance2General text-to-video and image-to-video generation.
seedance2.5New video generation with image, video, and audio references; integer duration of 4–30 seconds (default 5). Use seedance2.5-edit to modify an existing video and seedance2.5-extend to continue it.
seedance2.5-editPrompt-guided editing of exactly one 4–30 second source video at 480p, 720p, or 1080p resolution (default 720p); duration and aspect ratio are detected server-side.
seedance2.5-extendExtends the first of 1–10 videos, using remaining videos as references, to append shots while maintaining character, environment, and narrative continuity; supports up to 30 images, 10 audios, integer duration of 4–30 seconds (default 5), and the SJinn-supported 480p, 720p, or 1080p resolutions (default 480p). Use seedance2.5-edit to change existing content, including the final shot.
minimax-h32K reference-to-video generation with image, video, and audio references.
kling4Kling 4 Omni: text-to-video with optional image and video references.
kling4-framesKling 4: required first frame, optional last frame and ordered intermediate keyframes.
kling3Video generation with Kling 3 support.
gemini-omni-videoVideo generation with up to 7 reference images and an optional reference video.
gemini-omni-1.1-flashVideo generation with image/video references and selectable 360p, 720p, 1080p, or 4k output.
veo3.1-fastText-to-video, first-frame, or first-and-last-frame video using dedicated frame URL fields.
wan3Wan 3.0 full-modality generation with image, video, and audio references.

For Seedance 2.5, select the operation before creating: new generation, editing existing content, or appending a continuation. If the provider identifies the request as editing or extension, obtain the corresponding model's complete details and adjust the call. Omitting duration or aspect ratio from seedance2.5 still applies generation defaults; it does not select edit mode. seedance2.5-edit accepts exactly one source video, preserves its duration and ratio, and does not accept additional video references. Do not silently discard a required reference video to fit it. Output durations for generation and extension must be integers from 4 to 30 seconds.

Audio Models

ModelBest for
seed-audio-1-0Text-to-audio generation with optional reference audios or one reference image.

For seed-audio-1-0, provide a prompt. You may also provide either audio_urls with up to 3 reference audio URLs, cited as @Audio1, @Audio2, and @Audio3, or image_urls with one reference image URL. Do not provide both audio_urls and image_urls in the same audio task.

If no model preference is given, the assistant may use the catalog's default selection when it supports the requested operation. It must still obtain or reuse that model's complete details and pass its exact ID explicitly when creating.


Example Prompts

Create an image:

Use SJinn to create a square product image of a glass perfume bottle on black marble.

Create a video:

Use SJinn to create a 16:9 video of a slow camera move through a neon studio.

Create audio:

Use SJinn to create a short upbeat jingle for a product launch.

Check a task:

Check this SJinn task and show me the output URL: <task_id>

Troubleshooting

The connector does not add

Confirm the URL is exactly:

https://mcp.sjinn.ai/mcp

Do not add extra paths, query parameters, or a trailing slash unless SJinn documentation explicitly changes the URL.

Sign-in does not complete

Remove the connector and add it again, then click Connect and complete the SJinn sign-in flow in the browser.

SJinn is unavailable in Grok Bot

First check that SJinn is connected and OAuth authorization is complete on Grok Connectors. Grok Bot uses that connection automatically. Once authorization is complete, send the connection-check prompt to Grok Bot. If access still fails, contact MCP support with the client name, version, and displayed error.

A task cannot be created

Check that your SJinn account is signed in, has an active membership or other eligible access, and has enough credits. You can ask the assistant to run the account check before creating a task. Membership and credit errors are separate from OAuth sign-in errors; reconnecting does not change account entitlements.

Media input fails

Use stable public HTTPS media URLs when possible. If your file is only on your local computer, ask the assistant to use upload_asset; supported clients open an SJinn upload panel, while text-only clients return upload commands and asset URLs.

A task is still running

Ask the assistant to check the task again later with the task ID. Video generation can take longer than image generation.

Kling 4 video models

Call models_get with kling4 or kling4-frames before creating a task. Both use create_video_task, support integer durations of 3–30 seconds (default 5), and accept resolution: "720p" | "1080p" (default 720p). Pricing is 225 or 330 credits per output second respectively.

kling4 requires a prompt (up to 8,000 characters), accepts up to 10 reference images and 5 reference videos, and supports 16:9 (default), 9:16, 1:1, 21:9, and auto aspect ratios. Each reference video must be 3–30 seconds; the combined duration must be at most 30 seconds. Prompt references such as @image_1 and @video_1 refer to the ordered URL arrays. These are reference assets, not fixed first/last frames.

kling4-frames requires first_frame_url; last_frame_url, ordered keyframe_urls, and prompt are optional. Total frames must not exceed min(10, duration + 1). The aspect ratio follows the input image, so omit aspect_ratio. Neither model accepts mode, audio references, or manual shot controls.

{"model":"kling4-frames","first_frame_url":"https://example.com/start.png","keyframe_urls":["https://example.com/middle.png"],"last_frame_url":"https://example.com/end.png","duration":5,"resolution":"720p"}