Upload-Sitzung erstellen
Bereiten Sie einen lokalen Datei-Upload für einen Agent vor, der die Dateibytes lesen und außerhalb von MCP HTTP-PUT-Aufrufe senden kann. Gibt upload_url, method, exact headers, upload_id und Anweisungen zurück. Senden Sie die unveränderten Originalbytes mit dem zurückgegebenen temporären Authorization-Header. Verwenden Sie niemals einen Workspace-API-Schlüssel oder ein OAuth-Token. Die Upload-Berechtigung läuft nach 10 Minuten ab und erlaubt einen PUT-Versuch. Senden Sie nach erfolgreichem Upload innerhalb einer Stunde upload_id mit denselben Zugangsdaten, um eine Übersetzung zu erstellen. Kostet keine Credits. Maximal 20 ausstehende Uploads und 120 Sitzungen pro Stunde und Workspace.
POST/v1/uploads
Erfordert batches:create. Das Erstellen einer Sitzung kostet keine Credits und startet keine Übersetzung. Sende einen einfachen Dateinamen mit einer unterstützten Dateiendung und die exakte Größe der Originalbytes:
{ "filename": "catalogue.xlsx", "size_bytes": 4096 }Die Antwort enthält upload_id, upload_url, method, headers, expires_at, consume_until und die menschenlesbaren instructions. Verwende die zurückgegebene URL und die Header unverändert mit einem externen HTTP-Client. Erstelle anschließend mit upload_id und denselben Zugangsdaten die Übersetzung. Der Dateiname ist der Sitzung bereits zugeordnet.
const session = createUploadResponse.data;
const uploaded = await fetch(session.upload_url, {
method: session.method,
headers: session.headers,
body: originalFileBytes,
redirect: "error",
});
if (!uploaded.ok) throw new Error(`Upload failed: ${uploaded.status}`);
// Use the original workspace credential for POST /v1/batches:
// { upload_id: session.upload_id, instruction: "Translate into French" }Der temporäre Authorization-Header erlaubt innerhalb von 10 Minuten genau einen Uploadversuch für dieses Dokument. Die URL allein gewährt keinen Zugriff. Ersetze den Header niemals durch einen Workspace-API-Schlüssel oder ein OAuth-Token, übermittle keine Geheimnisse in einer URL, folge keinen Weiterleitungen und protokolliere die temporären Header nicht. Das Upload-Geheimnis kann keine Dokumente lesen, Übersetzungen erstellen oder Ausgaben genehmigen. Wenn du die Verbindung widerrufst oder ihre Berechtigung entfernst, werden nicht genutzte Upload-Berechtigungen ungültig.
Die empfangene Byte-Anzahl muss mit size_bytes übereinstimmen. Das formatspezifische Limit wird geprüft, bevor die Berechtigung ausgestellt wird. Erstelle die Übersetzung innerhalb einer Stunde. Ein Workspace kann 20 ausstehende Uploads haben und 120 Sitzungen pro Stunde erstellen. Nicht verwendete Dateien können nach 24 Stunden bereinigt werden und werden beim täglichen Bereinigungslauf gelöscht. Sobald eine Übersetzung die Datei verwendet, gelten die regulären Aufbewahrungsfristen. Die Wiederherstellung anhand der upload_id ist bis zur Bereinigung der Sitzung möglich, frühestens 24 Stunden nach der Ausstellung. Bewahre die Batch-ID auf, um die Übersetzung später aus deinem Verlauf abzurufen.
Anforderungen an Agenten
Die Agentenlaufzeit muss Zugriff auf lokale Dateien und einen HTTP-Client haben, der rohe PUT-Anfragen senden kann. MCP allein kann keine Binärdaten senden, und AI Glot Code Mode hat weder Zugriff auf lokale Dateien noch ausgehenden HTTP-Zugriff. Fehlen diese Möglichkeiten, teile dem Nutzer klar mit, dass der Assistent den Anhang nicht senden kann. Empfiehl den Upload in der AI Glot-Web-App, die Verwendung der CLI oder einen HTTPS-Download-Link für file_url. Behaupte niemals, ein Upload sei erfolgreich gewesen, ohne dies überprüft zu haben.
Prüfe nach dem Upload den Übersetzungsplan und die ausgeschlossenen Inhalte, bevor du die Credit-Kosten genehmigst. Rohe Bytes senden beschreibt Wiederholungsversuche und Fehler.
Antwort
Temporäre Upload-Sitzung für eine Datei erstellen
dataobjectrequiredrequest_idstringrequiredMögliche Codes: invalid_request, unknown_field, invalid_parameter, invalid_cursor
errorobjectrequiredrequest_idstringrequiredMögliche Codes: authentication_required, invalid_api_key, api_key_expired, api_key_revoked
errorobjectrequiredrequest_idstringrequiredMögliche Codes: insufficient_credits
errorobjectrequiredrequest_idstringrequiredMögliche Codes: insufficient_scope, feature_not_available, admin_required, file_retention_expired
errorobjectrequiredrequest_idstringrequiredMögliche Codes: batch_not_found, glossary_not_found, resource_not_found
errorobjectrequiredrequest_idstringrequiredMögliche Codes: glossary_already_exists, result_not_ready, batch_not_editable, no_plan_yet, batch_not_awaiting_approval
errorobjectrequiredrequest_idstringrequiredMögliche Codes: file_expired
errorobjectrequiredrequest_idstringrequiredMögliche Codes: request_too_large, file_too_large, result_too_large
errorobjectrequiredrequest_idstringrequiredMögliche Codes: language_not_supported, invalid_language_pair, glossary_term_limit_reached, glossary_limit_reached, invalid_glossary_terms, unsupported_format, file_fetch_failed, plan_invalid
errorobjectrequiredrequest_idstringrequiredMögliche Codes: rate_limited
errorobjectrequiredrequest_idstringrequiredMögliche Codes: internal_error
errorobjectrequiredrequest_idstringrequiredMögliche Codes: service_unavailable
errorobjectrequiredrequest_idstringrequired