Entwickler

Werkzeuge

Alle sieben Werkzeuge mit ihren Argumenten, dem was sie zurückgeben und dem was sie kosten.

list_brands

Die Marken in deinem Arbeitsbereich. Nimmt keine Argumente — und meint das ernst: ein Argument zu übergeben ist ein Fehler.

{ "jsonrpc": "2.0", "id": 2, "method": "tools/call",
  "params": { "name": "list_brands", "arguments": {} } }
{
  "brands": [
    { "id": "fcdbdac6…", "display_name": "yourlife.ricke",
      "slug": "yourlifericke", "locale": "de", "is_active": true }
  ]
}

id ist das, was du den erzeugenden Werkzeugen als brand_id übergibst.

list_leads

Anfragen aus deinen Formularen, die neueste zuerst. Das ist das Werkzeug, das Ikrames zu einer Quelle für dein CRM macht.

{ "jsonrpc": "2.0", "id": 3, "method": "tools/call",
  "params": { "name": "list_leads", "arguments": { "brand_id": "fcdbdac6…" } } }
{
  "anfragen": [
    {
      "id": "8b1f…", "brand_id": "fcdbdac6…",
      "email": "[email protected]",
      "eingegangen_at": "2026-09-24T09:12:03.000Z",
      "bestaetigt_at": "2026-09-24T09:14:41.000Z",
      "formular": { "titel": "Illustrations-Anfrage", "slug": "illustration" },
      "antworten": [
        { "schluessel": "projektziel", "label": "Worum geht es?", "wert": "Ein Buchcover, Aquarell." }
      ],
      "anhaenge": { "anzahl": 2, "typen": ["application/pdf", "image/png"] }
    }
  ],
  "naechster_cursor": "MjAyNi0wOS0yNF…"
}

Argumente, alle freiwillig: brand_id engt auf eine Marke ein, seit nimmt einen ISO-Zeitstempel und gibt nur Anfragen ab dann zurück, cursor setzt eine vorige Seite fort.

  • Antworten tragen die Beschriftung, die die Person wirklich gelesen hat. Sie kommt aus einer Kopie, die bei der Anfrage liegt, und bleibt deshalb richtig, auch wenn du ein Feld umbenennst oder das Formular löschst.
  • Anhänge werden gezählt, nicht herausgegeben. Du bekommst wie viele und welche MIME-Typen — nie einen Dateinamen, nie einen Pfad, nie eine URL. Ein Anhang gehört der Person, die ihn hochgeladen hat; der einzige Weg dorthin ist ein Link, der zwei Minuten lebt, und ein Link, der in einer CRM-Zeile überlebt, wäre das Gegenteil davon. Öffne die Anfrage in der App, um die Dateien zu sehen.
  • Eine Seite fasst 50. Ist naechster_cursor nicht null, gib ihn als cursor für die nächste Seite zurück. Er ist undurchsichtig — zerleg ihn nicht und bau keinen selbst.
  • brand_id kann nur einengen. Welche Marken es überhaupt gibt, kommt aus deinem Schlüssel, nicht aus dem Argument.

Eine unbekannte Marke und die Marke eines anderen antworten gleich.

Übergib eine brand_id, die nicht in deinem Arbeitsbereich liegt, und du bekommst { "fehler": "unbekannt" } — dieselbe Antwort wie für eine ID, die es nirgends gibt. Das ist Absicht: ein eigenes „nicht erlaubt" würde bestätigen, dass die ID echt ist, und wer IDs durchprobiert, könnte sich eine Liste fremder Marken zusammenstellen. Für get_lead gilt dasselbe.

get_lead

Eine einzelne Anfrage, dieselben Felder wie bei list_leads.

{ "jsonrpc": "2.0", "id": 4, "method": "tools/call",
  "params": { "name": "get_lead", "arguments": { "lead_id": "8b1f…" } } }

Unbekannte ID oder eine Anfrage aus einem anderen Arbeitsbereich: { "fehler": "unbekannt" }.

get_costs

Was dieser Arbeitsbereich ausgegeben hat, zum Einkaufspreis. Die Zahlen sind der Preis beim Anbieter, ohne Aufschlag — das ist ein Kostenbericht, keine Rechnung.

ArgumentTypBedeutung
vonstring (ISO-Zeitstempel) · freiwilligAb, einschliesslich. Weglassen für alle Zeit.
bisstring (ISO-Zeitstempel) · freiwilligBis, einschliesslich.
gruppierung"context" | "model" | "ref" · freiwilligWonach gruppiert wird. Vorgabe context.
{ "jsonrpc": "2.0", "id": 3, "method": "tools/call",
  "params": { "name": "get_costs",
              "arguments": { "gruppierung": "context" } } }
{
  "zeitraum": { "von": null, "bis": null },
  "llm": [
    { "schluessel": "agent_run", "anzahl": 102, "usd": 8.098616 },
    { "schluessel": "fill_slide_generate", "anzahl": 59, "usd": 0.562623 }
  ],
  "provider": [
    { "schluessel": "mcp_image_generate", "anzahl": 2, "usd": 0.006291 }
  ],
  "summe_usd": 12.664687
}

Gruppier nach ref, um die Ausgaben je erzeugter Datei statt je Funktion zu sehen.

get_asset

Ein erzeugtes Bild holen: seinen Zustand und, sobald es fertig ist, eine zeitlich begrenzte Adresse.

ArgumentTypBedeutung
asset_idstringDie ID, die generate_image zurückgegeben hat.
{ "jsonrpc": "2.0", "id": 4, "method": "tools/call",
  "params": { "name": "get_asset",
              "arguments": { "asset_id": "1f6d8b22…" } } }
{
  "asset_id": "1f6d8b22…",
  "status": "ready",
  "origin": "ai_generated",
  "url": "https://…supabase.co/…?token=…",
  "markierung": { "c2pa_signed": true, "visible_label": false }
}

Solange das Bild noch entsteht, sind url und markierung null und status ist generating. Eine unbekannte ID und eine fremde ID geben denselben Fehler zurück — siehe Fehler.

generate_image

Ein Bild aus einem Prompt erzeugen. Kostet Guthaben. Läuft nebenher: der Aufruf kommt zurück, sobald der Auftrag angenommen ist, nicht wenn das Bild existiert.

ArgumentTypBedeutung
brand_idstringEine Marke in diesem Arbeitsbereich.
promptstringWas gezeichnet werden soll. Mindestens 3 Zeichen.
modelKeystringModell-ID, z. B. flux_schnell, flux_dev.
imageSizestring · freiwilligFormat-Voreinstellung, z. B. square_hd.
numImagesnumber · freiwilligWie viele; vom Modell gedeckelt.
seednumber · freiwilligFür wiederholbare Ausgabe.
{ "jsonrpc": "2.0", "id": 5, "method": "tools/call",
  "params": { "name": "generate_image",
              "arguments": { "brand_id": "fcdbdac6…",
                             "prompt": "a quiet harbour at dawn",
                             "modelKey": "flux_schnell" } } }
{
  "asset_id": "1f6d8b22…",
  "status": "generating",
  "fal_request_id": "…",
  "cost_credits": 1,
  "new_balance": 4988,
  "hinweis": "Fertigstellung mit get_asset abfragen (status wird 'ready')."
}

Der nebenläufige Ablauf

  1. Ruf generate_image auf. Das Guthaben wird jetzt abgebucht, und du bekommst eine asset_id.
  2. Das Bild entsteht anderswo und wird gespeichert, wenn es ankommt. Dann wird es auch signiert.
  3. Frag get_asset mit dieser asset_id ab, bis status von generating auf ready wechselt.
  4. ready bringt die url und den Markierungs-Zustand.

Es gibt keinen Rückruf und keinen laufenden Fortschritt. Frag in menschlichem Takt ab — ein paar Sekunden Abstand reichen vollkommen.

Lässt sich der Auftrag nicht einreichen, kommt das Guthaben von selbst zurück, und der Aufruf meldet den Fehlschlag. Für eine Erzeugung, die nie begonnen hat, zahlst du nicht.

create_composition

Einen Reel-Entwurf aus einer Idee planen und zusammensetzen.

Der Entwurf selbst wird nicht abgebucht. Ihn später zu rendern kostet auch kein Guthaben — es zählt gegen die Render-Minuten deines Tarifs. (Bis Oktober 2026 stand auf dieser Seite „kostet Guthaben — einen Sprachmodell-Plan plus Sprachsynthese". Abgebucht wurde dafür nie etwas; der Plan wird nur gemessen, und die Sprache in der Montage hat keine Abbuchung.)

Das Ergebnis ist eine Komposition in deinem Arbeitsbereich. Sie ist kein veröffentlichbarer Beitrag; daraus einen zu machen passiert in Ikrames.

ArgumentTypBedeutung
brand_idstringEine Marke in diesem Arbeitsbereich.
ideastringWorum es gehen soll.
duration_target_secnumberZiellänge, 3 bis 60.
mode"fit_to_time" | "fit_to_idea"Die Länge halten oder die ganze Idee halten.
aspect_ratio"9:16" · freiwilligReels gibt es nur hochkant. 16:9 wird nicht angenommen.
language_code"de" | "en" · freiwilligVorgabe: die Sprache der Marke.
voicestring · freiwilligName der Stimme. Vorgabe Rachel.
caption_stylestring · freiwilligVorgabe tiktok_karaoke.
template_idstring · freiwilligEine bestehende Kompositions-Vorlage.
{ "jsonrpc": "2.0", "id": 6, "method": "tools/call",
  "params": { "name": "create_composition",
              "arguments": { "brand_id": "fcdbdac6…",
                             "idea": "three pricing mistakes founders make",
                             "duration_target_sec": 30,
                             "mode": "fit_to_time" } } }
{
  "composition_id": "c41b90e7…",
  "total_duration_frames": 900,
  "estimated_duration_sec": 29.4,
  "exceeds_target": false,
  "plan": { "…": "der gebaute Szenenplan" },
  "hinweis": "Komposition angelegt, noch nicht veroeffentlichbar — …"
}

Die App teilt das in eine gratis Vorschau und eine bezahlte Montage, weil ein Mensch den Plan ansehen will, bevor er etwas ausgibt. Ein Agent kann nichts ansehen, deshalb passieren beide Schritte in einem Aufruf; der zurückgegebene plan zeigt, was gebaut wurde.

War das hilfreich?