Arumi
Generate AI images, video and audio with 55 models, priced in credits before you generate.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (2)
- LOWin get_generation
- LOWin quote
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"arumi": {
"url": "https://api.arumi.ai/mcp"
}
}
}Remote-Endpunkte
https://api.arumi.ai/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (9)
🟡complete_upload(upload_id)
Finish an upload after the PUT; returns the asset_id to pass in a generation's references.
Eingabe-Schema
{
"type": "object",
"properties": {
"upload_id": {
"type": "string"
}
},
"required": [
"upload_id"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"asset_id": {
"type": "string"
},
"kind": {
"type": "string"
},
"name": {
"type": "string"
},
"duration_seconds": {
"type": "number"
}
},
"required": [
"asset_id",
"kind",
"name"
],
"additionalProperties": false
}🟡create_upload(file_name, content_type, size_bytes, sha256, width, ...)
Start uploading one of the user's files to use as a reference. PUT the file's bytes to upload_url with exactly the returned headers, then call complete_upload.
Eingabe-Schema
{
"type": "object",
"properties": {
"file_name": {
"type": "string",
"description": "the file's name, with its extension"
},
"content_type": {
"type": "string",
"description": "for example image/png, image/jpeg, video/mp4, audio/mpeg"
},
"size_bytes": {
"type": "integer"
},
"sha256": {
"type": "string",
"description": "the file's SHA-256 as 64 lower-case hex characters (shasum -a 256)"
},
"width": {
"type": "integer",
"description": "required for images: width in pixels"
},
"height": {
"type": "integer",
"description": "required for images: height in pixels"
}
},
"required": [
"file_name",
"content_type",
"size_bytes",
"sha256"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"upload_id": {
"type": "string"
},
"upload_url": {
"type": "string"
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"expires_at": {
"type": "string"
},
"next": {
"type": "string"
}
},
"required": [
"upload_id",
"upload_url",
"headers",
"expires_at",
"next"
],
"additionalProperties": false
}🟢generate(model, prompt, parameters, references, max_credits, ...)
Start a generation with the user's credits. It is refused, with nothing charged, when it would cost more than max_credits. Returns at once with a generation_id: call get_generation until it has succeeded or failed.
Eingabe-Schema
{
"type": "object",
"properties": {
"model": {
"type": "string",
"description": "the model id from list_models"
},
"prompt": {
"type": "string",
"description": "what to make; for speech models the text to read"
},
"parameters": {
"type": "object",
"description": "the model's settings by key (get_model); any left out take the model's default",
"additionalProperties": true
},
"references": {
"type": [
"null",
"object"
],
"properties": {
"images": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "asset ids of uploaded images (complete_upload), in the order of the model's image slots"
},
"videos": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "asset ids of uploaded videos, in the order of the model's video slots"
},
"audio": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "asset ids of uploaded audio files, in the order of the model's audio slots"
}
},
"description": "uploaded files the model works from",
"additionalProperties": false
},
"max_credits": {
"type": "integer",
"description": "the most credits the user agreed to spend on this generation; it is refused when the quote is higher"
},
"idempotency_key": {
"type": "string",
"description": "optional, 16-128 characters [A-Za-z0-9._:-]: repeating a call with the same key returns the same generation instead of making another"
}
},
"required": [
"model",
"max_credits"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"generation_id": {
"type": "string"
},
"model": {
"type": "string"
},
"modality": {
"type": "string"
},
"status": {
"type": "string",
"description": "queued, processing, succeeded, failed or unknown"
},
"progress": {
"type": "integer"
},
"created_at": {
"type": "string"
},
"credits": {
"type": "object",
"properties": {
"reserved": {
"type": "integer"
},
"charged": {
"type": "integer"
},
"state": {
"type": "string",
"description": "reserved while it runs; settled when charged; released when nothing was charged"
}
},
"required": [
"reserved",
"charged",
"state"
],
"additionalProperties": false
},
"outputs": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"kind": {
"type": "string"
},
"duration_ms": {
"type": "integer"
}
},
"required": [
"url",
"kind"
],
"additionalProperties": false
}
},
"text": {
"type": "string"
},
"error": {
"type": [
"null",
"object"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": false
},
"prompt": {
"type": "string"
},
"tip": {
"type": "string"
}
},
"required": [
"generation_id",
"model",
"modality",
"status",
"progress",
"created_at",
"credits"
],
"additionalProperties": false
}🟢get_balance
The user's Arumi credits: available, held by running generations, and owed. 1 credit = 0.01 USD.
Eingabe-Schema
{
"type": "object",
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": {
"type": "integer"
}
}🟢get_generation(generation_id)
A generation's status; once it has succeeded, links to its results, and what it charged.
Eingabe-Schema
{
"type": "object",
"properties": {
"generation_id": {
"type": "string"
}
},
"required": [
"generation_id"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"generation_id": {
"type": "string"
},
"model": {
"type": "string"
},
"modality": {
"type": "string"
},
"status": {
"type": "string",
"description": "queued, processing, succeeded, failed or unknown"
},
"progress": {
"type": "integer"
},
"created_at": {
"type": "string"
},
"credits": {
"type": "object",
"properties": {
"reserved": {
"type": "integer"
},
"charged": {
"type": "integer"
},
"state": {
"type": "string",
"description": "reserved while it runs; settled when charged; released when nothing was charged"
}
},
"required": [
"reserved",
"charged",
"state"
],
"additionalProperties": false
},
"outputs": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"kind": {
"type": "string"
},
"duration_ms": {
"type": "integer"
}
},
"required": [
"url",
"kind"
],
"additionalProperties": false
}
},
"text": {
"type": "string"
},
"error": {
"type": [
"null",
"object"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": false
},
"prompt": {
"type": "string"
},
"tip": {
"type": "string"
}
},
"required": [
"generation_id",
"model",
"modality",
"status",
"progress",
"created_at",
"credits"
],
"additionalProperties": false
}🟢get_model(model)
One model's prompt limit, the reference files it takes, and its settings with their allowed values and defaults.
Eingabe-Schema
{
"type": "object",
"properties": {
"model": {
"type": "string",
"description": "the model id from list_models"
}
},
"required": [
"model"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"maker": {
"type": "string"
},
"modality": {
"type": "string"
},
"prompt": {
"type": "object",
"additionalProperties": true
},
"reference_inputs": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"kind": {
"type": "string"
},
"role": {
"type": "string"
},
"min": {
"type": "integer"
},
"max": {
"type": "integer"
},
"max_bytes": {
"type": "integer"
},
"file_types": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
}
}
},
"required": [
"name",
"kind",
"min",
"max"
],
"additionalProperties": false
},
"description": "in order: references of one kind fill these slots in turn"
},
"settings": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"values": {
"type": [
"null",
"array"
],
"items": true
},
"min": {
"type": [
"null",
"number"
]
},
"max": {
"type": [
"null",
"number"
]
},
"default": true,
"required": {
"type": "boolean"
},
"optional": {
"type": "boolean",
"description": "left out unless given"
},
"only_when": {
"type": "string"
},
"help": {
"type": "string"
}
},
"required": [
"key",
"name"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"name",
"maker",
"modality",
"settings"
],
"additionalProperties": false
}🟢list_generations(limit)
The user's latest generations, newest first, made on the site or through any of their keys.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"description": "how many, newest first (1–20, default 10)"
}
},
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"generation_id": {
"type": "string"
},
"model": {
"type": "string"
},
"modality": {
"type": "string"
},
"status": {
"type": "string",
"description": "queued, processing, succeeded, failed or unknown"
},
"progress": {
"type": "integer"
},
"created_at": {
"type": "string"
},
"credits": {
"type": "object",
"properties": {
"reserved": {
"type": "integer"
},
"charged": {
"type": "integer"
},
"state": {
"type": "string",
"description": "reserved while it runs; settled when charged; released when nothing was charged"
}
},
"required": [
"reserved",
"charged",
"state"
],
"additionalProperties": false
},
"outputs": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"kind": {
"type": "string"
},
"duration_ms": {
"type": "integer"
}
},
"required": [
"url",
"kind"
],
"additionalProperties": false
}
},
"text": {
"type": "string"
},
"error": {
"type": [
"null",
"object"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"retryable": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retryable"
],
"additionalProperties": false
},
"prompt": {
"type": "string"
},
"tip": {
"type": "string"
}
},
"required": [
"generation_id",
"model",
"modality",
"status",
"progress",
"created_at",
"credits"
],
"additionalProperties": false
}
}
}🟢list_models(modality)
The models the user can generate with, by kind (image, video, audio, text). get_model gives one model's inputs and settings.
Eingabe-Schema
{
"type": "object",
"properties": {
"modality": {
"type": "string",
"description": "only this kind: image, video, audio or text"
}
},
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"maker": {
"type": "string"
},
"modality": {
"type": "string"
},
"featured": {
"type": "boolean"
},
"takes": {
"type": "string"
}
},
"required": [
"id",
"name",
"maker",
"modality",
"takes"
],
"additionalProperties": false
}
}
}🟢quote(model, prompt, parameters, references)
What a generation would cost, in credits, without making it. Tell the user before generating.
Eingabe-Schema
{
"type": "object",
"properties": {
"model": {
"type": "string",
"description": "the model id from list_models"
},
"prompt": {
"type": "string",
"description": "what to make; for speech models the text to read"
},
"parameters": {
"type": "object",
"description": "the model's settings by key (get_model); any left out take the model's default",
"additionalProperties": true
},
"references": {
"type": [
"null",
"object"
],
"properties": {
"images": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "asset ids of uploaded images (complete_upload), in the order of the model's image slots"
},
"videos": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "asset ids of uploaded videos, in the order of the model's video slots"
},
"audio": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "asset ids of uploaded audio files, in the order of the model's audio slots"
}
},
"description": "uploaded files the model works from",
"additionalProperties": false
}
},
"required": [
"model"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"model": {
"type": "string"
},
"credits": {
"type": "integer",
"description": "what is reserved; for a fixed price also what is charged"
},
"estimated_credits": {
"type": "integer"
},
"exact": {
"type": "boolean",
"description": "true when the price is fixed; false when the model decides part of it and only up to credits is charged"
},
"usd": {
"type": "string",
"description": "credits in US dollars at 1 credit = 0.01 USD"
}
},
"required": [
"model",
"credits",
"estimated_credits",
"exact",
"usd"
],
"additionalProperties": false
}Community
Nachweis