Papers › Text2Sign: A Single-GPU Diffusion Baseline for Text-to-Sign Language Video Generation

Text2Sign: A Single-GPU Diffusion Baseline for Text-to-Sign Language Video Generation

14 Jul 2026arXiv:2607.13164added by Syntology

Ruize Xia

Title, abstract, authors and date from arXiv's metadata (CC0); this paper is not in the Papers with Code archive (frozen 2025-07-28).

Sign language is a primary communication channel for millions of Deaf and hard-of-hearing people, yet text-to-signer video generation remains costly because video diffusion models are expensive to train and evaluate. This paper presents Text2Sign, a text-conditioned diffusion model for short sign-language clips that runs on a single NVIDIA L4 GPU. It combines a frozen vision-language text encoder with a 3D encoder-decoder and factorized spatiotemporal attention to reduce the cost of full-video attention while preserving motion coherence. We compare convolution-only and transformer-style backbones, frozen pretrained and task-specific text encoders, and factorized versus full attention. On a signer-disjoint How2Sign split, the best short-run ablation reaches a validation loss of 0.0648, while a longer-run checkpoint reaches 0.00999. On a compact evaluation slice, the latter achieves an SSIM of 0.2403 ±0.0238, a PSNR of 15.11 ±0.42 dB, and temporal consistency of 1.0000 ±0.0000 using 8-step DDIM sampling with a guidance scale of 5.0. It generates a 32-frame, 64 ×64 clip in 12.60 seconds, or 2.54 frames per second, with peak inference memory of 3.12 GB. A held-out denoising audit shows only weak prompt sensitivity: removing text increases late-timestep loss from 0.9875 to 0.9891, while shuffled prompts perform similarly to correct prompts. Frozen text conditioning therefore improves short-budget validation loss, but prompt-specific separation remains limited. The system is restricted to low-resolution, short clips and lacks expert linguistic evaluation, so it should be viewed as a single-GPU research baseline rather than a complete sign-language production system. Code is available at https://github.com/xiaruize0911/text2sign.

PaperPDFCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2607.13164")

Code

Syntology Ran 21 of 28 code samples harvested from 1 repository linked to this paper; 7 have no recorded run. Of those that ran: 1 ran · our draft was wrong; 1 ran · fixture could not drive it; 19 ran with no contract checked.

By repository: found in paper text by Syntology: 28 samples from 1 repository, 21 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

xiaruize0911/text2sign found in paper text by Syntology report

Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

28 samples harvested; 21 ran; 0 honoured the contract we drafted; 7 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

1ran · our draft was wrong
1ran · fixture could not drive it
19ran
7unverified

Licence: 28 of the 28 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from xiaruize0911/text2sign. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

CrossAttention xiaruize0911/text2sign/pipeline.py found in paper text by Syntology ran fingerprinted no licence file found · pointer only · c3d09298e5fbcef2 · report
DDIMConfig xiaruize0911/text2sign/pipeline.py found in paper text by Syntology ran no licence file found · pointer only · b7266a423c86c5c5 · report
DDIMScheduler xiaruize0911/text2sign/pipeline.py found in paper text by Syntology ran no licence file found · pointer only · df87ada404ead7d5 · report
DiTBlock xiaruize0911/text2sign/pipeline.py found in paper text by Syntology ran no licence file found · pointer only · f79e19059f9a1e05 · report
Downsample3D xiaruize0911/text2sign/pipeline.py found in paper text by Syntology ran no licence file found · pointer only · 7632880aba0842ce · report
FeedForward xiaruize0911/text2sign/pipeline.py found in paper text by Syntology ran no licence file found · pointer only · 49fb7023a4f1d66f · report
FrozenCLIPTextEncoder xiaruize0911/text2sign/pipeline.py found in paper text by Syntology ran no licence file found · pointer only · fb953e8eaf20b156 · report
GenerationConfig xiaruize0911/text2sign/pipeline.py found in paper text by Syntology ran no licence file found · pointer only · d86ca65c98c1a798 · report
GroupNorm32 xiaruize0911/text2sign/pipeline.py found in paper text by Syntology ran fingerprinted no licence file found · pointer only · 6f9515960d0929d9 · report
ModelConfig xiaruize0911/text2sign/pipeline.py found in paper text by Syntology ran no licence file found · pointer only · aa21f782d7fadc7d · report
MultiHeadAttention xiaruize0911/text2sign/pipeline.py found in paper text by Syntology ran no licence file found · pointer only · 293f6bb9a3443b33 · report
PositionalEncoding xiaruize0911/text2sign/pipeline.py found in paper text by Syntology ran no licence file found · pointer only · f112df9abab4ed51 · report
SimpleTokenizer xiaruize0911/text2sign/pipeline.py found in paper text by Syntology ran no licence file found · pointer only · aaf27d6744bbb1d2 · report
SpatialAttention xiaruize0911/text2sign/pipeline.py found in paper text by Syntology ran no licence file found · pointer only · def041c465dd155a · report
TemporalAttention xiaruize0911/text2sign/pipeline.py found in paper text by Syntology ran no licence file found · pointer only · b300d58af9ea5706 · report
TemporalTransformerBlock xiaruize0911/text2sign/pipeline.py found in paper text by Syntology ran no licence file found · pointer only · cd46b04b9fbcc860 · report
TextEncoder xiaruize0911/text2sign/pipeline.py found in paper text by Syntology ran no licence file found · pointer only · dbcdfec270ed0b9f · report
TransformerEncoderLayer xiaruize0911/text2sign/pipeline.py found in paper text by Syntology ran fingerprinted no licence file found · pointer only · dc6f452194c57e32 · report
Upsample3D xiaruize0911/text2sign/pipeline.py found in paper text by Syntology ran no licence file found · pointer only · 02d05d8b9c20e293 · report
get_timestep_embedding xiaruize0911/text2sign/pipeline.py found in paper text by Syntology ran · fixture could not drive it fingerprinted no licence file found · pointer only · 0df386409ec75bec · report
pool_text_context xiaruize0911/text2sign/pipeline.py found in paper text by Syntology ran · our draft was wrong fingerprinted no licence file found · pointer only · 0c9143d6a0de98a9 · report
ResBlock3D xiaruize0911/text2sign/pipeline.py found in paper text by Syntology unverified no licence file found · pointer only · df119b217f395766 · report
SpatioTemporalTransformer xiaruize0911/text2sign/pipeline.py found in paper text by Syntology unverified no licence file found · pointer only · 063370d28cf9be5e · report
Text2SignPipeline xiaruize0911/text2sign/pipeline.py found in paper text by Syntology unverified no licence file found · pointer only · 1d837ca1af2e6b21 · report
TransformerBlock3D xiaruize0911/text2sign/pipeline.py found in paper text by Syntology unverified no licence file found · pointer only · 48efa0978d537929 · report
UNet3D xiaruize0911/text2sign/pipeline.py found in paper text by Syntology unverified no licence file found · pointer only · ec4ed5b955d48600 · report
create_text_encoder xiaruize0911/text2sign/pipeline.py found in paper text by Syntology unverified no licence file found · pointer only · 91307f53ae0fcded · report
load_state_dict_flexible xiaruize0911/text2sign/pipeline.py found in paper text by Syntology unverified no licence file found · pointer only · 1e32c2b74c14e832 · report

Results from the paper

The Papers with Code archive ends with its 2025-07-28 snapshot. This paper's arXiv identifier, 2607.13164, was issued in July 2026, after that date, so the archive has no leaderboard rows for it.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections