Dette dokument beskriver, hvordan du bruger koden til at opnå de samme resultater som på nettet. Efter dokumentet vil kun give relativ adresse API, du skal samle sammen til hoveddomænenavnet: https://api.aitubo.ai.
For eksempel, hvis du vil oprette et job, skal du ringe https://api.aitubo.ai/api/job/create
Dokumentet er opdelt i to sektioner, den første for eksempler og den anden for specifik API.
Dette afsnit beskriver, hvordan du opretter et job og får et job. Vores API til oprettelse af job giver tre kernefunktioner: Text2Image, Image2Image, and ControlNet(ControlNet er en neural netværksstruktur til at kontrollere diffusionsmodeller ved at tilføje ekstra betingelser).
Uanset hvilken af de tre funktioner du bruger, skal du først have en liste over de modeller, vi understøtter, og derefter, når du opretter jobbet, skal du videregive id feltet med modelinformationen
curl --request GET \
--url 'https://api.aitubo.ai/api/model/list?type=platform' \
--header 'Authorization: Bearer ced695cfd83811eda5e286850d1dc848'
Resultatet er noget 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"
}
Derefter får du et svar som dette:
{
"code": 0,
"data": {
"consumedCredit": 40,
"credit": 120,
"id": "64351e4d567bcd86773dc841"
}
}
Du kan kontrollere status for joboprettelse ved at afstemme. Hvert foto tager cirka 2 sekunder at gennemføre, så kontroller din forespørgselsfrekvens. Endelig får du sådan her:
{
"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 at bruge Image2Image kan du ringe til vores Upload billede API for at få en billedes OSS relative adresse, eller du kan give et billede med en absolut 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 kontrollere status for joboprettelse ved at afstemme ligesom Text2Image.
Før du bruger ControlNet-funktionen, skal du først kalde /job/model/list API for at få de tilsvarende ControlNet-kategorier:
{
"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"
},
...
}
}
Kald derefter /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å videregive modelId felt(Sørg for, at modellen understø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
Headere
Navn | Værdi | Påkrævet | Eksempel |
---|---|---|---|
Content-Type | multipart/form-data | ja | |
Authorization | Bearer {YOUR KEY} | ja | Bearer 37f333a2d5f811edb248acde48001122 |
Krop
Navn | Værdi | Påkrævet |
---|---|---|
image | fil | ja |
Navn | Type | Påkrævet | Standard | Bemærk | Andre |
---|---|---|---|---|---|
code | integer | ja | code=0 -> succes | ||
info | string | nej | fejl info | ||
data | object | nej | |||
├─path | string | nej | billedsti af AliYun OSS |
Sti: /api/job/create
Metode: POST
Headere
Navn | Værdi | Påkrævet | Eksempel |
---|---|---|---|
Content-Type | application/json | ja | |
Authorization | Bearer {YOUR KEY} | ja | Bearer 37f333a2d5f811edb248acde48001122 |
Krop
Navn | Type | Påkrævet | Standard | Bemærk | Andre |
---|---|---|---|---|---|
imagePath | string | nej | sti for det uploadede billede(url/oss begge) | ||
maskImage | string | nej | AI Editor skal videregive dette felt | ||
modelId | string | nej | hvis controlModel er null, skal dette felt udfyldes | ||
prompt | string | ja | prompt | ||
negativePrompt | string | nej | negativ prompt | ||
controlModel | string | nej | canny / scribble / openpose / mlsd / hed / seg / depth / normal | ||
controlStrength | number | nej | 1 | [0, 2] | |
controlFilter | string | nej | preprecessor of control image, for example: openpose / openpose_full / openpose_hand / openpose_face / openpose_faceonly | ||
strength | number | nej | 0.8 | [0.1, 1] | |
width | integer | nej | 512 | ||
height | integer | nej | 512 | ||
steps | integer | nej | 30 | 10 <= value <= 50 | |
guidanceScale | integer | nej | 7.5 | 0 < value <= 20 | |
count | integer | nej | 4 | genereret billedantal |
Navn | Type | Påkrævet | Standard | Bemærk | Andre |
---|---|---|---|---|---|
code | number | ja | 0 -> succes;1000 -> ikke nok kredit | ||
info | string | nej | fejl info | ||
data | object | ja | |||
├─id | string | ja | job ID | ||
├─credit | integer | ja | brugerens samlede kredit | ||
├─consumedCredit | integer | ja | forbrugt kredit af jobbet |
Sti: /api/job/get
Metode: GET
Forespørgsel
Navn | Påkrævet | Eksempel | Bemærk |
---|---|---|---|
id | ja | 642ba091592245d79a645b39 | job ID |
Navn | Type | Påkrævet | Default | Bemærk | Others |
---|---|---|---|---|---|
code | integer | ja | 0 -> succes | ||
info | string | nej | fejl info | ||
data | object | ja | |||
├─id | string | ja | job ID | ||
├─createAt | string | ja | oprettet tidspunkt for jobbet | ||
├─status | integer | ja | status for jobbet. 0 -> ikke klar; 1 -> behandling; 2 -> succes; 3 -> fejl | ||
├─result | object | nej | |||
├─├─info | string | nej | |||
├─├─data | object | nej | |||
├─├─├─images | string [] | nej | Den resulterende relative sti for billedet (skal sammenkædes med domænefeltet) | item Type:string | |
├─├─├─artIds | string [] | nej | Billede svarende til artID | item Type:string | |
├─├─├─domain | string | nej | oss url, du skal sammenkæde den relative sti for billedet | ||
├─args | object | nej | |||
├─├─prompt | string | nej | |||
├─├─negativePrompt | string | nej | |||
├─├─model | string | nej | |||
├─├─strength | integer | nej | |||
├─├─width | integer | nej | |||
├─├─height | integer | nej |
Sti: /api/job/models
Metode: GET
Navn | Type | Påkrævet | Standard | Bemærk | Andre |
---|---|---|---|---|---|
code | integer | ja | 0 -> succes | ||
info | string | nej | fejl info | ||
data | object | ja | |||
├domain | string | ja | billedets oss-domænenavn, skal sammenkæde ikonfeltet nedenfor | ||
├models | object [] | ja | item Type:object | ||
id | string | ja | model id, The controlModel parameter value is this ID when creating a job | ||
name | string | ja | Engelsk navn | ||
cname | string | ja | Kinesisk navn | ||
icon | string | ja | eksempelbillede. oss relativ sti, du skal sammenkæde domæner |
Sti: /api/job/list
Metode: GET
Headere
Navn | Værdi | Påkrævet | Eksempel | Bemærk |
---|---|---|---|---|
Content-Type | application/json | ja | ||
Authorization | Bearer {YOUR KEY} | ja | Bearer 37f333a2d5f811edb248acde48001122 |
Query
Navn | Påkrævet | Eksempel | Bemærk |
---|---|---|---|
pageIndex | ja | start fra 1 | |
pageSize | ja |
Navn | Type | Påkrævet | Standard | Bemærk | Andre |
---|---|---|---|---|---|
code | integer | ja | 0 -> succes | ||
info | string | nej | fejl info | ||
data | object | ja | |||
├─jobs | object [] | ja | job array | item Type:object | |
├─├─id | string | ja | job 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 | det genererede array af billeder | item Type:object | |
├─├─├─id | string | ja | id'et for det genererede billede | ||
├─├─├─images | object [] | ja | varieret billedarray | item Type:object | |
├─├─├─├─spec | string | ja | variant type. o -> oprindelse; 2x/3x/4x -> 2/3/4 skala billede | ||
├─├─├─├─path | string | ja | billedsti. domæne, der skal sammenkædes | ||
├─├─├─├─size | integer | ja | billedstørrelse. enhed: Byte | ||
├─domain | string | ja | oss billeddomæne |
Sti: /api/model/list
Metode: GET
Headere
Navn | Værdi | Påkrævet | Eksempel | Bemærk |
---|---|---|---|---|
Authorization | Bearer {YOUR KEY} | ja | Bearer 37f333a2d5f811edb248acde48001122 |
Forespørgsel
Navn | Påkrævet | Eksempel | Bemærk |
---|---|---|---|
pageIndex | ja | start fra 1 | |
pageSize | ja | ||
type | nej | platform/community |
Navn | Type | Påkrævet | Standard | Bemærk | Andre |
---|---|---|---|---|---|
code | integer | ja | 0 -> succes | ||
info | string | nej | fejl info | ||
data | object | ja | |||
├─domain | string | ja | oss-domæne | ||
├─total | integer | ja | det samlede antal modeller filtreret til sideinddeling | ||
├─models | object [] | ja | item Type:object | ||
├─├─id | string | ja | model ID | ||
├─├─name | string | ja | modelnavn | ||
├─├─username | string | ja | model’s author name | ||
├─├─desc | string | ja | modelbeskrivelse | ||
├─├─cover | string | ja | modelcover | ||
├─├─isFavourite | boolean | ja | om brugeren favoritter modellen | ||
├─├─controlNet | boolean | ja | om modellen understøtter ControlNet |
Sti: /api/job/upscale
Metode: POST
Headere
Navn | Værdi | Påkrævet | Eksempel | Bemærk |
---|---|---|---|---|
Content-Type | application/json | ja | ||
Authorization | Bearer {YOUR KEY} | ja | Bearer 37f333a2d5f811edb248acde48001122 |
Krop
Navn | Type | Påkrævet | Standard | Bemærk | Andre |
---|---|---|---|---|---|
model | string | nej | upscale model navn | ||
RealESRGAN _x4plus / RealESRGAN_x4plus_anime_6B | |||||
imagePath | string | ja | billedsti. domæne, der skal sammenkædes | ||
upscaleFactor | integer | ja | 2 <= factor <= 4 | ||
beauty | boolean | nej | om du vil aktivere ansigtsforbedring | ||
artId | string | ja | Brug for et super point billede artID |
Navn | Type | Påkrævet | Standard | Bemærk | Andre |
---|---|---|---|---|---|
code | number | ja | 0 -> succes;1000 -> ikke nok kredit | ||
info | string | nej | fejl info | ||
data | object | ja | |||
├─id | string | nej | upscale job id | ||
├─credit | integer | ja | brugerens samlede kredit | ||
├─consumedCredit | integer | ja | forbrugt kredit af jobbet |
Sti: /api/art/segment
Metode: POST
Headere
Navn | Værdi | Påkrævet | Eksempel | Bemærk |
---|---|---|---|---|
Content-Type | application/json | ja | ||
Authorization | Bearer {YOUR KEY} | ja | Bearer 37f333a2d5f811edb248acde48001122 |
Krop
Navn | Type | Påkrævet | Standard | Bemærk | Andre |
---|---|---|---|---|---|
image | string | ja | billedsti. absolut/relativ sti |
Navn | Type | Påkrævet | Standard | Bemærk | Andre |
---|---|---|---|---|---|
code | number | ja | 0 -> succes | ||
info | string | nej | fejl info | ||
data | object | ja | |||
├─image | string | ja | URL for billedet efter segmentering |
Sti: /api/user/profile
Metode: GET
Headere
Navn | Værdi | Påkrævet | Eksempel | Bemærk |
---|---|---|---|---|
Content-Type | application/json | ja | ||
Authorization | Bearer {YOUR KEY} | ja | Bearer 37f333a2d5f811edb248acde48001122 |
Navn | Type | Påkrævet | Standard | Bemærk | Andre |
---|---|---|---|---|---|
code | number | ja | 0 -> succes | ||
info | string | nej | fejl info | ||
data | object | ja | |||
├─name | string | ja | |||
string | ja | ||||
├─avatar | string | ja | |||
├─phone | string | ja | |||
├─credit | integer | ja | brugerens samlede kredit | ||
├─displayNSFW | boolean | ja | |||
├─discord | boolean | ja |
Sti: api/transform/list
Metode: GET
Navn | Type | Påkrævet | Standard | Bemærk | Andre |
---|---|---|---|---|---|
code | number | ja | 0 -> succes | ||
info | string | nej | fejl info | ||
data | object | ja | |||
├─domain | string | ja | billedets oss-domænenavn, skal sammenkæde ikonfeltet nedenfor | ||
├─tags | string[] | ja | skabelon tag | ||
├─transform | object | ja | |||
├─├─tag | object[] | ja | |||
├─├─├─id | string | ja | |||
├─├─├─name | string | ja | |||
├─├─├─image | string | ja | oprindelsesbillede | ||
├─├─├─art | string | ja | resultatbillede | ||
├─├─├─cost | number | ja | kreditforbrug | ||
├─├─├─pro | boolean | ja | er pro | ||
├─├─├─tag | string | ja | tag |
Sti: api/transform/create-headshot
Metode: POST
Headere
Navn | Værdi | Påkrævet | Eksempel | Bemærk |
---|---|---|---|---|
Content-Type | application/json | ja | ||
Authorization | Bearer {YOUR KEY} | ja | Bearer 37f333a2d5f811edb248acde48001122 |
Krop
Navn | Type | Påkrævet | Standard | Bemærk | Andre |
---|---|---|---|---|---|
imagePath | string | ja | billedsti returneret ved kald upload-image api | ||
transformId | string | ja | |||
width | integer | nej | |||
height | integer | nej | |||
keepHair | boolean | nej | false | ||
keepPose | boolean | nej | true |
Navn | Type | Påkrævet | Standard | Bemærk | Andre |
---|---|---|---|---|---|
code | number | ja | 0 -> succes;1000 -> ikke nok kredit | ||
info | string | nej | fejl info | ||
data | object | ja | |||
├─id | string | ja | job ID | ||
├─credit | integer | ja | brugerens samlede kredit | ||
├─consumedCredit | integer | ja | forbrugt kredit af jobbet |