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_cursornichtnull, gib ihn alscursorfür die nächste Seite zurück. Er ist undurchsichtig — zerleg ihn nicht und bau keinen selbst. brand_idkann 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.
| Argument | Typ | Bedeutung |
|---|---|---|
von | string (ISO-Zeitstempel) · freiwillig | Ab, einschliesslich. Weglassen für alle Zeit. |
bis | string (ISO-Zeitstempel) · freiwillig | Bis, einschliesslich. |
gruppierung | "context" | "model" | "ref" · freiwillig | Wonach 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.
| Argument | Typ | Bedeutung |
|---|---|---|
asset_id | string | Die 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.
| Argument | Typ | Bedeutung |
|---|---|---|
brand_id | string | Eine Marke in diesem Arbeitsbereich. |
prompt | string | Was gezeichnet werden soll. Mindestens 3 Zeichen. |
modelKey | string | Modell-ID, z. B. flux_schnell, flux_dev. |
imageSize | string · freiwillig | Format-Voreinstellung, z. B. square_hd. |
numImages | number · freiwillig | Wie viele; vom Modell gedeckelt. |
seed | number · freiwillig | Fü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
- Ruf
generate_imageauf. Das Guthaben wird jetzt abgebucht, und du bekommst eineasset_id. - Das Bild entsteht anderswo und wird gespeichert, wenn es ankommt. Dann wird es auch signiert.
- Frag
get_assetmit dieserasset_idab, bisstatusvongeneratingaufreadywechselt. readybringt dieurlund 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.
| Argument | Typ | Bedeutung |
|---|---|---|
brand_id | string | Eine Marke in diesem Arbeitsbereich. |
idea | string | Worum es gehen soll. |
duration_target_sec | number | Ziellänge, 3 bis 60. |
mode | "fit_to_time" | "fit_to_idea" | Die Länge halten oder die ganze Idee halten. |
aspect_ratio | "9:16" · freiwillig | Reels gibt es nur hochkant. 16:9 wird nicht angenommen. |
language_code | "de" | "en" · freiwillig | Vorgabe: die Sprache der Marke. |
voice | string · freiwillig | Name der Stimme. Vorgabe Rachel. |
caption_style | string · freiwillig | Vorgabe tiktok_karaoke. |
template_id | string · freiwillig | Eine 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.