Freunde einladen und kostenlose Tokens verdienen!Mehr erfahren

Erstellen einer Chat-Bilderstellung (Non-Streaming)

Dieser Endpunkt wird verwendet, um einen Prompt (bestehend aus Text oder Bildern) an das Modell zu senden. Das Modell gibt daraufhin eine oder mehrere generierte Antworten zurück. Diese Schnittstelle eignet sich besonders für Modelle, die multimodale Eingaben unterstützen (z. B. Bildbearbeitung, Bildoptimierung, visuelle Kreation), wie etwa gpt-4o-image-vip.

Basisinformationen zur API

  • Endpunkt-URL: https://api.codingplanx.ai/v1/chat/completions
  • HTTP-Methode: POST
  • Content-Type: application/json
  • Response-Type: application/json

Request-Headers (Anfragekopf)

ParameterErforderlichTypBeispielwertBeschreibung
Content-TypeJaStringapplication/jsonFormat des Request-Bodys
AcceptJaStringapplication/jsonErwartetes Response-Format
AuthorizationNeinStringBearer {{YOUR_API_KEY}}API-Schlüssel zur Authentifizierung

Request-Body (Anfrage-Parameter)

Der Request-Body ist ein JSON-Objekt und enthält die folgenden Felder:

ParameterTypErforderlichStandardwertBeschreibung
modelStringJa-Die zu verwendende Modell-ID. Beispiel: gpt-4o-image-vip.
messagesArrayJa-Liste der Konversationsnachrichten. Jedes Objekt enthält role (user/assistant/system) und content. content kann ein String oder ein Array von Objekten mit Typ und Bild-URL sein.
toolsArrayJa-Liste von Tools, die das Modell aufrufen kann. Derzeit werden nur Funktionen (Functions) unterstützt.
tool_choiceObjectJanoneSteuert, welche Funktion das Modell aufruft. none (kein Aufruf), auto (automatische Auswahl).
temperatureNumberNein1Sampling-Temperatur (0 bis 2). Höhere Werte bedeuten mehr Zufälligkeit, niedrigere Werte führen zu fokussierteren und deterministischeren Antworten.
top_pNumberNein1Nucleus-Sampling. Berücksichtigt nur die Tokens mit der höchsten Wahrscheinlichkeitsmasse (Top P). Es wird empfohlen, entweder dies oder temperature anzupassen, nicht beides.
nIntegerNein1Anzahl der zu generierenden Chat-Completion-Auswahlen (Choices) für jeden Input.
streamBooleanNeinfalseOb die Antwort als Datenstrom (Stream) gesendet werden soll. Diese Schnittstelle ist aktuell als Non-Streaming definiert.
max_tokensIntegerNeininfMaximale Anzahl der zu generierenden Tokens.
stopString/ArrayNeinnullStopp-Sequenz. Die API stoppt die Generierung weiterer Tokens.
presence_penaltyNumberNein0Wert zwischen -2.0 und 2.0. Bestraft bereits verwendete Tokens und erhöht die Wahrscheinlichkeit, dass das Modell über neue Themen spricht.
frequency_penaltyNumberNein0Wert zwischen -2.0 und 2.0. Bestraft Tokens basierend auf ihrer bisherigen Häufigkeit im generierten Text.
response_formatObjectNein-Legt das Ausgabeformat fest, z. B. { "type": "json_object" } aktiviert den JSON-Modus.
userStringNein-Eindeutige Kennung des Endnutzers, wird zur Überwachung von Missbrauch verwendet.
seenIntegerNein-(Beta) Spezifiziert einen Seed-Wert, um ein deterministisches Sampling so gut wie möglich zu gewährleisten.

Response-Parameter (Antwort)

ParameterTypBeschreibung
idStringEindeutige Kennung für diese Anfrage.
objectStringObjekttyp, immer chat.completion.
createdIntegerUnix-Zeitstempel (in Sekunden).
choicesArrayEnthält die generierten Antwortoptionen.
└ indexIntegerIndex der jeweiligen Option.
└ messageObjectNachrichtenobjekt, das role und content enthält.
└ finish_reasonStringGrund für den Abbruch (z. B. stop, length).
usageObjectToken-Nutzungsstatistik.
└ prompt_tokensIntegerVerwendete Tokens für den Prompt.
└ completion_tokensIntegerVerwendete Tokens für die Completion (Generierung).
└ total_tokensIntegerGesamtanzahl der verbrauchten Tokens.

Beispiele

Request-Beispiel (Bildoptimierung/-kreation)

{
    "model": "gpt-4o-image-vip",
    "messages": [
      {
            "role": "user",
            "content": [
                {"type": "text", "text": "Bitte optimiere dieses Bild und füge den Text '我爱中国' (Ich liebe China) hinzu. Seitenverhältnis [4:3] "},
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://lsky.zhongzhuan.chat/i/2024/10/17/6711068a14527.png"
                    }
                }
            ]
        }
    ],
    "tools": [],
    "tool_choice": "none"
}

Response-Beispiel

{
    "id": "chatcmpl-123",
    "object": "chat.completion",
    "created": 1677652288,
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "In Ordnung, das Bild wurde für Sie bearbeitet. Sie können das generierte Ergebnis hier ansehen: [Bildlink/Beschreibung]"
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 9,
        "completion_tokens": 12,
        "total_tokens": 21
    }
}

FAQs (Häufig gestellte Fragen)

F: Warum erhalte ich einen Fehler, wenn ich response_format: { "type": "json_object" } verwende? A: Wenn Sie den JSON-Modus verwenden, müssen Sie das Modell in den messages explizit anweisen, JSON zu generieren (z. B. indem Sie den System-Prompt um "Bitte antworte im JSON-Format" ergänzen). Andernfalls kann das Modell in eine Endlosschleife geraten oder einen Fehler ausgeben, da es versucht, Nicht-JSON-Inhalte zu generieren.

F: Wie stelle ich sicher, dass die bei jeder Anfrage generierten Ergebnisse konsistent bleiben? A: Obwohl KI-Modelle einer gewissen Zufälligkeit unterliegen, können Sie versuchen, den Parameter seen (Seed) festzulegen und temperature auf 0 zu setzen. Achten Sie gleichzeitig auf das Feld system_fingerprint in der Response, um zu überwachen, ob sich die Backend-Umgebung geändert hat.

F: Welcher Wert ist für max_tokens angemessen? A: Das hängt von Ihrem jeweiligen Anwendungsfall ab. Für kurze Bildbeschreibungen reichen 100-300 Tokens; für detaillierte Analysen oder lange Textkreationen empfehlen wir einen Wert über 1000. Bitte beachten Sie, dass die Summe der Input-Tokens (einschließlich Bilder) und Output-Tokens das Kontextlimit des jeweiligen Modells nicht überschreiten darf.

F: Wie verarbeite ich Bildeingaben? A: Verwenden Sie im content der messages den Typ type: "image_url". Derzeit wird empfohlen, öffentlich zugängliche HTTPS-Bildlinks zu verwenden.

F: Sind tools und tool_choice zwingend erforderlich? A: Gemäß der Definition dieser Schnittstelle sind diese beiden Felder als erforderlich markiert. Wenn Sie kein bestimmtes Tool aufrufen müssen, setzen Sie tools auf ein leeres Array [] und tool_choice auf "none".