Skip to content

Acces la modelele AI

DojoCode SDK este conexiunea integrată pe care fiecare proiect DojoCode o primește la serviciile platformei — iar principala sa funcționalitate este accesul la modele AI reale. Membrii echipei tale și studenții pot construi aplicații care scriu text, analizează fotografii, generează imagini, animează videoclipuri, compun muzică, vorbesc cu o voce clonată și transcriu înregistrări, fără chei API, fără conturi de furnizor și fără configurarea facturării din partea ta.

O pot folosi în două moduri:

  • Întreabă asistentul proiectului. Ei descriu funcționalitatea în chatul AI al proiectului, iar asistentul scrie cod funcțional pentru șablonul proiectului.
  • Apelează-l din cod. SDK-ul este un API HTTP de dimensiuni reduse, iar fiecare șablon primește conexiunea injectată automat — consultă referința pentru dezvoltatori pentru exemple de cod pentru fiecare șablon.

Cine are acces

Accesul la modelele AI necesită un abonament premium activ — pentru conturile de business, asta înseamnă calitatea de membru într-o organizație pe un plan plătit (non-trial); Premium personal funcționează de asemenea. Fiecare generare costă tokeni AI din soldul persoanei autentificate care rulează proiectul (vezi Prețuri).

Doar pentru proiecte

SDK-ul este disponibil în proiecte — în timp ce le editezi și în previzualizarea lor. Nu este disponibil în cadrul provocărilor, așa că nu afectează niciodată modul în care sunt evaluate soluțiile pentru provocări. Proiectele construite pe șabloanele PGlite, SQLite și Solidity nu au cod de aplicație care să îl poată apela, iar proiectele în C și C++ nu îl pot apela încă.

De ce funcționează excelent pentru echipe și săli de clasă

  • Fără chei de distribuit. Nimeni nu își creează un cont de furnizor AI, nu lipește o cheie API și nu riscă să o scurgă într-un depozit de cod. Conexiunea aparține utilizatorului autentificat și nu este salvată niciodată în fișierele proiectului.
  • Fiecare șablon, nu doar JavaScript. React, Vue, Angular, Next.js și celelalte șabloane de browser, servere Node.js, Python în browser și programe în linie de comandă în Python, Java, Go, C#, PHP, Ruby și Rust (C și C++ nu sunt încă acceptate).
  • Costuri previzibile. Prețuri clare pe unitate în tokeni AI, rambursări automate pentru generările eșuate și o notificare după fiecare generare plătită.
  • Limite de siguranță integrate. Limite de utilizare per utilizator, generări doar la un clic explicit, iar proiectele care utilizează SDK-ul nu pot fi publicate pe un site public unde ar consuma tokenii altcuiva.
  • O lecție din lumea reală. Cursanții lucrează cu aceleași tipare pe care le folosesc aplicațiile profesionale — API-uri HTTP, sarcini asincrone, polling, gestionarea fișierelor media și stări de eroare.

Idei pentru laboratoare și teme

  • Asistent de accesibilitate — încarcă o fotografie și generează text alternativ (image-to-text).
  • Partener de studiu — transformă notițele într-un test JSON randat cu întrebări cu răspuns multiplu (text-to-text).
  • Studio de elemente de joc — generează sprite-uri, muzică de fundal și o voce de narator pentru un joc mic (text-to-image, text-to-music, text-to-speech).
  • Note vocale în sarcini — transcrie o înregistrare și extrage o listă de activități (speech-to-text + text-to-text).
  • Flux în linie de comandă — un program Python sau Go care trimite o cerere de generare video, stochează id-ul și preia rezultatul la următoarea rulare (sarcini asincrone în practică).

Ce se poate construi

ModalitateCe faceBazat pe
text-to-textScrie, rezumă, traduce, răspunde, returnează JSONLlama 3 (8B)
image-to-textAnalizează o fotografie și răspunde în textGPT-4o mini
text-to-imageGenerează imagini dintr-o descriereFLUX schnell
image-to-imageTransformă o fotografie pe baza unui promptFLUX dev
text-to-videoGenerează un clip video scurt dintr-o descriereLTX-Video
image-to-videoAnimează o imagine staticăLTX-Video
text-to-musicCompune o piesă instrumentalăMusicGen
text-to-speechRedă textul vorbit într-o voce clonatăFish Speech
speech-to-textTranscrie (și traduce) o înregistrareWhisper

Modelele din spatele fiecărei modalități se pot schimba pe măsură ce devin disponibile altele mai bune; numele modalităților, intrările și ieșirile rămân aceleași.

Cum îl folosesc membrii

  1. Creează un proiect din orice șablon sau deschide unul existent.
  2. Deschide panoul AI Chat și descrie funcționalitatea în limbaj simplu — de exemplu: "Adaugă o secțiune de studio cu un formular separat pentru text-to-video, image-to-video și text-to-music. Afișează costul estimat, o stare în timp ce rulează și un player la sfârșit."
  3. Asistentul știe cum funcționează SDK-ul în acel șablon și scrie codul: citirea conexiunii injectate, gestionarea generărilor lente și afișarea rezultatului.
  4. Aceștia folosesc funcționalitatea în previzualizare (sau apasă pe Run pentru șabloanele fără previzualizare). Generările încep doar atunci când dau clic.

Solicitarea asistentului proiectului de a construi un AI Creative Studio

Fig. 1 - Descrierea funcționalității în Chatul AI al proiectului

Studioul Creativ AI construit de asistent, cu o filă pentru fiecare modalitate

Fig. 2 - Aplicația pe care o construiește asistentul, cu un formular pentru fiecare modalitate și costul estimat

Prețuri

Fiecare modalitate are un preț în tokeni AI pe unitate. Opțiunile de cantitate multiplică prețul, iar fiecare unitate începută este taxată integral.

ModalitateTaxat perTokeni AI
text-to-textcerere1
image-to-textcerere2
speech-to-textînregistrare2
text-to-imageimagine3
image-to-imageimagine5
text-to-speech1.000 de caractere de text3
text-to-music10 secunde de muzică4
text-to-video97 cadre ≈ 4 secunde de video12
image-to-video97 cadre ≈ 4 secunde de video12

De exemplu, patru imagini costă 4 × 3 = 12 tokeni, 30 de secunde de muzică costă 3 × 4 = 12 tokeni, iar un videoclip de 161 de cadre contează ca două unități începute: 2 × 12 = 24 tokeni.

  • Taxat la trimitere. O cerere de la cineva fără suficienți tokeni este refuzată și nu se taxează nimic.
  • Rambursat în caz de eșec. Dacă modelul eșuează, tokenii sunt returnați automat.
  • Notificat de fiecare dată. După fiecare generare plătită, utilizatorul primește o notificare cu numărul de tokeni AI utilizați (sau rambursați), iar soldul acestora se actualizează în fiecare filă deschisă.
  • Facturat celui care rulează proiectul. Când un membru rulează proiectul unui coleg de echipă sau al unui student, generările sunt taxate membrului care îl rulează.

O notificare care arată că o generare text-to-image a consumat 3 credite AI

Fig. 3 - Notificarea pe care o primește fiecare membru după o generare plătită

Cum funcționează o generare

  • Modalitățile rapide (text, analiză de imagini, imagini, transcriere) răspund cu rezultatul finalizat, de obicei în câteva secunde.
  • Modalitățile lente (video, muzică, vorbire) răspund imediat cu o înregistrare în așteptare; aplicația o verifică la fiecare câteva secunde până când este gata — generarea video durează între unul și două minute.
  • Rezultatele media sunt linkuri permanente stocate de DojoCode, astfel încât imaginile, videoclipurile și fișierele audio continuă să funcționeze în proiect.

Pentru dezvoltatori

Platforma injectează un URL API și un token de acces în fiecare proiect. Modul în care sunt citite depinde de șablon:

ȘablonCum se citește conexiunea
React, Vue, Svelte, SvelteKit, SolidJS, Vanilla, Remix, React Nativeimport.meta.env.VITE_DOJOCODE_API_URL, import.meta.env.VITE_DOJOCODE_AI_TOKEN
Next.jsprocess.env.NEXT_PUBLIC_DOJOCODE_API_URL, process.env.NEXT_PUBLIC_DOJOCODE_AI_TOKEN
Astroimport.meta.env.PUBLIC_DOJOCODE_API_URL, import.meta.env.PUBLIC_DOJOCODE_AI_TOKEN
AngularDOJOCODE_ENV din ./dojocode-env
NestJS, Fastify, Hono, Node.js (preview)process.env.DOJOCODE_API_URL, process.env.DOJOCODE_AI_TOKEN
Python cu previzualizarea în browsermodulul încorporat dojocode_ai
Șabloane de execuție: Python, Node.js, Java, Go, C#, PHP, Ruby, Rustvariabilele de mediu DOJOCODE_API_URL, DOJOCODE_AI_TOKEN

O generare este o singură cerere JSON:

js
const response = await fetch(`${import.meta.env.VITE_DOJOCODE_API_URL}/ai-generation/generations`, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    Authorization: `Bearer ${import.meta.env.VITE_DOJOCODE_AI_TOKEN}`
  },
  body: JSON.stringify({ modality: 'text-to-image', input: { prompt: 'a watercolor fox in the snow' } })
});
const record = await response.json(); // 200 = finished, 202 = still running: poll GET /ai-generation/generations/{id}

Referința pentru dezvoltatori acoperă restul detaliilor:

Limite și măsuri de siguranță

  • 30 de generări noi la fiecare 10 minute per utilizator.
  • Intrări: prompt-uri de până la 4.000 de caractere, imagini de până la 5 MB, fișiere audio de până la 10 MB.
  • Execuțiile în linie de comandă se opresc după 20 de secunde, așa că generările lente sunt trimise într-o singură rulare și citite în următoarea.
  • O generare care nu s-a finalizat după 15 minute este anulată și rambursată.
  • Panoul de previzualizare al editorului nu are acces la microfon — pentru a înregistra audio, deschide previzualizarea în propria filă sau încarcă un fișier audio.

Publicarea proiectelor care folosesc SDK-ul

Un proiect al cărui cod apelează SDK-ul nu poate fi publicat pe un site public *.dojocode.net: apelurile folosesc sesiunea conectată a persoanei care rulează proiectul, așa că un site public fie s-ar defecta pentru vizitatori, fie ar consuma tokenii AI ai altcuiva. Caseta de dialog Publish listează fișierele care folosesc SDK-ul; eliminarea acelor apeluri face proiectul publicabil din nou.

Caseta de dialog Publish care explică faptul că proiectul folosește API-ul DojoCode AI

Fig. 4 - Caseta de dialog Publish listează fișierele care apelează SDK-ul

Depanare

SimptomRezolvare
Conexiunea este undefined / "credentials not available"Folosește exact numele variabilei pentru șablon — fiecare framework de browser folosește un prefix diferit.
401 după ce editorul a fost deschis pentru o perioadă lungă de timpSesiunea a expirat — reîncarcă editorul sau previzualizarea.
403 "not enough AI tokens" sau "subscription is not active"Verifică soldul de tokeni AI ai membrului și dacă organizația are un plan plătit.
Tokenii sunt taxați la fiecare salvareCodul pornește o generare la încărcarea paginii — roagă asistentul să o declanșeze dintr-un buton în schimb.
Un videoclip rămâne în starea running o perioadăGenerarea video și de voce poate dura câteva minute la pornirea la rece; după 15 minute sunt anulate și rambursate.

Ce urmează?