Lingara Lingara Dokumentasie Gidse API Biblioteke Apps Bou Webtoepassing
Taal: Afrikaans

Genereer 'n woordelys

API-weergawe 2026-10-affable-towhee

post https://api.getlingara.com/v1/vocab/stream

Stroom 'n lys woorde op die versoekte vlak. Die stroom stuur started met die lys se besonderhede, een item-gebeurtenis per woord, en dan done. Totdat die lys gereed is, stuur dit slegs keepalive-kommentaar.

Omvange vocab:generate

Parameters

Lingara-Versionheaderstringopsioneel
Die API-weergawe waaronder hierdie versoek beantwoord word. Daarsonder kry 'n toegangstoken die weergawe waaraan sy kliënt gekoppel is, en 'n versoek sonder 'n token kry die huidige weergawe. Die weergawe wat nog ontwikkel word, is slegs bereikbaar deur dit hier te noem. 'n Onbekende weergawe gee 400 met kode api_version_unknown. GET /v1/versions lys die weergawes.

Versoekliggaam application/json

levelintegerverplig
source_langstringverplig
target_langstringverplig
countinteger | nullopsioneel

Antwoorde

200 Die lys, een woord per gebeurtenis

Stroomgebeurtenisse text/event-stream

Stuur elke 15 sekondes 'n keepalive-opmerking.

started VocabStarted
metaVocabMetaverplig
levelintegerverplig
source_langstringverplig
target_langstringverplig
frameworkstringverplig
countintegerverplig
ai_generatedbooleanverplig
item VocabItem
wordstringverplig
pronunciationstring | nullopsioneel
readingstring | nullopsioneel
translationstringverplig
exampleVocabExample | nullopsioneel
sentencestringverplig
translationstringverplig
image_urlstring | nullopsioneel
done Done Beëindig die stroom
error StreamError Beëindig die stroom

Kom binne die 200-antwoord aan. Die statusreël is reeds gestuur, so 'n fout nadat die stroom oopgemaak is, word as hierdie gebeurtenis gerapporteer.

codestringverplig
messagestringverplig
plan_idstring | nullopsioneel

Foute

402application/json
'n Oproep van 'n gemeterde kliënt is geweier voordat dit iets bestee het. spend_cap_reached: die kliënt of sy rekening het sy maandelikse bestedingslimiet bereik; verhoog die limiet op die Integrasies-bladsy. metered_billing_inactive: gebruiksfakturering is nie aktief vir hierdie rekening nie; stel dit op, of werk die betaalmetode by, op die Integrasies-bladsy.
410application/json
Die API-weergawe waaronder hierdie versoek beantwoord word, is gestaak. Stuur 'n ondersteunde weergawe in Lingara-Version, of koppel die kliënt aan 'n ander weergawe.
4XXapplication/json
Die versoek is geweier. code sê hoekom, en error sê dit in woorde.
503application/json · text/plain
Die diens is tydelik onbeskikbaar; probeer weer na die aantal sekondes in Retry-After. Tydens onderhoud is die liggaam gewone teks eerder as die foutomhulsel.
5XXapplication/json
Die versoek is geweier. code sê hoekom, en error sê dit in woorde.
codestringverplig

Waarom die versoek geweier is, as 'n stabiele kode om op te vertak: byvoorbeeld insufficient_scope (403), rate_limited (429) en, vir 'n gemeterde kliënt, spend_cap_reached (402) en metered_billing_inactive (402).

errorstringverplig

Voorbeeld

Taal van die kodevoorbeeld

curl

curl -N -X POST "https://api.getlingara.com/v1/vocab/stream" \
  -H "Authorization: Bearer $LINGARA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"level":2,"source_lang":"en","target_lang":"zh","count":8}'

TypeScript

const stream = client.generateVocabulary({ level: 2, source_lang: "en", target_lang: "zh", count: 8 });
for await (const ev of stream) {
  if (ev.event === "item") console.log(ev.data.word, ev.data.translation);
}

Rust

use lingara::models::{GenerateVocabularyEvent, VocabRequest};
use std::num::NonZeroU8;

let request = VocabRequest { level: 2, source_lang: "en".into(), target_lang: "zh".into(), count: NonZeroU8::new(8) };
let mut stream = client.generate_vocabulary(&request).await?;
while let Some(event) = stream.next().await {
    if let GenerateVocabularyEvent::Item(item) = event? {
        println!("{} {}", item.word, item.translation);
    }
}

Go

count := uint8(8)
s, err := client.GenerateVocabulary(ctx, lingara.VocabRequest{Level: 2, SourceLang: "en", TargetLang: "zh", Count: &count})
if err != nil {
	return err
}
defer s.Close()
for ev, err := range s.Events() {
	if err != nil {
		return err
	}
	if item, ok := ev.(lingara.GenerateVocabularyEventItem); ok {
		fmt.Println(item.Data.Word, item.Data.Translation)
	}
}

Java

import com.getlingara.client.model.GenerateVocabularyEvent;
import com.getlingara.client.model.VocabRequest;

VocabRequest request = new VocabRequest().level(2).sourceLang("en").targetLang("zh").count(8);
try (EventStream<GenerateVocabularyEvent> stream = client.generateVocabulary(request)) {
  for (GenerateVocabularyEvent event : stream) {
    if (event instanceof GenerateVocabularyEvent.Item item) {
      System.out.println(item.data().getWord() + " " + item.data().getTranslation());
    }
  }
}

Kotlin

import com.getlingara.kotlin.LingaraClient
import com.getlingara.kotlin.model.GenerateVocabularyEvent
import com.getlingara.kotlin.model.VocabRequest

val request = VocabRequest(level = 2, sourceLang = "en", targetLang = "zh", count = 8)
// The request is sent here; collect the stream once, inside use {}.
client.generateVocabulary(request).use { stream ->
    stream.collect { event ->
        when (event) {
            is GenerateVocabularyEvent.Item -> println("${event.data.word} ${event.data.translation}")
            is GenerateVocabularyEvent.Started -> Unit
        }
    }
}

Ruby

client.generate_vocabulary(level: 2, source_lang: "en", target_lang: "zh", count: 8) do |event|
  case event
  in Lingara::GenerateVocabularyEventItem => item then puts "#{item.data.word}: #{item.data.translation}"
  else nil
  end
end

PHP

use Lingara\Model\VocabRequest;
use Lingara\Stream\GenerateVocabularyEvent;

$request = new VocabRequest(['level' => 2, 'source_lang' => 'en', 'target_lang' => 'zh', 'count' => 8]);
foreach ($client->generateVocabulary($request) as $event) {
    if ($event instanceof GenerateVocabularyEvent\Item) {
        echo $event->data->getWord(), ': ', $event->data->getTranslation(), "\n";
    }
}

Verkies jy 'n biblioteek? Sien die Biblioteke-afdeling.

Voorbeeldstroom

event: started
data: {"meta":{"level":2,"source_lang":"en","target_lang":"zh","framework":"HSK","count":2,"ai_generated":true}}

event: item
data: {"word":"你好","pronunciation":"nǐ hǎo","translation":"hello","example":{"sentence":"你好,我叫小明。","translation":"Hello, my name is Xiaoming."}}

event: item
data: {"word":"谢谢","pronunciation":"xiè xie","translation":"thank you"}

event: done
data: {}

Indien 'n vertaling en die Engelse verwysing verskil, is die Engelse verwysing korrek.