Dokumentacja API

Kompletny przewodnik po używaniu API Qwen Image Edit

API Qwen Image Edit zapewnia potężny interfejs do integracji funkcji edycji i analizy obrazów z Twoimi aplikacjami.

1. Uwierzytelnianie

Aby uzyskać dostęp do API, wymagany jest klucz API. Klucz API musi być przekazany w nagłówku Authorization jako token Bearer.

Authorization: Bearer TWÓJ_KLUCZ_API

Twój klucz API można wygenerować i zarządzać nim w konsoli Qwen Image Edit.

2. Podstawowe metody

POST /edit - Edycja obrazu

Stosuje różne operacje edycji do obrazu. Ten punkt końcowy obsługuje szeroki zakres manipulacji obrazami, takich jak modyfikacja tekstu, dodawanie elementów i przenoszenie stylu.

  • Przykład treści żądania:
{
  "imageUrl": "https://example.com/image.jpg",
  "edits": [
    {
      "type": "text_replace",
      "find": "Stary tekst",
      "replaceWith": "Nowy tekst"
    },
    {
      "type": "add_element",
      "elementUrl": "https://example.com/logo.png",
      "position": {
        "x": 10,
        "y": 10
      },
      "scale": 0.5
    }
  ],
  "outputFormat": "png",
  "quality": 90
}
  • Przykład odpowiedzi:
{
  "jobId": "job_12345",
  "status": "processing",
  "editedImageUrl": "https://qwen-image-edit.com/results/job_12345.png" // Ważne po zakończeniu zadania
}

POST /analyze - Analiza obrazu

Wyodrębnia tekst, obiekty lub inne elementy wizualne z obrazu.

  • Przykład treści żądania:
{
  "imageUrl": "https://example.com/document.png",
  "features": [
    "text_detection",
    "object_recognition"
  ]
}
  • Przykład odpowiedzi:
{
  "jobId": "job_67890",
  "status": "processing",
  "analysisResult": {} // Ważne po zakończeniu zadania
}

3. Metody pomocnicze

GET /job/{jobId} - Pobieranie statusu zadania

Pobiera bieżący status wcześniej przesłanego zadania edycji lub analizy.

  • Parametry ścieżki:

    • jobId: (wymagane) Unikalny identyfikator zadania.
  • Przykład odpowiedzi (w toku):

{
  "jobId": "job_12345",
  "status": "processing",
  "progress": 50
}
  • Przykład odpowiedzi (ukończono):
{
  "jobId": "job_12345",
  "status": "completed",
  "editedImageUrl": "https://qwen-image-edit.com/results/job_12345.png",
  "outputDetails": {
    "format": "png",
    "size": "1.2MB"
  }
}
  • Przykład odpowiedzi (niepowodzenie):
{
  "jobId": "job_12345",
  "status": "failed",
  "errorMessage": "Nieobsługiwany format obrazu wejściowego."
}

4. Zaawansowana konfiguracja

Możesz dołączyć następujące nagłówki do swoich żądań API, aby dostosować zaawansowane zachowanie:

  • X-Qwen-Region: Określa konkretny region do przetwarzania żądania (np. us-east-1, eu-west-1).
  • X-Qwen-Callback-Url: Określa adres URL webhooka do otrzymywania powiadomień o zakończeniu zadania.

5. Obsługa błędów

API używa standardowych kodów statusu HTTP do wskazywania sukcesu lub błędu.

  • 200 OK: Żądanie zostało pomyślnie przetworzone.
  • 202 Accepted: Żądanie zostało zaakceptowane i jest przetwarzane asynchronicznie.
  • 400 Bad Request: Nieprawidłowa składnia żądania.
  • 401 Unauthorized: Nie podano prawidłowego klucza API.
  • 403 Forbidden: Klucz API nie ma wystarczających uprawnień do żądanej operacji.
  • 404 Not Found: Nie znaleziono żądanego zasobu (np. nieistniejący jobId).
  • 429 Too Many Requests: Przekroczono limit szybkości.
  • 500 Internal Server Error: Wystąpił błąd na serwerze API.
  • 503 Service Unavailable: Usługa jest tymczasowo niedostępna.

Odpowiedzi na błędy będą zawierać pola code i message, dostarczające więcej szczegółów na temat problemu.

{
  "code": "INVALID_API_KEY",
  "message": "Podany klucz API jest nieprawidłowy."
}

6. Limity i kwoty

API ma limity szybkości i kwoty, aby zapewnić sprawiedliwe i stabilne użytkowanie. Szczegółowe informacje można znaleźć w dokumentacji cen i kwot.

7. Webhooki

Qwen Image Edit obsługuje webhooki do wysyłania powiadomień o zmianach statusu zadania. Aby skonfigurować webhooki, zarejestruj adres URL wywołania zwrotnego w konsoli.

Obsługiwane typy zdarzeń:

  • job.completed: Wyzwalane, gdy zadanie zostanie pomyślnie zakończone.
  • job.failed: Wyzwalane, gdy zadanie zakończy się niepowodzeniem.

Przykład ładunku webhooka:

{
  "eventType": "job.completed",
  "jobId": "job_12345",
  "status": "completed",
  "timestamp": "2023-10-27T10:00:00Z",
  "data": {
    "editedImageUrl": "https://qwen-image-edit.com/results/job_12345.png",
    "outputDetails": {
      "format": "png",
      "size": "1.2MB"
    }
  }
}

8. Zestawy SDK

Qwen Image Edit udostępnia zestawy SDK dla różnych języków programowania, aby uprościć interakcję z API.