Recursos
- Segurança de tipos: suporte completo a TypeScript com tipos gerados a partir da especificação OpenAPI
- API simples: cliente fácil de usar com uma interface clara
- Código gerado: gerado automaticamente a partir da especificação canônica da API
- Abrangente: cobre todos os endpoints da Gateway API
Exemplo rápido
Aguarde músicas, vídeos ou lotes
videos.generateAndWait(request, options) para vídeo e batches.createAndWait(request, options) para lotes. Os auxiliares enviam uma vez, retornam respostas já concluídas sem consultas ou consultam a mesma tarefa até concluir. Retornam a resposta completa e lançam JobFailedError com response em falhas, cancelamentos ou expirações. Lotes concluídos ainda podem conter solicitações individuais com falha.
Cada recurso também oferece wait(id, options), que retorna qualquer resposta final, incluindo falhas. Opções: intervalMs (padrão 5.000; mínimo 250), timeoutMs (padrão 1.800.000), signal e onPoll. O prazo de espera começa após o retorno do envio; a solicitação HTTP inicial mantém seu próprio prazo. Os callbacks de progresso recebem a resposta inicial e cada consulta.
JobTimeoutError e JobCancelledError preservam jobId e lastResponse para retomar com .wait(error.jobId). Parar a espera cancela a consulta em andamento, mas não o trabalho remoto. Falhas HTTP são propagadas sem reenviar automaticamente. Esses auxiliares não adicionam execução em segundo plano ao gateway.
Controles de solicitações e diagnóstico
Useclient.withOptions({ timeoutMs: 30_000, signal, maxRetries: 2 }) para um
cliente imutável com controles em todos os recursos, fluxos e mídias.
Os prazos incluem ler o corpo da resposta. As tentativas são zero por padrão e valem
apenas para GET/HEAD, respeitando Retry-After. Envios pagos nunca são repetidos.
responseMetadata(result) expõe o ID da solicitação do gateway e a URL de rastreamento do painel.
Erros HTTP expõem code, requestId, traceUrl, retryAfterMs, corpo e cabeçalhos.
Auxiliares de fluxos de trabalho
music.start, videos.start e batches.start retornam referências com result(),
events() e toJSON(). Salve tipo e ID e reconstrua com resume(id).
result() rejeita falhas finais. Só vídeo e lotes aceitam cancelamento remoto.
videos.streamContent(id) com downloadTo(stream, writable) transmite saídas
grandes. toFile(bytes, filename, contentType) prepara uploads.
batchResults(await client.batches.streamResults(id)) analisa JSONL incrementalmente;
matchBatchResult(row, inputsByCustomId) preserva erros individuais e identidade das entradas.
responses.parse(request, schema) aceita um analisador compatível com Zod e retorna
saída validada. Defina também o formato de saída estruturada do servidor na solicitação.
collectStream(client.streamResponses(request)) acumula texto e uso.
checkModelCapabilities(id, { inputTypes, outputTypes, endpoints, parameters, parameterValues }) verifica capacidades anunciadas e restrições escalares em uma
oferta ativa de provedor. Metadados ausentes são desconhecidos. Nunca altera
o modelo nem remove parâmetros e não garante que um provedor real aceite a solicitação.
Para seletores de modelos e editores de parâmetros, use metadados atuais dos endpoints:
supported, partial, unsupported ou unknown,
com rotas de provedores e problemas de restrição para destaque em linha.
client.models.capabilities(modelId) retorna a resposta completa de capacidades
do endpoint. Essas verificações explícitas não adicionam descoberta às chamadas de geração.
Testes locais e exportações do site
ImportecreateMockTransport e jobFixtures de @phaseo/sdk/testing para injetar
fixtures estritas e ordenadas por fetchImpl. Chame mock.assertDone() para verificar
todas as solicitações esperadas. Chamadas inesperadas falham localmente sem recorrer à rede.
Após enviar uma solicitação em uma sala Phaseo, Obter código exporta modelo e
configurações como TypeScript ou Python. Ver solicitação abre o rastreamento no painel quando
há um ID. Execute o código exportado no servidor com PHASEO_API_KEY.
O que está incluído
- Classe de cliente
Phaseopara todas as interações com a API - Helpers organizados por recurso, como
client.models,client.batches,client.videos, andclient.asyncJobs - Helpers de descoberta e preços, como
client.getModels(),client.listProviders(),client.getCredits(),client.getActivity(),client.getAnalytics(),client.listEndpoints(),client.listOrganisations(),client.listPricingModels(),client.calculatePricing(),client.listApiKeys(),client.createApiKey(),client.getApiKey(id),client.updateApiKey(id, ...),client.deleteApiKey(id),client.listWorkspaces(),client.getWorkspace(id),client.createWorkspace(...),client.updateWorkspace(id, ...),client.deleteWorkspace(id), andclient.getCurrentApiKey() - Helpers de URL WebSocket para fluxos do ciclo de vida de trabalhos assíncronos, lotes e vídeos
client.batches.streamResults(batchId, { signal })para downloads JSONL da Anthropic em streaming- Tipos gerados para todos os objetos de solicitação e resposta
- Cobertura completa da API, incluindo conclusões de chat, modelos, créditos e muito mais
- Definições TypeScript para uma melhor experiência de desenvolvimento