Dette dokumentet beskriver hvordan du bruker koden for å oppnå de samme resultatene som på nettet. Etter dokumentet vil bare gi relativ adresse API, du må sette sammen til hoveddomenenavnet: https://api.aitubo.ai.
For eksempel, hvis du vil opprette en jobb, må du ringe https://api.aitubo.ai/api/job/create
Dokumentet er delt inn i to seksjoner, den første for eksempler og den andre for spesifikk API.
Denne delen beskriver hvordan du oppretter en jobb og får en jobb. Vår API for å opprette jobber tilbyr tre kjernefunksjoner: Text2Image, Image2Image, and ControlNet(ControlNet er en nevrale nettverksstruktur for å kontrollere diffusjonsmodeller ved å legge til ekstra betingelser).
Uavhengig av hvilken av de tre funksjonene du bruker, må du først få en liste over modellene vi støtter, og deretter når du oppretter jobben, må du sende inn id feltet i modellinformasjonen
curl --request GET \
--url 'https://api.aitubo.ai/api/model/list?type=platform' \
--header 'Authorization: Bearer ced695cfd83811eda5e286850d1dc848'
Resultatet er noe sånt som dette:
{
"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"
}
Deretter får du et svar som dette:
{
"code": 0,
"data": {
"consumedCredit": 40,
"credit": 120,
"id": "64351e4d567bcd86773dc841"
}
}
Du kan sjekke statusen for oppretting av oppgaven ved å spørre. Hvert bilde tar omtrent 2 sekunder å fullføre, så kontroller spørringsfrekvensen din. Til slutt får du slik:
{
"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"
}
}
For å bruke Image2Image kan du ringe vår Last opp bilde API for å få en bildes OSS relative adresse, eller du kan gi et bilde med en absolutt adresse.
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
}'
Du kan sjekke statusen for oppretting av oppgaven ved å spørre akkurat som Text2Image.
Før du bruker ControlNet-funksjonen, må du først ringe /job/model/list API for å få de tilsvarende ControlNet-kategoriene:
{
"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"
},
...
}
}
Deretter ringer du /job/create API:
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"
}'
Du kan også sende modelId felt(Sørg for at modellen støtter ControlNet):
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"
}'
Sti: /api/job/upload-image
Metode: POST
Overskrifter
Navn | Verdi | Påkrevd | Eksempel |
---|---|---|---|
Content-Type | multipart/form-data | ja | |
Authorization | Bearer {YOUR KEY} | ja | Bearer 37f333a2d5f811edb248acde48001122 |
Kropp
Navn | Verdi | Påkrevd |
---|---|---|
image | fil | ja |
Navn | Type | Påkrevd | Standard | Merk | Andre |
---|---|---|---|---|---|
code | integer | ja | code=0 -> suksess | ||
info | string | nei | feilinfo | ||
data | object | nei | |||
├─path | string | nei | bildebane for AliYun OSS |
Sti: /api/job/create
Metode: POST
Overskrifter
Navn | Verdi | Påkrevd | Eksempel |
---|---|---|---|
Content-Type | application/json | ja | |
Authorization | Bearer {YOUR KEY} | ja | Bearer 37f333a2d5f811edb248acde48001122 |
Kropp
Navn | Type | Påkrevd | Standard | Merk | Andre |
---|---|---|---|---|---|
imagePath | string | nei | bane til det opplastede bildet(url/oss begge) | ||
maskImage | string | nei | AI Editor bør sende dette feltet | ||
modelId | string | nei | hvis controlModel er null, bør dette feltet fylles ut | ||
prompt | string | ja | ledetekst | ||
negativePrompt | string | nei | negativ ledetekst | ||
controlModel | string | nei | canny / scribble / openpose / mlsd / hed / seg / depth / normal | ||
controlStrength | number | nei | 1 | [0, 2] | |
controlFilter | string | nei | forløper for kontrollbilde, for eksempel: openpose / openpose_full / openpose_hand / openpose_face / openpose_faceonly | ||
strength | number | nei | 0.8 | [0.1, 1] | |
width | integer | nei | 512 | ||
height | integer | nei | 512 | ||
steps | integer | nei | 30 | 10 <= verdi <= 50 | |
guidanceScale | integer | nei | 7.5 | 0 < verdi <= 20 | |
count | integer | nei | 4 | generert bildeantall |
Navn | Type | Påkrevd | Standard | Merk | Andre |
---|---|---|---|---|---|
code | number | ja | 0 -> suksess;1000 -> ikke nok kreditt | ||
info | string | nei | feilinfo | ||
data | object | ja | |||
├─id | string | ja | jobb-ID | ||
├─credit | integer | ja | brukerens totale kreditt | ||
├─consumedCredit | integer | ja | forbrukt kreditt av jobben |
Sti: /api/job/get
Metode: GET
Spørring
Navn | Påkrevd | Eksempel | Merk |
---|---|---|---|
id | ja | 642ba091592245d79a645b39 | jobb-ID |
Navn | Type | Påkrevd | Default | Merk | Others |
---|---|---|---|---|---|
code | integer | ja | 0 -> suksess | ||
info | string | nei | feilinfo | ||
data | object | ja | |||
├─id | string | ja | jobb-ID | ||
├─createAt | string | ja | opprettet tidspunkt for jobben | ||
├─status | integer | ja | status for jobben. 0 -> ikke klar; 1 -> behandling; 2 -> suksess; 3 -> feil | ||
├─result | object | nei | |||
├─├─info | string | nei | |||
├─├─data | object | nei | |||
├─├─├─images | string [] | nei | Den resulterende relative banen til bildet (må sammenkobles med domene feltet) | item Type:string | |
├─├─├─artIds | string [] | nei | Bilde tilsvarende artID | item Type:string | |
├─├─├─domain | string | nei | oss url, du må sette sammen den relative banen til bildet | ||
├─args | object | nei | |||
├─├─prompt | string | nei | |||
├─├─negativePrompt | string | nei | |||
├─├─model | string | nei | |||
├─├─strength | integer | nei | |||
├─├─width | integer | nei | |||
├─├─height | integer | nei |
Sti: /api/job/models
Metode: GET
Navn | Type | Påkrevd | Standard | Merk | Andre |
---|---|---|---|---|---|
code | integer | ja | 0 -> suksess | ||
info | string | nei | feilinfo | ||
data | object | ja | |||
├domain | string | ja | bilde oss domenenavn, må sette sammen ikonfeltet nedenfor | ||
├models | object [] | ja | item Type:object | ||
id | string | ja | modell-ID, ControlModel-parameterverdien er denne ID-en når du oppretter en jobb | ||
name | string | ja | Engelsk navn | ||
cname | string | ja | Kinesisk navn | ||
icon | string | ja | eksempelbilde. oss relativ bane, du må sette sammen domener |
Sti: /api/job/list
Metode: GET
Overskrifter
Navn | Verdi | Påkrevd | Eksempel | Merk |
---|---|---|---|---|
Content-Type | application/json | ja | ||
Authorization | Bearer {YOUR KEY} | ja | Bearer 37f333a2d5f811edb248acde48001122 |
Query
Navn | Påkrevd | Eksempel | Merk |
---|---|---|---|
pageIndex | ja | start fra 1 | |
pageSize | ja |
Navn | Type | Påkrevd | Standard | Merk | Andre |
---|---|---|---|---|---|
code | integer | ja | 0 -> suksess | ||
info | string | nei | feilinfo | ||
data | object | ja | |||
├─jobs | object [] | ja | jobbmatrise | item Type:object | |
├─├─id | string | ja | jobb-ID | ||
├─├─createdAt | string | ja | |||
├─├─args | object | ja | |||
├─├─├─prompt | string | ja | |||
├─├─├─negativePrompt | string | ja | |||
├─├─├─strength | integer | ja | |||
├─├─├─width | integer | ja | |||
├─├─├─height | integer | ja | |||
├─├─├─count | integer | ja | |||
├─├─├─steps | integer | ja | |||
├─├─arts | object [] | ja | den genererte matrisen av bilder | item Type:object | |
├─├─├─id | string | ja | ID-en til det genererte bildet | ||
├─├─├─images | object [] | ja | utvalg bilde matrise | item Type:object | |
├─├─├─├─spec | string | ja | varianttype. o -> opprinnelse; 2x/3x/4x -> 2/3/4 skala bilde | ||
├─├─├─├─path | string | ja | bildebane. domene som skal sammenkobles | ||
├─├─├─├─size | integer | ja | bildestørrelse. enhet: Byte | ||
├─domain | string | ja | oss bildedomenet |
Sti: /api/model/list
Metode: GET
Overskrifter
Navn | Verdi | Påkrevd | Eksempel | Merk |
---|---|---|---|---|
Authorization | Bearer {YOUR KEY} | ja | Bearer 37f333a2d5f811edb248acde48001122 |
Spørring
Navn | Påkrevd | Eksempel | Merk |
---|---|---|---|
pageIndex | ja | start fra 1 | |
pageSize | ja | ||
type | nei | platform/community |
Navn | Type | Påkrevd | Standard | Merk | Andre |
---|---|---|---|---|---|
code | integer | ja | 0 -> suksess | ||
info | string | nei | feilinfo | ||
data | object | ja | |||
├─domain | string | ja | oss domene | ||
├─total | integer | ja | det totale antallet modeller filtrert for paginering | ||
├─models | object [] | ja | item Type:object | ||
├─├─id | string | ja | modell-ID | ||
├─├─name | string | ja | modellnavn | ||
├─├─username | string | ja | model’s author name | ||
├─├─desc | string | ja | model beskrivelse | ||
├─├─cover | string | ja | modellomslag | ||
├─├─isFavourite | boolean | ja | om brukeren favoriserer modellen | ||
├─├─controlNet | boolean | ja | om modellen støtter ControlNet |
Sti: /api/job/upscale
Metode: POST
Overskrifter
Navn | Verdi | Påkrevd | Eksempel | Merk |
---|---|---|---|---|
Content-Type | application/json | ja | ||
Authorization | Bearer {YOUR KEY} | ja | Bearer 37f333a2d5f811edb248acde48001122 |
Kropp
Navn | Type | Påkrevd | Standard | Merk | Andre |
---|---|---|---|---|---|
model | string | nei | oppskaleringsmodellnavn | ||
RealESRGAN _x4plus / RealESRGAN_x4plus_anime_6B | |||||
imagePath | string | ja | bildebane. domene som skal sammenkobles | ||
upscaleFactor | integer | ja | 2 <= faktor <= 4 | ||
beauty | boolean | nei | om du vil aktivere ansiktsforbedring | ||
artId | string | ja | Trenger et superpunkt bilde artID |
Navn | Type | Påkrevd | Standard | Merk | Andre |
---|---|---|---|---|---|
code | number | ja | 0 -> suksess;1000 -> ikke nok kreditt | ||
info | string | nei | feilinfo | ||
data | object | ja | |||
├─id | string | nei | oppskaleringsjobb-ID | ||
├─credit | integer | ja | brukerens totale kreditt | ||
├─consumedCredit | integer | ja | forbrukt kreditt av jobben |
Sti: /api/art/segment
Metode: POST
Overskrifter
Navn | Verdi | Påkrevd | Eksempel | Merk |
---|---|---|---|---|
Content-Type | application/json | ja | ||
Authorization | Bearer {YOUR KEY} | ja | Bearer 37f333a2d5f811edb248acde48001122 |
Kropp
Navn | Type | Påkrevd | Standard | Merk | Andre |
---|---|---|---|---|---|
image | string | ja | bildebane. absolutt/relativ bane |
Navn | Type | Påkrevd | Standard | Merk | Andre |
---|---|---|---|---|---|
code | number | ja | 0 -> suksess | ||
info | string | nei | feilinfo | ||
data | object | ja | |||
├─image | string | ja | URL for bildet etter segmentering |
Sti: /api/user/profile
Metode: GET
Overskrifter
Navn | Verdi | Påkrevd | Eksempel | Merk |
---|---|---|---|---|
Content-Type | application/json | ja | ||
Authorization | Bearer {YOUR KEY} | ja | Bearer 37f333a2d5f811edb248acde48001122 |
Navn | Type | Påkrevd | Standard | Merk | Andre |
---|---|---|---|---|---|
code | number | ja | 0 -> suksess | ||
info | string | nei | feilinfo | ||
data | object | ja | |||
├─name | string | ja | |||
string | ja | ||||
├─avatar | string | ja | |||
├─phone | string | ja | |||
├─credit | integer | ja | brukerens totale kreditt | ||
├─displayNSFW | boolean | ja | |||
├─discord | boolean | ja |
Sti: api/transform/list
Metode: GET
Navn | Type | Påkrevd | Standard | Merk | Andre |
---|---|---|---|---|---|
code | number | ja | 0 -> suksess | ||
info | string | nei | feilinfo | ||
data | object | ja | |||
├─domain | string | ja | bilde oss domenenavn, må sette sammen ikonfeltet nedenfor | ||
├─tags | string[] | ja | mal tag | ||
├─transform | object | ja | |||
├─├─tag | object[] | ja | |||
├─├─├─id | string | ja | |||
├─├─├─name | string | ja | |||
├─├─├─image | string | ja | opprinnelig bilde | ||
├─├─├─art | string | ja | resultatbilde | ||
├─├─├─cost | number | ja | kredittforbruk | ||
├─├─├─pro | boolean | ja | er pro | ||
├─├─├─tag | string | ja | tag |
Sti: api/transform/create-headshot
Metode: POST
Overskrifter
Navn | Verdi | Påkrevd | Eksempel | Merk |
---|---|---|---|---|
Content-Type | application/json | ja | ||
Authorization | Bearer {YOUR KEY} | ja | Bearer 37f333a2d5f811edb248acde48001122 |
Kropp
Navn | Type | Påkrevd | Standard | Merk | Andre |
---|---|---|---|---|---|
imagePath | string | ja | bildebane returnert når den kalles upload-image api | ||
transformId | string | ja | |||
width | integer | nei | |||
height | integer | nei | |||
keepHair | boolean | nei | false | ||
keepPose | boolean | nei | true |
Navn | Type | Påkrevd | Standard | Merk | Andre |
---|---|---|---|---|---|
code | number | ja | 0 -> suksess;1000 -> ikke nok kreditt | ||
info | string | nei | feilinfo | ||
data | object | ja | |||
├─id | string | ja | jobb-ID | ||
├─credit | integer | ja | brukerens totale kreditt | ||
├─consumedCredit | integer | ja | forbrukt kreditt av jobben |