Freunde einladen und kostenlose Tokens verdienen!Mehr erfahren

Chat-Bilderkennung generieren (Non-Streaming)

Dieser API-Endpunkt wird verwendet, um Prompts mit Text und Bildern an das Modell zu senden und eine einmalig generierte Chat-Vervollständigung zu erhalten. Das Modell liefert basierend auf dem eingegebenen Kontext und dem Bildinhalt eine detaillierte Beschreibung oder Antwort.

  • API-Endpunkt: https://api.codingplanx.ai/v1/chat/completions
  • HTTP-Methode: POST
  • Status: Veröffentlicht (Released)

Anfrage-Header (Headers)

ParameterErforderlichTypBeispielwertBeschreibung
Content-TypeJaStringapplication/jsonFormat des Anfrage-Bodys
AcceptJaStringapplication/jsonFormat des Antwort-Bodys
AuthorizationNeinStringBearer {{YOUR_API_KEY}}API-Schlüssel zur Authentifizierung

Anfrage-Body (Request Body)

ParameterErforderlichTypStandardwertBeschreibung
modelJaString-Die ID des zu verwendenden Modells (z. B. gpt-4o).
messagesJaArray-Liste der Dialog-Nachrichten. Bei der Bilderkennung muss für content ein Array von Objekten übergeben werden.
temperatureNeinNumber1Sampling-Temperatur (0-2). Höhere Werte bedeuten mehr Zufälligkeit, niedrigere Werte mehr Determinismus.
top_pNeinNumber1Nucleus-Sampling-Wahrscheinlichkeit. Es wird empfohlen, entweder diesen Wert oder temperature anzupassen, nicht beide.
max_tokensNeinIntegerinfDie maximale Anzahl der zu generierenden Tokens.
nNeinInteger1Anzahl der zu generierenden Antwort-Alternativen pro Eingabe.
streamNeinBooleanfalseOb die Ausgabe gestreamt werden soll. Für diesen Endpunkt fix auf false.
stopNeinString/ArraynullStop-Sequenzen für die Generierung. Unterstützt maximal 4 Sequenzen.
presence_penaltyNeinNumber0Presence Penalty (-2.0 bis 2.0). Erhöht die Wahrscheinlichkeit, dass über neue Themen gesprochen wird.
frequency_penaltyNeinNumber0Frequency Penalty (-2.0 bis 2.0). Verringert die Wahrscheinlichkeit, dass dieselben Phrasen wiederholt werden.
response_formatNeinObject-Spezifiziert das Ausgabeformat. Z. B. aktiviert { "type": "json_object" } den JSON-Modus.
userNeinString-Eindeutige Kennung des Endnutzers.
toolsNeinArray-Liste der Tools, die das Modell aufrufen kann (aktuell nur function unterstützt).
tool_choiceNeinObject-Steuert das Verhalten des Modells beim Aufrufen von Tools (none/auto/spezifische Funktion).

Struktur des Bilderkennungsobjekts in messages (Content Array)

Bei einer Anfrage zur Bilderkennung sollte messages.content folgende Struktur aufweisen:

  • type: "text" oder "image_url"
  • text: Wenn type auf text gesetzt ist, geben Sie hier die Textfrage ein.
  • image_url: Wenn type auf image_url gesetzt ist, übergeben Sie das Objekt { "url": "Bild-URL" }.

Anfrage-Beispiel (Example)

{
    "model": "gpt-4o",
    "messages": [
      {
        "role": "system",
        "content": "You are a helpful assistant."
      },
      {
            "role": "user",
            "content": [
                {
                    "type": "text", 
                    "text": "Was ist auf diesem Bild zu sehen? Bitte beschreibe es im Detail."
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://lsky.zhongzhuan.chat/i/2024/10/17/6711068a14527.png"
                    }
                }
            ]
        }
    ]
}

Antwort-Parameter (Response Body)

ParameterTypBeschreibung
idStringEindeutige Kennung für diese Anfrage.
objectStringObjekttyp, fixiert auf chat.completion.
createdIntegerUnix-Zeitstempel (in Sekunden).
choicesArrayEnthält die generierten Antwort-Optionen.
└ indexIntegerIndex der Option.
└ messageObjectVom Modell zurückgegebenes Nachrichtenobjekt (enthält role und content).
└ finish_reasonStringGrund für den Stopp der Generierung (z. B. stop, length).
usageObjectStatistiken zur Token-Nutzung.
└ prompt_tokensIntegerAnzahl der für den Prompt verbrauchten Tokens.
└ completion_tokensIntegerAnzahl der für die Vervollständigung (Ergebnis) verbrauchten Tokens.
└ total_tokensIntegerGesamtanzahl der verbrauchten Tokens.

Antwort-Beispiel (Response)

{
    "id": "chatcmpl-123",
    "object": "chat.completion",
    "created": 1677652288,
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "Dieses Bild zeigt einen aufgeräumten Schreibtisch mit einem Laptop, einer Tasse Kaffee und einer Sukkulente."
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 120,
        "completion_tokens": 45,
        "total_tokens": 165
    }
}

Häufig gestellte Fragen (FAQs)

Q: Welche Modelle unterstützen die Bilderkennungsfunktion? A: Aktuell werden hauptsächlich multimodale Modelle wie gpt-4o, gpt-4-turbo und gpt-4-vision-preview unterstützt. Stellen Sie sicher, dass Sie die korrekte ID im Feld model übergeben.

Q: Welche Bildformate werden unterstützt? A: Es werden gängige Bildformate wie PNG, JPEG, WEBP sowie nicht-animierte GIFs unterstützt.

Q: Gibt es Berechtigungseinschränkungen für Bildlinks? A: Die angegebene Bild-URL muss öffentlich zugänglich sein. Wenn sich das Bild in einem privaten Cloud-Speicher befindet, generieren Sie bitte zunächst einen temporären Zugriffslink mit Signatur oder konvertieren Sie das Bild in eine Base64-Codierung, bevor Sie es übergeben (Hinweis: Base64 muss dem Format data:image/jpeg;base64,... folgen).

Q: Wie wird die Bilderkennung abgerechnet? A: Bilder werden basierend auf ihrer Auflösung und Detailgenauigkeit in Tokens umgewandelt und abgerechnet. Bilder mit niedriger Auflösung verbrauchen in der Regel eine feste, geringe Anzahl an Tokens. Bei hochauflösenden Bildern werden die Tokens anhand der Anzahl der 512x512 Kacheln berechnet.

Q: Was soll ich tun, wenn ich eine Streaming-Ausgabe (Schreibmaschinen-Effekt) wünsche? A: Bitte setzen Sie den Anfrageparameter stream auf true. Beachten Sie jedoch, dass sich diese Dokumentation auf Nicht-Streaming-Antworten bezieht. Das Datenformat für Streaming-Antworten ändert sich zu Server-Sent Events (SSE).

Q: Warum wird "finish_reason": "length" zurückgegeben? A: Dies bedeutet, dass die generierte Antwort das von Ihnen festgelegte max_tokens-Limit erreicht hat oder das Kontextfenster-Limit des Modells überschritten wurde, was dazu führt, dass der Inhalt abgeschnitten wird.