Uso
npm i @front10/video-model-evaluator
yarn add @front10/video-model-evaluator
Variables de entorno requedidas:
Nombre | Descripción |
---|---|
OPEN_AI_API_KEY | Api key para la generación de texto de gpt3 |
UNSPLASH_CLIENT_ID | Api key para obtener medias de Unsplash |
PEXELS_API_KEY | Api key para obtener medias de Pexels |
CLOUDINARY_API_KEY | Api key para subir imagenes generadas por stability a cloudinary |
CLOUDINARY_API_SECRET | Secrect para subir imagenes generadas por stability a cloudinary |
WOXO_AWS_REGION | Para subir los audios generados a AWS, además para crear objetos DinamoDB, SNS y APIGateway |
WOXO_AWS_ACCESS_KEY | Para subir los audios generados a AWS, además para crear objetos DinamoDB, SNS y APIGateway |
WOXO_AWS_SECRET_KEY | Para subir los audios generados a AWS, además para crear objetos DinamoDB, SNS y APIGateway |
SOCKET_API_GATEWAY | Para crear un objeto APIGateway |
GOOGLE_APPLICATION_CREDENTIALS | Para crear los audios con google text to speech |
AZURE_SUBSCRIPTION_KEY | Para crear los audios con azure |
AZURE_SERVICE_REGION | Para crear los audios con azure |
Funciones:
evaluate
: Evalúa un modelo para convertilo en un video
import { evaluate } from "@front10/video-model-evaluator";
evaluate({
template: {
description:
"$TEXT('Description CTA from follow text:\n$USER_PROMPT\nCTA:')",
title: "$TEXT(CTA from follow text:\n$SUBJECT\nCTA:)",
width: "1080",
height: "1920",
outputVolume: 2,
keepSourceAudio: false,
audioTracks: [{ path: "$RANDOM('audios')" }],
customFonts: ["$RANDOM('fonts')"],
},
prompt: "What is Football",
language: "English",
});
getMedias
: Obtiene medias según un tema específico
import { getMedias } from "@front10/video-model-evaluator";
getMedias({
topic: "Andromeda galaxy", // Tema para obtener la imagen
total: 2, // Cantidad de imagenes
creator: ["pexels", "unsplash", "stability", "abstract"], // Arreglo de sources o null para obtenerlas de sources ramdoms
language: "English",
mediaType: "all", //Puede ser image o video, solo aplica para pexels
});
getAudios
: Obtiene un listado de audios de WOXO.
getFonts
: Obtiene un listado de fuentes de WOXO.
findLanguage
: Obtiene el lenguaje en el que está escrito un texto.
import { findLanguage } from "@front10/video-model-evaluator";
findLanguage("Hola Mundo"); // Devuelve Spanish
translate
: Traduce un texto de un idioma a otro.
import { translate } from "@front10/video-model-evaluator";
translate("Hello world", "Spanish"); // Devuelve: Hola Mundo
createText
: Crea un texto de un asunto específico.
import { createText } from "@front10/video-model-evaluator";
createText("Who is Elon Musk");
createAudio
: Crea el voice over desde un texto.
import { createAudio } from "@front10/video-model-evaluator";
createAudio("Elon Musk is the founder, CEO and chief engineer of SpaceX");
getTexts
: Obtiene todos los tipos de texto de woxo.
getAnimations
: Obtiene todas las animaciones de texto de woxo.
getPositions
: Obtiene las pociciones para el texto.
getColors
: Obtiene los colores para los textos.
logError
: Loguea los errors en la consola.
isArray
: Define si es un arreglo.
getRandom
: Obtiene un número random de un mínimo a un máximo.
isString
: Define si es un string.
isImage
: Define si es una imagen.
isVideo
: Define si es un video.
isObject
: Define si es un objeto.
clone
: Clona un objeto.
getTextDuration
: Obtiene la duración mínima del texto en segundos.
syncUpAudio
: Sincroniza los audios de voice over con los textos.
classify
: Clasifica un prompt en categorias.
Objetos:
s3
: Objeto AWS S3.
dynamo
: Objeto AWS DynamoDB.
sns
: Objeto AWS SNS.
apiGateway
: Objeto AWS API Gateway.
Variables
Obtiene el valor de variables globales.
Name | Description |
---|---|
SUBJECT |
Obtiene el sujeto del prompt escrito por el usuario |
USER_PROMPT |
Usa el prompt escrito por el usuario |
Ex:
$USER_PROMPT;
$RANDOM
(key)
Obtiene valoes randoms según el key especificado o un array
Key | Descripton |
---|---|
id |
Obtiene un ID |
audios |
Obtiene un audio random |
creators |
Obtiene un creador pexels , unsplash , stability o abstract
|
fonts |
Obtiene una fuente random |
texts |
Obtiene un typo de texto random |
animations |
Obtiene una animación random |
colors |
Obtiene un color random para el texto |
v-positions |
Obtiene una posición vertical random para el texto |
h-positions |
Obtiene una posición horizontal random para el texto |
Ex:
$RANDOM("audios");
$RANDOM("id");
$RANDOM("creators");
$TEXT
(text, options)
Busca en open AI el texto pasado por parámetros.
Params
Name | Description |
---|---|
text | Prompt to create a new text |
options | Options to gpt3 |
options.audio | Retrieve a audio from result text |
Ex:
$TEXT("What is Football:");
$TEXT("What is Football:", "audio:true");
$TEXT("Create a CTA with follow text $USER_PROMPT:");
$TEXT(
"Create a CTA with follow text $TEXT(`Create a subject from $USER_PROMPT:`):"
);
$MEDIA
(creator, prompt):
Genera una media según el creator establecido.
Params
Name | Description |
---|---|
creator | El source de la media. Puede ser pexels , unsplash , stability o abstract
|
prompt | Texto para la busqueda de la media |
Ex:
$MEDIA("pexels"); // Obtiene una media de pexels
$MEDIA($RANDOM(["pexels", "unsplash", "stability", "abstract"])); // Obtiene una media de cualquiera de los sources especificados en el arreglo
$MEDIA("stability", `$TEXT("Name of city in USA:")`);
$MEDIA("stability", `$SUBJECT`);
$PATH
(path)
Obtiene el valor desde el path del objeto del template
Ex:
$PATH("width");