Qwen 2.1 Görüntü Düzenleme
Çözünürlük ve şeffaf arka plan kontrolüyle en fazla on kaynak görüntüyü düzenleyin veya tek bir maskelenmiş bölgeyi yeniden boyayın.
Genel Bakış
Desteklenen bir modelle görüntü düzenleme uç noktasını kullanın. Durumunu almak için döndürülen Görev Kimliğini kullanın ya da aşağıda belgelenen teslimatlar için callback_url sağlayın.
Hızlı başlangıç
- Bir API anahtarı oluşturun ve RUNAPI_API_KEY olarak ayarlayın.
- Desteklenen bir model seçin ve gövdesi o modelin şemasıyla eşleşen bir POST isteği gönderin.
- Döndürülen görev kimliğini saklayın, ardından bir terminal durumuna ulaşana kadar yoklama yapın ya da aşağıda belgelenen geri çağırmaları işleyin.
Uç Nokta
- Temel URL
https://runapi.ai- API sürümü
v1- Kimlik doğrulama
Authorization: Bearer YOUR_API_TOKEN
Desteklenen modeller
Güncel fiyatlandırma, hız sınırları ve ticari kullanım ayrıntıları için bir model sayfası açın.
İstek şeması
Alanlar ve izin verilen değerler seçili modele göre değişir. Sağlandığında, callback_url aşağıda belgelenen Görev teslimatlarını alır.
qwen-2.1-edit-image11 alan
aspect_ratiostringÇıktı en-boy oranı. auto ilk kaynak görseli izler. mask_url ayarlandığında yok sayılır.
İzin verilen değerler:auto, 1:1, 4:3, 3:4, 3:2, 2:3, 16:9, 9:16, 21:9, 9:21
Varsayılan: auto
backgroundstringArka plan türü. Şeffaf arka plan için output_format değerinin png veya webp olması gerekir ve mask_url ile birlikte kullanılamaz; istemde yalnızca nesneyi tanımlayın.
İzin verilen değerler:opaque, transparent
Varsayılan: opaque
callback_urlstringAsenkron görev güncellemeleri için webhook URL'si.
enable_prompt_expansionbooleanRunAPI'nin üretimden önce istemi genişletip genişletmeyeceği. mask_url ayarlandığında yok sayılır.
Varsayılan:true
mask_urlstringYerel düzenleme için herkese açık maske görseli URL'si: beyaz değiştirilecek alanı işaretler, siyah korunur. Tam olarak bir kaynak görsel gerektirir ve şeffaf arka planla birlikte kullanılamaz; aspect_ratio ve enable_prompt_expansion yok sayılır.
modelstringRunAPI model tanımlayıcısı.
output_formatstringÇıktı görsel biçimi. jpeg şeffaf arka planla birlikte kullanılamaz.
İzin verilen değerler:png, webp, jpeg
Varsayılan: png
output_resolutionstringÇıktı görüntü çözünürlüğü.
İzin verilen değerler:1k, 2k
Varsayılan: 1k
promptstringGörsel düzenleme istemi. mask_url ile birlikte, maskenin beyaz alanında ne oluşturulacağını tanımlar.
Aralık:1 - 5000
seedintegerTekrarlanabilir sonuçlar için tam sayı seed; rastgele seed için boş bırakın.
source_image_urlsarrayHerkese açık kaynak görsel URL'leri; istemin onlara başvurduğu sırayla bir ila on görsel.
Öğe aralığı:1 - 10
Koşullu kurallar
Bu gereksinimler, listelenen tüm koşulların eşleştiği durumlarda uygulanır.
-
Şu durumlarda
background = transparent,output_format = jpeg- Gerekli
- Kabul edilmez
output_format
-
Şu durumlarda
background = transparent,mask_url present- Gerekli
- Kabul edilmez
mask_url
Kabul oluştur
POST /api/v1/qwen_2_1/edit_image
Yanıt şeması
{
"properties": {
"id": {
"type": "string"
},
"status": {
"enum": [
"processing"
],
"type": "string"
},
"task_replayed": {
"type": "boolean"
}
},
"required": [
"id",
"status"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"id": "tsk_reference_demo",
"status": "processing"
}
Yoklama işleniyor
GET /api/v1/qwen_2_1/edit_image/:id
Yanıt şeması
{
"properties": {
"id": {
"type": "string"
},
"status": {
"enum": [
"processing"
],
"type": "string"
}
},
"required": [
"id",
"status"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"id": "tsk_reference_demo",
"status": "processing"
}
Yoklama tamamlandı
GET /api/v1/qwen_2_1/edit_image/:id
Yanıt şeması
{
"properties": {
"id": {
"type": "string"
},
"images": {
"items": {
"properties": {
"url": {
"type": "string",
"x-runapi-generated-media": true
}
},
"required": [
"url"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
},
"status": {
"enum": [
"completed"
],
"type": "string"
},
"usage": {
"properties": {
"cost": {
"type": "number"
}
},
"required": [
"cost"
],
"type": "object",
"unevaluatedProperties": false
}
},
"required": [
"id",
"status",
"images",
"usage"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"id": "tsk_reference_demo",
"images": [
{
"url": "https://cdn.runapi.ai/public/samples/image.jpg"
}
],
"status": "completed",
"usage": {
"cost": 0.05
}
}
Yoklama başarısız oldu
GET /api/v1/qwen_2_1/edit_image/:id
Yanıt şeması
{
"properties": {
"error": {
"type": "string"
},
"id": {
"type": "string"
},
"status": {
"enum": [
"failed"
],
"type": "string"
}
},
"required": [
"id",
"status",
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "Task processing failed.",
"id": "tsk_reference_demo",
"status": "failed"
}
Müşteri geri çağırması: tamamlandı
POST callback_url
Yanıt şeması
{
"properties": {
"id": {
"type": "string"
},
"images": {
"items": {
"properties": {
"url": {
"type": "string",
"x-runapi-generated-media": true
}
},
"required": [
"url"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
},
"status": {
"enum": [
"completed"
],
"type": "string"
},
"usage": {
"properties": {
"cost": {
"type": "number"
}
},
"required": [
"cost"
],
"type": "object",
"unevaluatedProperties": false
}
},
"required": [
"id",
"status",
"images",
"usage"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"id": "tsk_reference_demo",
"images": [
{
"url": "https://cdn.runapi.ai/public/samples/image.jpg"
}
],
"status": "completed",
"usage": {
"cost": 0.05
}
}
Müşteri geri çağırması: başarısız oldu
POST callback_url
Yanıt şeması
{
"properties": {
"error": {
"oneOf": [
{
"type": "string"
},
{
"properties": {
"code": {
"type": "string"
},
"limit_cents": {
"type": "integer"
},
"message": {
"type": "string"
},
"reset_at": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"used_cents": {
"type": "integer"
},
"window": {
"enum": [
"1h",
"1d",
"7d",
"daily",
"weekly",
"monthly",
"lifetime"
],
"type": "string"
}
},
"required": [
"code",
"message"
],
"type": "object",
"unevaluatedProperties": false
}
]
},
"id": {
"type": "string"
},
"status": {
"enum": [
"failed"
],
"type": "string"
}
},
"required": [
"id",
"status",
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": {
"code": "generation_failed",
"message": "Task processing failed."
},
"id": "tsk_reference_demo",
"status": "failed"
}
Hatalar
POST /api/v1/qwen_2_1/edit_image
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "Authentication required"
}
Hatalar
GET /api/v1/qwen_2_1/edit_image/:id
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "Authentication required"
}
Hatalar
POST /api/v1/qwen_2_1/edit_image
Yanıt şeması
{
"oneOf": [
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
},
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir doğrulama özeti.",
"type": "string"
},
"errors": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "Herkese açık istek alanına göre anahtarlanan doğrulama mesajları; her alan için insan tarafından okunabilir dizelerden oluşan bir dizi içerir.",
"type": "object"
}
},
"required": [
"error",
"errors"
],
"type": "object",
"unevaluatedProperties": false
}
]
}
Yanıt örneği
{
"error": "model must be one of: qwen-2.1-edit-image"
}
Hatalar
POST /api/v1/qwen_2_1/edit_image
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "Insufficient balance"
}
Hatalar
POST /api/v1/qwen_2_1/edit_image
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "API key credit limit exceeded"
}
Hatalar
POST /api/v1/qwen_2_1/edit_image
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "The request uses features that are not supported for the selected model"
}
Hatalar
POST /api/v1/qwen_2_1/edit_image
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "Rate limit reached. Please retry later."
}
Hatalar
POST /api/v1/qwen_2_1/edit_image
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "Service under maintenance, please try again later"
}
Hatalar
POST /api/v1/qwen_2_1/edit_image
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "The request timed out"
}
Hatalar
GET /api/v1/qwen_2_1/edit_image/:id
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "Task with id 'tsk_reference_demo' not found"
}
Oluşturulan Kod Örnekleri
Doğrudan cURL kullanın veya diliniz için bir SDK yükleyin. Her örnek, bu başvuruda gösterilen doğrulanmış isteği gönderir.
Yükle
pip install runapi-qwen-2-1
import os
from runapi.qwen_2_1 import Qwen21Client
client = Qwen21Client(api_key=os.environ["RUNAPI_API_KEY"])
task = client.edit_image.create(
model="qwen-2.1-edit-image",
prompt="Change the vase to cobalt blue.",
source_image_urls=["https://cdn.runapi.ai/public/samples/image.jpg"],
output_resolution="2k"
)