Documentation Index Fetch the complete documentation index at: https://docs.apimart.ai/llms.txt
Use this file to discover all available pages before exploring further.
Der Doku-Playground unterstützt keinen Datei-Upload : Verwenden Sie zum Testen die untenstehenden Codebeispiele für cURL, Python oder JavaScript.
Wichtige Änderung: Aus Gründen der Performance- und Kostenkontrolle unterstützen wir die direkte Übergabe von Base64-Bilddaten in den Generierungs-APIs nicht mehr. Bitte verwenden Sie diese API, um Bilder hochzuladen, die URL abzurufen und dann die Generierungs-API aufzurufen.
Warum Bilder zuerst hochladen?
Performance-Optimierung – Base64-Kodierung vergrößert die Daten um 33 %; vorheriges Hochladen reduziert die Größe des Request-Bodys erheblich
Bilder wiederverwenden – Einmal hochladen, die URL beliebig oft wiederverwenden, ohne dass redundante Übertragungen nötig sind
Workflow
curl --request POST \
--url https://api.apimart.ai/v1/uploads/images \
--header 'Authorization: Bearer <token>' \
--form 'file=@/path/to/your/image.jpg'
200
400 - Missing File Field
400 - Unsupported Format
413 - File Too Large
429 - Rate Limit Exceeded
500 - Upload Failed
{
"url" : "https://upload.apimart.ai/f/image/9990000123456-a1b2c3d4-photo.jpg" ,
"filename" : "photo.jpg" ,
"content_type" : "image/jpeg" ,
"bytes" : 235680 ,
"created_at" : 1743436800
}
Autorisierungen
Alle APIs erfordern eine Authentifizierung per Bearer Token API-Key abrufen: Besuchen Sie die API-Key-Verwaltungsseite , um Ihren API-Key zu erhalten Fügen Sie ihn den Request-Headern hinzu: Authorization: Bearer YOUR_API_KEY
Body
Bilddatei Unterstützte Formate: JPEG (.jpg, .jpeg), PNG (.png), WebP (.webp), GIF (.gif) Maximale Dateigröße: 20 MB
Antwort
Öffentliche Zugriffs-URL des Bildes; kann direkt in Generierungs-APIs verwendet werden (72 Stunden gültig)
Erkannter MIME-Typ, z. B. image/jpeg
Upload-Zeitpunkt als Unix-Zeitstempel (Sekunden)
Vollständiges Beispiel: Bild-zu-Bild-Workflow
import requests
import time
API_KEY = "your-Apimart-key"
BASE_URL = "https://api.apimart.ai"
# Step 1: Upload reference image
def upload_image ( file_path ):
with open (file_path, 'rb' ) as f:
response = requests.post(
f " { BASE_URL } /v1/uploads/images" ,
headers = { "Authorization" : f "Bearer { API_KEY } " },
files = { "file" : f}
)
return response.json()[ 'url' ]
# Step 2: Create generation task
def create_generation ( image_url , prompt ):
response = requests.post(
f " { BASE_URL } /v1/images/generations" ,
headers = {
"Authorization" : f "Bearer { API_KEY } " ,
"Content-Type" : "application/json"
},
json = {
"model" : "gemini-3-pro-image-preview" ,
"prompt" : prompt,
"image_urls" : [{ "url" : image_url}],
"size" : "16:9"
}
)
return response.json()[ 'id' ]
# Step 3: Poll task status
def wait_for_result ( task_id ):
while True :
response = requests.get(
f " { BASE_URL } /v1/images/generations/ { task_id } " ,
headers = { "Authorization" : f "Bearer { API_KEY } " }
)
result = response.json()
if result[ 'status' ] == 'completed' :
return result[ 'url' ]
elif result[ 'status' ] == 'failed' :
raise Exception ( f "Generation failed: { result.get( 'fail_reason' ) } " )
time.sleep( 2 )
# Execute workflow
image_url = upload_image( "reference.jpg" )
print ( f "Image uploaded: { image_url } " )
task_id = create_generation(image_url, "Transform this photo into Ghibli anime style" )
print ( f "Task created: { task_id } " )
result_url = wait_for_result(task_id)
print ( f "Generation complete: { result_url } " )