Dörd alətin hamısı tapşırıq kimi işləyir: 202 cavabı, nəticə isə status sorğulaması və ya vebhuk ilə (Tapşırıqlar və nəticələr). Səs, musiqi, yekun ifadə və avatar arayış siyahılarından seçilir (Arayış məlumatları).
Kontent paketi
POST /content/generate - tools:contentgen icazəsi. Obyekt haqqında faktlardan və fotolardan GREM bir tapşırıqda təsvirlər, sosial şəbəkə postları, səsləndirilmiş video, lendinq səhifəsi və PDF hazırlayır. Paket üçün obyekt qaralaması yaradılır.
Ən azı 4 foto tələb olunur - form.media.photos sahəsində açıq ünvanlar kimi. Öz fayllarınızı əvvəlcə POST /uploads ilə yükləyin və qaytarılan url-ləri ötürün (Fayllar).
| Sahə | Tip | Təsvir |
|---|---|---|
form.language | string | nəticənin dili: eng, rus, ukr, deu, spa, aze, arb, fra, zho, tur |
form.media.photos | array | 4-20 foto ünvanı (sətirlər və ya { "url": "..." }) - məcburi |
form.objectId | string | paketi mövcud obyektiniz üçün hazırlamaq |
form.objectType | string | property, rental və ya complex |
form.propertyCategory | string | obyektin növü: apartment, house, penthouse, land, warehouse ... |
form.dealType | string | sale və ya rent |
form.title | string | başlıq |
form.description | string | sizin təsviriniz - fakt kimi istifadə olunur |
form.customDirection | string | ton və vurğu üzrə istəklər, 500 simvola qədər |
form.totalArea | number | m² |
form.rooms, form.floor, form.buildingFloors | number | otaqlar, mərtəbə, mərtəbələrin sayı |
form.landPlotArea | number | torpaq sahəsi, m² (evlər) |
form.price | number | qiymət |
form.priceCurrency | string | qiymətin valyutası |
form.addressCountry, form.addressCity, form.street, form.streetNumber | string | ünvan |
form.voiceId | string | GET /voices siyahısından səsləndirmə səsi |
form.enableSubtitles | bəli/xeyr | video subtitrləri, defolt olaraq aktivdir |
form.showPhone | bəli/xeyr | telefonu göstərmək; nömrə form.contactPhone sahəsinə yazılır |
form.options.music.trackId | string | GET /video/music siyahısından trek; form.options.music.enabled: false - musiqisiz |
form.options.endCard.style | string | yekun kart: photo, solid və ya split |
user sahəsi lazım deyil: paket açarın hesabı adından yaradılır.
curl -X POST https://developers.grem.capital/api/v1/content/generate \
-H "Authorization: Bearer gsk_live_xxx" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 0c0e3a5b-7d1e-4b8a-9b2f-1e6d4c3a2b10" \
-d '{
"form": {
"language": "eng",
"propertyCategory": "apartment", "dealType": "sale",
"title": "Bright 2-room flat near the park",
"totalArea": 64, "rooms": 2, "price": 320000, "priceCurrency": "EUR",
"addressCountry": "Germany", "addressCity": "Berlin",
"media": { "photos": ["https://example.com/1.jpg", "https://example.com/2.jpg",
"https://example.com/3.jpg", "https://example.com/4.jpg"] }
}
}'
202 cavabı: jobId (tapşırığın identifikatoru) və propertyId (obyekt qaralaması). Tamamlanmış tapşırıqda (GET /content/generate/jobs/{id}) bunlar olur:
| Sahə | Təsvir |
|---|---|
artifacts | hazırlanmış faylların identifikatorları |
artifactsSummary | hər fayl üçün bir yazı: növ, format, ölçü |
bundle | paketin lendinq səhifəsi və PDF-i, hazırlandıqda |
progress | tapşırıq icra olunarkən hazırlanmanın gedişi |
masterProfile | mətnlərin və səsləndirmənin əsaslandığı süjet planı |
error | uğursuz tapşırıq üçün: səbəb, ümumi mətn kimi |
Fayl: GET /artifacts/v1/ai/assistant/announcement/jobs/{jobId}/artifacts/{artifactId}/download. Hadisələr - content.completed, content.partial (bəzi fayllar alınmayıb), content.failed. 4-dən az foto - 400.
Obyekt mətnləri
POST /text/generate - tools:text icazəsi. Təsvir, təqdimat və sosial şəbəkə postu. Ya objectId, ya da description, city, totalArea sahələrindən ən azı biri lazımdır - əks halda code: not_enough_input ilə 422.
| Sahə | Tip | Təsvir |
|---|---|---|
objectId | string | sizin obyektiniz (və ya agentliyinizin obyekti) |
title | string | 120 simvola qədər |
description | string | sizin təsviriniz, 2000 simvola qədər |
city | string | şəhər |
totalArea | number | m² |
rooms | number | otaqlar |
price | number | qiymət |
currency | string | qiymətin valyutası |
propertyCategory | string | obyektin növü |
language | string | en (defolt), ru, ua, de, es, az, ar, fr, zh, tr |
customDirection | string | ton və vurğu üzrə istəklər; daha uzun mətn 500 simvola qədər qısaldılır |
curl -X POST https://developers.grem.capital/api/v1/text/generate \
-H "Authorization: Bearer gsk_live_xxx" \
-H "Content-Type: application/json" \
-d '{"city":"Berlin","totalArea":64,"rooms":2,"propertyCategory":"apartment","language":"en","description":"Renovated, quiet courtyard, 5 min to U-Bahn."}'
jobId ilə 202. Mətnlər kontent paketində olduğu kimi tapşırığın fayllarındadır; tapşırıqda həmçinin progress, masterProfile və error olur. Hadisələr - text.completed / text.failed.
Fotolardan video
POST /video/create - tools:video icazəsi. Fotolarınızdan və ya obyektin fotolarından səsləndirilmiş qısa video.
Gövdə - multipart/form-data, hər parametr ayrıca forma sahəsi kimi (data sahəsində JSON kimi deyil):
| Sahə | Təsvir |
|---|---|
photos | foto faylları, 1-dən 8-ə qədər - hər fayl üçün bir hissə; objectId ilə lazım deyil; JPEG, PNG, WebP və ya HEIC, hər biri 20 MB-a qədər; 8-ci fotodan sonrakılar istifadə olunmur |
objectId | fotoları və faktları obyektinizdən götürmək |
prompt | klipin nə haqqında olduğu, 500 simvola qədər; objectId olmadan məcburidir; daha uzun mətn qısaldılır |
title | başlıq, 120 simvola qədər |
length | short (defolt) və ya long; başqa dəyər short kimi qəbul edilir; long üçün ən azı 4 foto lazımdır (code: long_needs_more_photos) |
aspect | 9:16, 1:1 və ya 16:9; başqa dəyər - defolt |
language | səsləndirmənin dili: en, ru, ua, de, es, az, ar, fr, zh, tr |
narration | true (defolt) - səsləndirmə ilə |
voiceId | GET /voices siyahısından səs |
enableSubtitles | subtitrlər |
musicEnabled | musiqi ilə |
musicTrackId | GET /video/music siyahısından trek |
musicVolume | musiqinin səs səviyyəsi, 0-100 |
music | trek əvəzinə öz musiqi faylınız |
endCardEnabled, endCardStyle | yekun kart: photo, solid və ya split |
ctaMode | yekun ifadə: auto (defolt) - obyektə uyğun seçilir; manual - ctaIntent və ya ctaText istifadə olunur |
ctaIntent | hazır yekun ifadə: GET /video/endings siyahısındakı intent dəyərlərindən biri |
ctaText | öz yekun ifadəniz, 60 simvola qədər |
ctaMarket | videonun kimə müraciət etdiyi: local, remote və ya international; auto ifadəsini tənzimləyir |
curl -X POST https://developers.grem.capital/api/v1/video/create \
-H "Authorization: Bearer gsk_live_xxx" \
-F "photos=@living.jpg" -F "photos=@kitchen.jpg" -F "photos=@view.jpg" \
-F "prompt=Sunny 2-room flat in Berlin Mitte, quiet courtyard" \
-F "length=short" -F "aspect=9:16" -F "language=en"
jobId ilə 202; video tapşırığın fayllarındadır. Kontent paketində olduğu kimi, tapşırıqda həmçinin progress, masterProfile və error olur. Qiymət length dəyərindən asılıdır. Hadisələr - video.completed / video.failed.
Avatarlı video
POST /avatar/video - tools:avatar icazəsi. Aparıcı obyektiniz haqqında danışır.
| Sahə | Tip | Təsvir |
|---|---|---|
avatarId | string | məcburi: GET /avatar/avatars siyahısından ready statuslu avatar |
objectId | string | məcburi: sizin obyektiniz |
scriptText | string | məcburi: aparıcının mətni, ən azı 100 simvol; ən çox 1200 |
voiceId | string | GET /voices siyahısından səs |
language | string | dil |
background.type | string | fon: color, photo və ya slideshow |
background.color | string | fon rəngi #RRGGBB |
background.photoUrl | string | fon fotosu |
dimension.width, dimension.height | number | kadr ölçüsü, 100-4096 px; ikisini birlikdə göndərin və ya heç birini göndərməyin |
enableSubtitles | bəli/xeyr | subtitrlər |
curl -X POST https://developers.grem.capital/api/v1/avatar/video \
-H "Authorization: Bearer gsk_live_xxx" \
-H "Content-Type: application/json" \
-d '{"avatarId":"AVATAR_ID","objectId":"OBJECT_ID","voiceId":"VOICE_ID","scriptText":"..."}'
jobId ilə 202. Video: GET /artifacts/v1/ai/assistant/avatar/jobs/{jobId}/artifacts/{artifactId}/download, artifactId tamamlanmış tapşırığın artifacts sahəsindən götürülür. Hadisələr - avatar.completed / avatar.failed. avatarId, objectId olmadıqda və ya mətn qısa olduqda - errors sahəsində sahələrin siyahısı ilə 400.
Əlaqəli
- Arayış məlumatları - səslər, avatarlar, musiqi, yekun ifadələr.
- Tapşırıqlar və nəticələr - vəziyyətlər və fayllar.
- Fayllar - fotoların yüklənməsi.