Bu belge, kodun web'dekiyle aynı sonuçları elde etmek için nasıl kullanılacağını açıklamaktadır. Belgeden sonra yalnızca göreli adres API'si verilecektir, ana etki alanı adını bir araya getirmeniz gerekir: https://api.aitubo.ai.
Örneğin, bir iş oluşturmak istiyorsanız, şunu çağırmanız gerekir: https://api.aitubo.ai/api/job/create
Belge iki bölüme ayrılmıştır, ilki örnekler, ikincisi ise belirli API'ler içindir.
Bu bölüm, bir işin nasıl oluşturulacağını ve bir işin nasıl elde edileceğini açıklamaktadır. İş oluşturmak için API'miz üç temel işlev sağlar: Text2Image, Image2Image, and ControlNet(ControlNet, ek koşullar ekleyerek difüzyon modellerini kontrol etmek için bir sinir ağı yapısıdır).
Hangi üç özellikten birini kullanırsanız kullanın, önce desteklediğimiz modellerin bir listesini almanız gerekir ve ardından işi oluşturduğunuzda, şunu geçirmeniz gerekir: id model bilgilerinin alanı
curl --request GET \
--url 'https://api.aitubo.ai/api/model/list?type=platform' \
--header 'Authorization: Bearer ced695cfd83811eda5e286850d1dc848'
Sonuç buna benzer:
{
"code": 0,
"data": {
"domain": "https://file.aitubo.ai/",
"total": 10,
"models": [
{
"id": "6426f9c60ca4651b98b91a6d",
"name": "ConceptCanvas",
"username": "Aitubo",
"desc": "A model that creates concept scenes with a European thick paint or CG style.",
"cover": "assets/model/6426f9c60ca4651b98b91a6d/cover.jpg",
"isFavourite": false,
"controlNet": false
},
{
"id": "642b977d2f2842537c09fe41",
"name": "DreamShaper",
"username": "Aitubo",
"desc": "A model that can generate multiple styles of scenes, characters, and game assets.",
"cover": "assets/model/642b977d2f2842537c09fe41/cover.jpg",
"isFavourite": false,
"controlNet": true
},
...
]
}
}
curl --request POST \
--url https://api.aitubo.ai/api/job/create \
--header 'Authorization: Bearer ced695cfd83811eda5e286850d1dc848' \
--header 'content-type: application/json' \
--data '{
"prompt": "A cat sleeps on the plane",
"modelId": "642b977d2f2842537c09fe41"
}
Ardından, buna benzer bir yanıt alacaksınız:
{
"code": 0,
"data": {
"consumedCredit": 40,
"credit": 120,
"id": "64351e4d567bcd86773dc841"
}
}
Anket yaparak görev oluşturma durumunu kontrol edebilirsiniz. Her fotoğrafın tamamlanması yaklaşık 2 saniye sürer, bu nedenle lütfen sorgu sıklığınızı kontrol edin. Son olarak, buna benzer bir şey elde edeceksiniz:
{
"code": 0,
"data": {
"id": "64351e4d567bcd86773dc841",
"args": {
"prompt": "A cat sleeps on the plane",
"negativePrompt": "lowres, bad anatomy, cropped, worst quality, low quality",
"strength": 0.8,
"width": 512,
"height": 512,
"count": 4,
"steps": 30,
"modelId": "642b977d2f2842537c09fe41"
},
"result": {
"info": "Warning: some images may contain NSFW content",
"data": {
"images": [
"images/art/640076a4661aa1c0f81ba2d7/cgqhsljj5mf00080001g.png",
"images/art/640076a4661aa1c0f81ba2d7/cgqhsljj5mf000800020.png",
"images/art/640076a4661aa1c0f81ba2d7/cgqhsljj5mf00080002g.png",
"images/art/640076a4661aa1c0f81ba2d7/cgqhsljj5mf000800030.png"
],
"artIds": [
"64351e56567bcd86773dc842",
"64351e56567bcd86773dc843",
"64351e56567bcd86773dc844",
"64351e56567bcd86773dc845"
],
"domain": "https://file.aitubo.ai/"
}
},
"status": 2,
"createAt": "2023-04-11T08:46:05.55Z"
}
}
Image2Image'i kullanmak için, bizim Görsel Yükle bir görüntünün OSS göreli adresini almak için API'mizi çağırabilir veya mutlak bir adrese sahip bir görüntü verebilirsiniz.
curl --request POST \
--url https://api.aitubo.ai/api/job/create \
--header 'Authorization: Bearer ced695cfd83811eda5e286850d1dc848' \
--header 'content-type: application/json' \
--data '{
"imagePath": "images/tmp/cgqi1jntuq4000800040.png",
"modelId": "642b977d2f2842537c09fe41",
"prompt": "scene",
"guidanceScale": 0.7
}'
Text2Image gibi, görev oluşturma durumunu anket yaparak kontrol edebilirsiniz.
ControlNet işlevini kullanmadan önce, ilgili ControlNet kategorilerini elde etmek için önce /job/model/list API'sini çağırmalısınız:
{
"code": 0,
"data": {
"domain": "https://file.aitubo.ai/",
"models": [
{
"id": "canny",
"name": "canny",
"icon": "assets/template/control_canny.jpg"
},
{
"id": "scribble",
"name": "scribble",
"icon": "assets/template/control_scribble.jpg"
},
...
}
}
Ardından /job/create API'sini çağırın:
curl --request POST \
--url https://api.aitubo.ai/api/job/create \
--header 'Authorization: Bearer ced695cfd83811eda5e286850d1dc848' \
--header 'content-type: application/json' \
--data '{ "imagePath": "https://ichef.bbci.co.uk/news/976/cpsprodpb/17638/production/_124800859_gettyimages-817514614.jpg.webp",
"controlModel": "canny",
"prompt": "a little dog"
}'
Ayrıca şunu da geçebilirsiniz modelId alan(Modelin ControlNet'i desteklediğinden emin olun):
curl --request POST \
--url https://api.aitubo.ai/api/job/create \
--header 'Authorization: Bearer ced695cfd83811eda5e286850d1dc848' \
--header 'content-type: application/json' \
--data '{
"imagePath": "https://ichef.bbci.co.uk/news/976/cpsprodpb/17638/production/_124800859_gettyimages-817514614.jpg.webp",
"controlModel": "canny",
"prompt": "a little dog",
"modelId": "642b977d2f2842537c09fe41"
}'
Yol: /api/job/upload-image
Yöntem: POST
Başlıklar
Ad | Değer | Gerekli | Örnek |
---|---|---|---|
Content-Type | multipart/form-data | evet | |
Authorization | Bearer {YOUR KEY} | evet | Bearer 37f333a2d5f811edb248acde48001122 |
Gövde
Ad | Değer | Gerekli |
---|---|---|
image | dosya | evet |
Ad | Tip | Gerekli | Varsayılan | Not | Diğerleri |
---|---|---|---|---|---|
code | integer | evet | code=0 -> başarılı | ||
info | string | hayır | hata bilgisi | ||
data | object | hayır | |||
├─path | string | hayır | AliYun OSS'nin görüntü yolu |
Yol: /api/job/create
Yöntem: POST
Başlıklar
Ad | Değer | Gerekli | Örnek |
---|---|---|---|
Content-Type | application/json | evet | |
Authorization | Bearer {YOUR KEY} | evet | Bearer 37f333a2d5f811edb248acde48001122 |
Gövde
Ad | Tip | Gerekli | Varsayılan | Not | Diğerleri |
---|---|---|---|---|---|
imagePath | string | hayır | yüklenen görüntünün yolu (url/oss her ikisi de) | ||
maskImage | string | hayır | AI Editor bu alanı geçmeli | ||
modelId | string | hayır | controlModel null ise, bu alan doldurulmalıdır | ||
prompt | string | evet | istek | ||
negativePrompt | string | hayır | olumsuz istek | ||
controlModel | string | hayır | canny / scribble / openpose / mlsd / hed / seg / depth / normal | ||
controlStrength | number | hayır | 1 | [0, 2] | |
controlFilter | string | hayır | kontrol görüntüsünün ön işleyicisi, örneğin: openpose / openpose_full / openpose_hand / openpose_face / openpose_faceonly | ||
strength | number | hayır | 0.8 | [0.1, 1] | |
width | integer | hayır | 512 | ||
height | integer | hayır | 512 | ||
steps | integer | hayır | 30 | 10 <= değer <= 50 | |
guidanceScale | integer | hayır | 7.5 | 0 < değer <= 20 | |
count | integer | hayır | 4 | oluşturulan görüntü sayısı |
Ad | Tip | Gerekli | Varsayılan | Not | Diğerleri |
---|---|---|---|---|---|
code | number | evet | 0 -> başarılı;1000 -> yeterli kredi yok | ||
info | string | hayır | hata bilgisi | ||
data | object | evet | |||
├─id | string | evet | iş ID'si | ||
├─credit | integer | evet | kullanıcının toplam kredisi | ||
├─consumedCredit | integer | evet | işin harcanan kredisi |
Yol: /api/job/get
Yöntem: GET
Sorgu
Ad | Gerekli | Örnek | Not |
---|---|---|---|
id | evet | 642ba091592245d79a645b39 | iş ID'si |
Ad | Type | Gerekli | Default | Not | Others |
---|---|---|---|---|---|
code | integer | evet | 0 -> başarılı | ||
info | string | hayır | hata bilgisi | ||
data | object | evet | |||
├─id | string | evet | iş ID'si | ||
├─createAt | string | evet | işin oluşturulma zamanı | ||
├─status | integer | evet | işin durumu. 0 -> hazır değil; 1 -> işleniyor; 2 -> başarılı; 3 -> başarısız | ||
├─result | object | hayır | |||
├─├─info | string | hayır | |||
├─├─data | object | hayır | |||
├─├─├─images | string [] | hayır | Görüntünün ortaya çıkan göreli yolu (etki alanı alanı ile birleştirilmesi gerekir) | item Type:string | |
├─├─├─artIds | string [] | hayır | Resmin karşılık gelen artID'si | item Type:string | |
├─├─├─domain | string | hayır | oss url'si, resmin göreli yolunu birleştirmeniz gerekir | ||
├─args | object | hayır | |||
├─├─prompt | string | hayır | |||
├─├─negativePrompt | string | hayır | |||
├─├─model | string | hayır | |||
├─├─strength | integer | hayır | |||
├─├─width | integer | hayır | |||
├─├─height | integer | hayır |
Yol: /api/job/models
Yöntem: GET
Ad | Tip | Gerekli | Varsayılan | Not | Diğerleri |
---|---|---|---|---|---|
code | integer | evet | 0 -> başarılı | ||
info | string | hayır | hata bilgisi | ||
data | object | evet | |||
├domain | string | evet | görüntü oss etki alanı adı, aşağıdaki simge alanını birleştirmeniz gerekir | ||
├models | object [] | evet | item Type:object | ||
id | string | evet | model kimliği, bir iş oluştururken controlModel parametre değeri bu ID'dir | ||
name | string | evet | İngilizce adı | ||
cname | string | evet | Çince adı | ||
icon | string | evet | örnek resim. oss göreli yolu, etki alanlarını birleştirmeniz gerekir |
Yol: /api/job/list
Yöntem: GET
Başlıklar
Ad | Değer | Gerekli | Örnek | Not |
---|---|---|---|---|
Content-Type | application/json | evet | ||
Authorization | Bearer {YOUR KEY} | evet | Bearer 37f333a2d5f811edb248acde48001122 |
Query
Ad | Gerekli | Örnek | Not |
---|---|---|---|
pageIndex | evet | 1'den başlayın | |
pageSize | evet |
Ad | Tip | Gerekli | Varsayılan | Not | Diğerleri |
---|---|---|---|---|---|
code | integer | evet | 0 -> başarılı | ||
info | string | hayır | hata bilgisi | ||
data | object | evet | |||
├─jobs | object [] | evet | iş dizisi | item Type:object | |
├─├─id | string | evet | iş ID'si | ||
├─├─createdAt | string | evet | |||
├─├─args | object | evet | |||
├─├─├─prompt | string | evet | |||
├─├─├─negativePrompt | string | evet | |||
├─├─├─strength | integer | evet | |||
├─├─├─width | integer | evet | |||
├─├─├─height | integer | evet | |||
├─├─├─count | integer | evet | |||
├─├─├─steps | integer | evet | |||
├─├─arts | object [] | evet | oluşturulan görüntü dizisi | item Type:object | |
├─├─├─id | string | evet | oluşturulan görüntünün kimliği | ||
├─├─├─images | object [] | evet | çeşitlilik resmi dizisi | item Type:object | |
├─├─├─├─spec | string | evet | varyant türü. o -> orijinal; 2x/3x/4x -> 2/3/4 ölçekli görüntü | ||
├─├─├─├─path | string | evet | görüntü yolu. birleştirilecek etki alanı | ||
├─├─├─├─size | integer | evet | görüntü boyutu. birim: Bayt | ||
├─domain | string | evet | oss görüntü etki alanı |
Yol: /api/model/list
Yöntem: GET
Başlıklar
Ad | Değer | Gerekli | Örnek | Not |
---|---|---|---|---|
Authorization | Bearer {YOUR KEY} | evet | Bearer 37f333a2d5f811edb248acde48001122 |
Sorgu
Ad | Gerekli | Örnek | Not |
---|---|---|---|
pageIndex | evet | 1'den başlayın | |
pageSize | evet | ||
type | hayır | platform/community |
Ad | Tip | Gerekli | Varsayılan | Not | Diğerleri |
---|---|---|---|---|---|
code | integer | evet | 0 -> başarılı | ||
info | string | hayır | hata bilgisi | ||
data | object | evet | |||
├─domain | string | evet | oss etki alanı | ||
├─total | integer | evet | sayfalandırma için filtrelenen toplam model sayısı | ||
├─models | object [] | evet | item Type:object | ||
├─├─id | string | evet | model ID'si | ||
├─├─name | string | evet | model adı | ||
├─├─username | string | evet | model’s author name | ||
├─├─desc | string | evet | model açıklaması | ||
├─├─cover | string | evet | model kapağı | ||
├─├─isFavourite | boolean | evet | kullanıcının modeli favorilere ekleyip eklemediği | ||
├─├─controlNet | boolean | evet | modelin ControlNet'i destekleyip desteklemediği |
Yol: /api/job/upscale
Yöntem: POST
Başlıklar
Ad | Değer | Gerekli | Örnek | Not |
---|---|---|---|---|
Content-Type | application/json | evet | ||
Authorization | Bearer {YOUR KEY} | evet | Bearer 37f333a2d5f811edb248acde48001122 |
Gövde
Ad | Tip | Gerekli | Varsayılan | Not | Diğerleri |
---|---|---|---|---|---|
model | string | hayır | ölçeklendirme model adı | ||
RealESRGAN _x4plus / RealESRGAN_x4plus_anime_6B | |||||
imagePath | string | evet | görüntü yolu. birleştirilecek etki alanı | ||
upscaleFactor | integer | evet | 2 <= faktör <= 4 | ||
beauty | boolean | hayır | yüz geliştirme özelliğinin etkinleştirilip etkinleştirilmeyeceği | ||
artId | string | evet | Süper nokta resmi artID'sine ihtiyacınız var |
Ad | Tip | Gerekli | Varsayılan | Not | Diğerleri |
---|---|---|---|---|---|
code | number | evet | 0 -> başarılı;1000 -> yeterli kredi yok | ||
info | string | hayır | hata bilgisi | ||
data | object | evet | |||
├─id | string | hayır | ölçeklendirme iş kimliği | ||
├─credit | integer | evet | kullanıcının toplam kredisi | ||
├─consumedCredit | integer | evet | işin harcanan kredisi |
Yol: /api/art/segment
Yöntem: POST
Başlıklar
Ad | Değer | Gerekli | Örnek | Not |
---|---|---|---|---|
Content-Type | application/json | evet | ||
Authorization | Bearer {YOUR KEY} | evet | Bearer 37f333a2d5f811edb248acde48001122 |
Gövde
Ad | Tip | Gerekli | Varsayılan | Not | Diğerleri |
---|---|---|---|---|---|
image | string | evet | görüntü yolu. mutlak/göreceli yol |
Ad | Tip | Gerekli | Varsayılan | Not | Diğerleri |
---|---|---|---|---|---|
code | number | evet | 0 -> başarılı | ||
info | string | hayır | hata bilgisi | ||
data | object | evet | |||
├─image | string | evet | Bölümlendirmeden sonra görüntünün URL'si |
Yol: /api/user/profile
Yöntem: GET
Başlıklar
Ad | Değer | Gerekli | Örnek | Not |
---|---|---|---|---|
Content-Type | application/json | evet | ||
Authorization | Bearer {YOUR KEY} | evet | Bearer 37f333a2d5f811edb248acde48001122 |
Ad | Tip | Gerekli | Varsayılan | Not | Diğerleri |
---|---|---|---|---|---|
code | number | evet | 0 -> başarılı | ||
info | string | hayır | hata bilgisi | ||
data | object | evet | |||
├─name | string | evet | |||
string | evet | ||||
├─avatar | string | evet | |||
├─phone | string | evet | |||
├─credit | integer | evet | kullanıcının toplam kredisi | ||
├─displayNSFW | boolean | evet | |||
├─discord | boolean | evet |
Yol: api/transform/list
Yöntem: GET
Ad | Tip | Gerekli | Varsayılan | Not | Diğerleri |
---|---|---|---|---|---|
code | number | evet | 0 -> başarılı | ||
info | string | hayır | hata bilgisi | ||
data | object | evet | |||
├─domain | string | evet | görüntü oss etki alanı adı, aşağıdaki simge alanını birleştirmeniz gerekir | ||
├─tags | string[] | evet | şablon etiketi | ||
├─transform | object | evet | |||
├─├─tag | object[] | evet | |||
├─├─├─id | string | evet | |||
├─├─├─name | string | evet | |||
├─├─├─image | string | evet | orijinal görüntü | ||
├─├─├─art | string | evet | sonuç görüntüsü | ||
├─├─├─cost | number | evet | kredi tüketimi | ||
├─├─├─pro | boolean | evet | pro mu | ||
├─├─├─tag | string | evet | etiket |
Yol: api/transform/create-headshot
Yöntem: POST
Başlıklar
Ad | Değer | Gerekli | Örnek | Not |
---|---|---|---|---|
Content-Type | application/json | evet | ||
Authorization | Bearer {YOUR KEY} | evet | Bearer 37f333a2d5f811edb248acde48001122 |
Gövde
Ad | Tip | Gerekli | Varsayılan | Not | Diğerleri |
---|---|---|---|---|---|
imagePath | string | evet | çağrıldığında döndürülen görüntü yolu görüntü yükleme api'si | ||
transformId | string | evet | |||
width | integer | hayır | |||
height | integer | hayır | |||
keepHair | boolean | hayır | false | ||
keepPose | boolean | hayır | true |
Ad | Tip | Gerekli | Varsayılan | Not | Diğerleri |
---|---|---|---|---|---|
code | number | evet | 0 -> başarılı;1000 -> yeterli kredi yok | ||
info | string | hayır | hata bilgisi | ||
data | object | evet | |||
├─id | string | evet | iş ID'si | ||
├─credit | integer | evet | kullanıcının toplam kredisi | ||
├─consumedCredit | integer | evet | işin harcanan kredisi |