# General Translation Platform: uploadFonts
URL: https://generaltranslation.com/es/docs/platform/core/reference/gt-class-methods/translation/upload-fonts.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Carga recursos de fuentes persistentes para flujos de trabajo de traducción de Lottie. Referencia de la API de uploadFonts.

Carga fuentes TrueType u OpenType a través de un proyecto para que los trabajos de traducción de Lottie de la misma Organization puedan usarlas durante el procesamiento de diseño.

## Descripción general [#overview]

Llame a `uploadFonts` con recursos de fuentes codificados en Base64. El método divide las entradas grandes en lotes de 50 y devuelve los identificadores de los recursos almacenados.

```typescript
const result = await gt.uploadFonts(fonts, {
  timeout: 30000,
});
```

Firma:

```typescript
uploadFonts(
  fonts: AssetUpload[],
  options?: UploadAssetsOptions
): Promise<UploadAssetsResponse>
```

*Nota: `uploadFonts` requiere una `apiKey` (o `devApiKey`) y un `projectId` en la instancia de GT.*

## Cómo funciona [#how-it-works]

* El contenido de la fuente ya está codificado en Base64 cuando se pasa al método.
* Cada fuente debe tener un nombre de archivo `.ttf` u `.otf` y, al decodificarse, no superar los 20 MB.
* El proyecto determina qué Organization es propietaria de la fuente. Las fuentes cargadas se conservan para los trabajos de traducción de esa Organization.
* El servicio obtiene de los metadatos de la fuente la familia tipográfica, el peso y el estilo de cursiva, y recurre al nombre de archivo si es necesario. Volver a cargar una fuente con la misma identidad derivada reemplaza el recurso almacenado.
* Las entradas con más de 50 fuentes se cargan mediante varias solicitudes.

(Consulta [Cargar recursos del proyecto](/docs/platform/openapi/reference/project/upload-assets) para obtener información sobre el comportamiento de validación, identidad y reintentos).

## Parámetros [#parameters]

| Parámetro             | Descripción                                | Tipo                  | Opcional | Predeterminado |
| --------------------- | ------------------------------------------ | --------------------- | -------- | -------------- |
| [`fonts`](#fonts)     | Fuentes codificadas en Base64 para cargar. | `AssetUpload[]`       | No       | —              |
| [`options`](#options) | Configuración de la solicitud.             | `UploadAssetsOptions` | Sí       | `{}`           |

### `fonts` [#fonts]

**Tipo** `AssetUpload[]` · **Obligatorio**

| Campo       | Descripción                                      | Tipo     | Opcional |
| ----------- | ------------------------------------------------ | -------- | -------- |
| `assetType` | Tipo de recurso. Solo se admite `FONT`.          | `'FONT'` | No       |
| `content`   | Bytes de fuente codificados en Base64.           | `string` | No       |
| `fileName`  | Nombre de archivo con extensión `.ttf` o `.otf`. | `string` | No       |

### `options` [#options]

**Tipo** `UploadAssetsOptions` · **Opcional** · **Predeterminado** `{}`

| Campo     | Descripción                                       | Tipo     | Opcional |
| --------- | ------------------------------------------------- | -------- | -------- |
| `timeout` | Tiempo de espera de la solicitud en milisegundos. | `number` | Sí       |

## Devuelve [#returns]

**Tipo** `Promise<UploadAssetsResponse>`

Se resuelve con los identificadores de los recursos almacenados y el número de fuentes procesadas:

| Propiedad           | Descripción                                                          | Tipo              |
| ------------------- | -------------------------------------------------------------------- | ----------------- |
| `assets`            | Recursos de fuentes almacenados.                                     | `UploadedAsset[]` |
| `assets[].id`       | ID del recurso almacenado de Organization.                           | `string`          |
| `assets[].assetKey` | Identidad de fuente derivada con el formato `<family>-<weight>[-i]`. | `string`          |
| `assets[].fileName` | Nombre de archivo proporcionado durante la carga.                    | `string`          |
| `count`             | Número de fuentes procesadas.                                        | `number`          |

<Callout type="warn">
  **Incompatibilidad de tipos actual en v9.1.0:** `UploadedAsset` declara un booleano `deduped`, pero la respuesta del servicio no lo incluye. No uses ese campo para determinar si se reemplazó una fuente existente.
</Callout>

## Ejemplo [#example]

```typescript title="upload-fonts.ts"
import { readFile } from 'node:fs/promises';
import { GT } from 'generaltranslation';

const gt = new GT({
  apiKey: process.env.GT_API_KEY,
  projectId: process.env.GT_PROJECT_ID,
});

const content = (await readFile('./public/fonts/BrandSans.ttf')).toString(
  'base64'
);

const result = await gt.uploadFonts([
  {
    assetType: 'FONT',
    content,
    fileName: 'BrandSans.ttf',
  },
]);

console.log(result.assets[0].assetKey);
```

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
